From d243d3ab68462b59025611eab27feb60be5b161f Mon Sep 17 00:00:00 2001 From: Carlos Matos Date: Fri, 15 Nov 2024 09:58:50 -0500 Subject: [PATCH] feat(sdk): swagger updates for 2024-11-15 (#40) * chore: ignore generator version * feat(sdk): swagger updates for 2024-11-15 Including the most recent swagger updates --- .gitignore | 1 + .openapi-generator/VERSION | 1 - README.md | 1322 ++++++++++++- crimson-falcon.gemspec | 2 +- docs/ASPMApi.md | 1659 +++++++++++++++++ docs/ActionsAction.md | 34 + docs/ActionsActionResponse.md | 22 + docs/ActionsCreateActionRequest.md | 22 + docs/ActionsGetActionResponse.md | 22 + docs/ActivitiesActivity.md | 56 + docs/ActivitiesActivityExtField.md | 32 + docs/ActivitiesActivityExternalResponse.md | 22 + docs/Activity.md | 20 + docs/AlertsApi.md | 90 +- docs/AlertsContainerAlertsCountValue.md | 8 +- docs/AlertsContainerAlertsEntityResponse.md | 4 +- docs/ApiActionRespV1.md | 2 +- docs/ApiAuditEventDetailsResponseV1.md | 4 +- docs/ApiCertBasedExclusionCreateReqV1.md | 40 + docs/ApiCertBasedExclusionRespV1.md | 22 + docs/ApiCertBasedExclusionUpdateReqV1.md | 42 + docs/ApiCertBasedExclusionV1.md | 44 + docs/ApiCertBasedExclusionsCreateReqV1.md | 18 + docs/ApiCertBasedExclusionsUpdateReqV1.md | 18 + docs/ApiCertificateReqV1.md | 28 + docs/ApiCertificateV1.md | 28 + docs/ApiCertificatesResponseV1.md | 18 + docs/ApiCreateMigrationRequestV1.md | 24 + docs/ApiCreateMigrationResponseV1.md | 22 + docs/ApiCustomerSettingsResponseV1.md | 4 +- docs/ApiDeviceCountRespV1.md | 4 +- docs/ApiDevicesRanOnRespV1.md | 2 +- docs/ApiEntitiesResponse.md | 4 +- docs/ApiEvent.md | 26 + docs/ApiExecutionResultsResponse.md | 4 +- docs/ApiGetHostMigrationResponseV1.md | 22 + ...piGetMigrationDestinationsRequestBodyV1.md | 20 + docs/ApiGetMigrationDestinationsResponseV1.md | 22 + docs/ApiGetMigrationsResponseV1.md | 22 + docs/ApiHostMigration.md | 44 + docs/ApiHourlyAverageResponse.md | 22 + docs/ApiIndicatorQueryRespV1.md | 2 +- docs/ApiIndicatorRespV1.md | 2 +- docs/ApiIntegrationsApi.md | 225 +++ docs/ApiMFAResourceIDsResponse.md | 24 + docs/ApiMessageCenterActivityResponse.md | 4 +- ...piMessageCenterAttachmentUploadResponse.md | 4 +- docs/ApiMessageCenterCasesResponse.md | 4 +- docs/ApiMigrateHostsInfo.md | 22 + docs/ApiMigration.md | 40 + ...tionExposedDataRecordEntitiesResponseV1.md | 2 +- docs/ApiObjectMetadata.md | 2 + docs/ApiPatternsResponse.md | 4 +- docs/ApiPlatformsResponse.md | 4 +- docs/ApiPostEnrollmentDetailsResponse.md | 4 +- docs/ApiPostEnrollmentDetailsV4.md | 22 + docs/ApiProcessesRanOnRespV1.md | 2 +- docs/ApiResourceIDsResponse.md | 4 +- docs/ApiRespCertificatesV1.md | 22 + docs/ApiResponsePagination.md | 2 +- docs/ApiRuleGroupsResponse.md | 4 +- docs/ApiRuleTypesResponse.md | 4 +- docs/ApiRuleUpdateV2.md | 32 + docs/ApiRuleUpdatesRequestV2.md | 24 + docs/ApiRulesResponse.md | 4 +- docs/ApiSensorDetailsResponseSwagger.md | 4 +- docs/ApiTokenDetailsResponseV1.md | 4 +- docs/ApiUserMetadataResponse.md | 4 +- docs/ApiUserRoleIDsResponse.md | 4 +- docs/ApiUserRoleResponse.md | 4 +- docs/ApiValidationResponseV1.md | 4 +- docs/ApiWeeklyAverageResponse.md | 22 + docs/ApidomainQueryResponseV1.md | 2 + docs/ApidomainQueryResponseWrapperV1.md | 4 +- docs/ApidomainRepoViewListItemWrapperV1.md | 4 +- docs/ApidomainSavedSearchExecuteRequestV1.md | 14 +- docs/BasePolicyMembersRespV1.md | 4 +- docs/BinservapiMsaPutFileResponse.md | 4 +- docs/CertificateBasedExclusionsApi.md | 439 +++++ docs/ChangesChange.md | 6 +- docs/ChangesHighVolumeQueryResponse.md | 2 +- docs/ChangesHost.md | 4 +- docs/ChangesPermissionsMac.md | 28 + docs/ClientArchiveCreateResponseV1.md | 4 +- docs/ClientArchiveListFilesResponseV1.md | 4 +- docs/ClientDataIngestResponseWrapperV1.md | 4 +- docs/ClientExtractionCreateResponseV1.md | 4 +- docs/ClientExtractionListFilesResponseV1.md | 4 +- docs/ClientFQLStatement.md | 22 + docs/ClientJobStatus.md | 2 + docs/ClientSampleMetadataResponseV2.md | 4 +- docs/ClientSystemDefinitionCreateResponse.md | 4 +- docs/CloudConnectAwsApi.md | 2 +- docs/CloudSnapshotsApi.md | 359 +++- docs/CommonCountAsResource.md | 4 +- docs/CommonCountResponse.md | 8 +- docs/CommonCredentials.md | 18 + docs/CommonEntitiesResponse.md | 22 + docs/CommonGenericEntityResponseString.md | 4 +- docs/CommonRegistryCredentialsResponse.md | 22 + docs/ComplianceAssessmentsApi.md | 803 ++++++++ docs/ConfigurationAssessmentApi.md | 2 +- ...nfigurationAssessmentEvaluationLogicApi.md | 2 +- docs/ContainerAlertsApi.md | 2 +- docs/ContainerDetectionsApi.md | 2 +- docs/ContainerImagesApi.md | 254 ++- docs/ContainerPackagesApi.md | 2 +- docs/ContainerVulnerabilitiesApi.md | 30 +- docs/ContentchangesChangeContentsResponse.md | 22 + docs/ContentchangesContent.md | 20 + docs/ContentchangesContentDiff.md | 24 + docs/CoreEntitiesResponse.md | 4 +- docs/{ProvisionApi.md => CspgIacapiApi.md} | 26 +- docs/CspmRegistrationApi.md | 330 +++- docs/CustomIoaApi.md | 128 +- docs/CustomStorageApi.md | 500 ++++- ...55839303.md => CustomStorageObjectKeys.md} | 6 +- ...3191042536.md => CustomStorageResponse.md} | 6 +- docs/D4cRegistrationApi.md | 270 ++- docs/DatascannerApi.md | 222 +++ docs/DefaultApi.md | 455 +++++ docs/DefinitionsDefinitionEntitiesResponse.md | 4 +- docs/DefinitionsDefinitionExt.md | 38 +- docs/DefinitionsDefinitionExternalResponse.md | 4 +- docs/DefinitionsDefinitionImportResponse.md | 4 +- docs/DeliverySettingsApi.md | 144 ++ docs/DeploymentsEntityResponse.md | 22 + docs/Destination.md | 20 + docs/DestinationsMigrationDestination.md | 20 + docs/DetectionsApiAssessmentDetections.md | 8 +- docs/DetectionsApiCombinedDetections.md | 8 +- docs/DetectionsApiDetectionsBySeverity.md | 4 +- docs/DetectionsApiDetectionsByType.md | 4 +- docs/DetectionsApiDetectionsCount.md | 8 +- docs/DetectsApi.md | 2 +- ...etectsAlert.md => DetectsExternalAlert.md} | 90 +- docs/DetectsapiAggregatesResponse.md | 4 +- docs/DetectsapiAlertQueryResponse.md | 4 +- .../DetectsapiPostEntitiesAlertsV1Response.md | 22 - ...sapiPostEntitiesAlertsV1ResponseSwagger.md | 22 + .../DetectsapiPostEntitiesAlertsV2Response.md | 22 - ...sapiPostEntitiesAlertsV2ResponseSwagger.md | 22 + docs/DetectsapiResponseFields.md | 4 +- docs/DeviceControlPoliciesApi.md | 2 +- docs/DeviceControlRespV1.md | 4 +- docs/DeviceControlRespV2.md | 4 +- docs/DeviceDevice.md | 12 + docs/DeviceMappedDevicePolicies.md | 8 + docs/DeviceapiDeviceDetailsResponseSwagger.md | 4 +- docs/DeviceapiDeviceResponse.md | 2 +- docs/DeviceapiDeviceSwagger.md | 8 + docs/DeviceapiGroupsResponseV1.md | 4 +- docs/DeviceapiLoginHistoryResponseV1.md | 4 +- ...eviceapiNetworkAddressHistoryResponseV1.md | 4 +- docs/DeviceapiUpdateDeviceTagsSwaggerV1.md | 4 +- docs/DiscoverApi.md | 162 +- docs/DiscoverIotApi.md | 84 +- docs/DomainAPICombinedFindingsResponseV1.md | 2 +- docs/DomainAPIComplianceControlV1.md | 20 + docs/DomainAPIComplianceMappingV1.md | 22 + docs/DomainAPIEntityMatchedV1.md | 22 - docs/DomainAPIError.md | 12 +- ...ainAPIEvaluationLogicEntitiesResponseV1.md | 4 +- docs/DomainAPIEvaluationLogicHostInfoV1.md | 18 - docs/DomainAPIEvaluationLogicItemV1.md | 4 +- docs/DomainAPIEvaluationLogicV1.md | 20 +- docs/DomainAPIFindingRuleV1.md | 2 + docs/DomainAPIHostInfoFacetV1.md | 2 + docs/DomainAPIRemediationInfo.md | 22 + docs/DomainAPIRemediationV2.md | 4 + docs/DomainAPIRuleDetailsResponseV1.md | 4 +- docs/DomainAPIRuleDetailsV1.md | 2 + docs/DomainAPIVulnerabilityAppV2.md | 4 +- ...DomainAPIVulnerabilityCVEDetailsFacetV2.md | 2 + docs/DomainAPIVulnerabilityExtendedAppV2.md | 8 +- docs/DomainAPIVulnerabilityHostFacetV2.md | 6 + docs/DomainAPIVulnerabilityServiceV2.md | 22 + docs/DomainAPIVulnerabilityV2.md | 4 + docs/DomainAWSAccountResourceMetadata.md | 30 + docs/DomainAWSAccountV2.md | 10 + docs/DomainAWSInventoryFilterSetting.md | 22 + docs/DomainActionEntitiesResponseV1.md | 2 +- docs/DomainActorDocument.md | 22 +- docs/DomainActorsResponse.md | 4 +- ...mainAggregateClusterAssessmentsResponse.md | 22 + ...egateFailedAssetCountBySeverityResponse.md | 22 + ...ainAggregateFailedAssetsByRulesResponse.md | 22 + ...nAggregateFailedRulesByClustersResponse.md | 22 + ...ainAggregateFailedRulesByImagesResponse.md | 22 + ...egateFailedRulesCountBySeverityResponse.md | 22 + ...DomainAggregateImageAssessmentsResponse.md | 22 + ...DomainAggregateRulesAssessmentsResponse.md | 22 + docs/DomainAggregateRulesByStatusResponse.md | 22 + docs/DomainAggregatesResponse.md | 2 +- docs/DomainAssessmentPaging.md | 24 + docs/DomainAssessmentsByScoreResponse.md | 2 +- docs/DomainAssessmentsResponse.md | 2 +- docs/DomainAuditResponse.md | 2 +- docs/DomainBaseAPIVulnerabilityV2.md | 4 + docs/DomainBatchGetCmdStatusResponse.md | 4 +- docs/DomainBatchGetCommandResponse.md | 4 +- docs/DomainBatchInitSessionResponse.md | 4 +- docs/DomainBatchRefreshSessionResponse.md | 4 +- docs/DomainBehavior.md | 2 + docs/DomainBotnetConfigSource.md | 32 - docs/DomainBotnetInject.md | 20 - docs/DomainCIDGroupMembersResponseV1.md | 4 +- docs/DomainCIDGroupsResponseV1.md | 4 +- ...inCISAKnownExploitedVulnerabilitiesInfo.md | 20 + docs/DomainCPSRating.md | 26 + docs/DomainCPSRatingHistoryEntry.md | 20 + docs/DomainCPSRatingIndicator.md | 22 + docs/DomainCVE.md | 66 + docs/DomainCVEExploit.md | 24 + docs/DomainCVEExploitReference.md | 22 + docs/DomainCVEExploitSource.md | 24 + docs/DomainCVSSv2.md | 26 + docs/DomainCVSSv3.md | 42 + docs/DomainCaseCreationRequestV2.md | 4 + docs/DomainCipher.md | 22 + docs/DomainCloudAWSAccountV1.md | 64 + docs/DomainCloudCondition.md | 32 + docs/DomainCommandExecuteResponseWrapper.md | 4 +- docs/DomainCompliance.md | 26 + ...lianceFindingsGroupedByImagesWithScroll.md | 20 + docs/DomainCondition.md | 4 + docs/DomainConfigV1.md | 26 + docs/DomainConfigsV1.md | 22 + docs/DomainContentPackage.md | 18 + docs/DomainControl.md | 28 + docs/DomainControlBenchmark.md | 20 + docs/DomainCreateSubmissionV1ErrorResponse.md | 22 + docs/DomainCredentials.md | 8 +- docs/DomainDDOSAttackSource.md | 42 - docs/DomainDDOSTargetDetails.md | 36 - docs/DomainDenormalizedAdversaryReference.md | 22 + docs/DomainDenormalizedCountry.md | 20 + docs/DomainDenormalizedCustomerTarget.md | 18 + docs/DomainDenormalizedReportReference.md | 22 + docs/DomainDenormalizedSector.md | 20 + docs/DomainDenormalizedThreatReference.md | 20 + docs/DomainDenormalizedThreatUsedMitre.md | 30 + docs/DomainDevice.md | 4 +- docs/DomainDiscoverAPIAccount.md | 4 +- ...omainDiscoverAPIAccountEntitiesResponse.md | 4 +- docs/DomainDiscoverAPIApplication.md | 4 + ...nDiscoverAPIApplicationBrowserExtension.md | 32 + ...ApplicationBrowserExtensionInstallation.md | 34 + ...nDiscoverAPIApplicationEntitiesResponse.md | 4 +- ...DiscoverAPICombinedApplicationsResponse.md | 22 + .../DomainDiscoverAPICombinedHostsResponse.md | 22 + docs/DomainDiscoverAPIHost.md | 52 +- docs/DomainDiscoverAPIHostEntitiesResponse.md | 4 +- docs/DomainDiscoverAPIIoTHost.md | 198 +- ...omainDiscoverAPIIoTHostEntitiesResponse.md | 4 +- docs/DomainDiscoverAPIIoTHostTriage.md | 28 + docs/DomainDiscoverAPILogin.md | 2 +- .../DomainDiscoverAPILoginEntitiesResponse.md | 4 +- ...taInfo.md => DomainDiscoverAPIMetaInfo.md} | 6 +- ...ecPaging.md => DomainDiscoverAPIPaging.md} | 8 +- docs/DomainDiscoverAPIResponse.md | 22 + docs/DomainDiscoverParams.md | 2 + docs/DomainEntity.md | 24 - docs/DomainErrorsOnly.md | 2 +- docs/DomainEvent.md | 44 - docs/DomainEventEntitiesResponse.md | 22 - docs/DomainExecuteCommandRequestV1.md | 18 + docs/DomainExecuteCommandResultV1.md | 26 + docs/DomainExecuteCommandResultsV1.md | 22 + docs/DomainExecuteCommandV1.md | 30 + docs/DomainExecutionMetadataSummary.md | 2 + docs/DomainExecutionMetadataV1.md | 2 + docs/DomainExportJobEntitiesResponseV1.md | 2 +- docs/DomainExportJobIDResponseV1.md | 2 +- docs/DomainExternalAssetAPIDeleteRequestV1.md | 18 + docs/DomainExternalAssetAPIPatchRequestV1.md | 18 + docs/DomainExternalAssetApplication.md | 26 + docs/DomainExternalAssetCertificate.md | 36 + ...ternalAssetCertificateEntityIdentifiers.md | 48 + docs/DomainExternalAssetCloudVM.md | 40 + .../DomainExternalAssetDiscoveryAttributes.md | 20 + ...ainExternalAssetDiscoveryPathAttributes.md | 18 + ...ainExternalAssetDiscoveryStepAttributes.md | 26 + ...DomainExternalAssetGeographicalLocation.md | 34 + docs/DomainExternalAssetHTTPAttributes.md | 26 + ...mainExternalAssetRedirectStepAttributes.md | 24 + docs/DomainExternalAssetSSLRecord.md | 32 + docs/DomainExternalAssetService.md | 52 + docs/DomainExternalAssetServiceBlobsLinks.md | 24 + docs/DomainExternalAssetSubsidiary.md | 20 + docs/DomainExternalAssetsAPIPatch.md | 26 + docs/DomainExternalAssetsAPITriage.md | 28 + docs/DomainExternalAssetsAPITriagePatch.md | 24 + docs/DomainExternalAssetsAPITypeV1.md | 22 + docs/DomainExternalAssetsBlobAPITypeV1.md | 22 + docs/DomainExternalExportJob.md | 28 + docs/DomainExternalQueryResponse.md | 4 +- docs/DomainExternalRegistryListResponse.md | 4 +- docs/DomainExternalRegistryResponse.md | 4 +- docs/DomainFeaturePermission.md | 20 + docs/DomainFeatureStatus.md | 20 + docs/DomainFemDNSDomain.md | 28 + ...emEcosystemSubsidiariesEntitiesResponse.md | 20 + docs/DomainFemEcosystemSubsidiariesMeta.md | 20 + ...inFemEcosystemSubsidiariesQueryResponse.md | 20 + ...nFemEcosystemSubsidiariesResponseFields.md | 20 + docs/DomainFemEcosystemSubsidiary.md | 34 + docs/DomainFemExternalAsset.md | 62 + docs/DomainFemExternalIP.md | 36 + docs/DomainGCPAccountV1.md | 4 + docs/DomainGeoPoint.md | 20 + docs/DomainIncident.md | 2 + docs/DomainInitResponse.md | 4 + docs/DomainInitResponseWrapper.md | 4 +- docs/DomainItemDetailsV1.md | 40 +- docs/DomainLaunchExportJobResponseV1.md | 2 +- docs/DomainListFilesResponseWrapper.md | 4 +- docs/DomainListFilesV2ResponseWrapper.md | 4 +- docs/DomainListSessionsResponseMsa.md | 4 +- docs/DomainMSSPRoleResponseV1.md | 4 +- docs/DomainMalwareDocument.md | 118 ++ docs/DomainMalwareEnvironmentAggregates.md | 22 + docs/DomainMalwareResponse.md | 22 + docs/DomainMarketplaceCredentials.md | 22 + docs/DomainMarketplaceProduct.md | 2 +- docs/DomainMatchedRule.md | 22 - docs/DomainMetaInfo.md | 8 +- docs/DomainMsaDetectSummariesResponse.md | 4 +- docs/DomainMsaEnvironmentScoreResponse.md | 4 +- docs/DomainMsaExternalBehaviorResponse.md | 4 +- docs/DomainMsaExternalIncidentResponse.md | 4 +- .../DomainMsaIncidentPerformActionResponse.md | 4 +- docs/DomainMsaIncidentQueryResponse.md | 4 +- docs/DomainMsaMetaInfo.md | 20 + docs/DomainMsaQfResponse.md | 4 +- ...omainMultiCommandExecuteResponseWrapper.md | 4 +- docs/DomainMultiPulseSensorResponse.md | 2 +- docs/DomainMultiStatusSensorResponse.md | 2 +- docs/DomainNewsDocument.md | 18 +- docs/DomainNewsResponse.md | 4 +- docs/DomainNotificationDetailsResponseV1.md | 2 +- docs/DomainNotificationEntitiesResponseV1.md | 2 +- docs/DomainNotificationIDResponse.md | 2 +- docs/DomainNotificationV1.md | 6 + docs/DomainPastebinTextSource.md | 26 - docs/DomainPlatform.md | 6 +- docs/DomainPolicyInfo.md | 12 + docs/DomainProductFeatures.md | 20 + docs/DomainProductFeaturesStatus.md | 20 + docs/DomainProductPermission.md | 20 + docs/DomainPublicIndicatorsV3Response.md | 4 +- docs/DomainQueryMitreAttacksResponse.md | 4 +- docs/DomainQueryResponse.md | 4 +- docs/DomainQueuedSessionResponseWrapper.md | 4 +- docs/DomainReference.md | 20 + docs/DomainRegistryCredentialsResponse.md | 4 +- docs/DomainReportExecutionSummaryV1.md | 2 + docs/DomainReportExecutionV1.md | 2 + docs/DomainReportExecutionsResponseV1.md | 4 +- docs/DomainReportParams.md | 6 +- docs/DomainRequest.md | 18 + docs/DomainRuleEntitiesResponse.md | 22 - docs/DomainRuleMetaInfo.md | 2 +- docs/DomainRulesResponse.md | 4 +- ...ainSPAPICombinedVulnerabilitiesResponse.md | 2 +- ...nSPAPIEvaluationLogicCombinedResponseV1.md | 2 +- ...nSPAPIEvaluationLogicEntitiesResponseV1.md | 2 +- docs/DomainSPAPIQueryResponse.md | 2 +- ...omainSPAPIRemediationEntitiesResponseV2.md | 4 +- ...nSPAPIVulnerabilitiesEntitiesResponseV2.md | 2 +- docs/DomainScan.md | 4 +- docs/DomainScanMetadata.md | 2 + docs/DomainScanV2.md | 2 - docs/DomainSchedule.md | 12 +- docs/DomainScheduledReportV1.md | 2 + docs/DomainScheduledReportsResultV1.md | 4 +- docs/DomainSensorInstallerV2.md | 42 + docs/DomainSensorInstallersV1.md | 4 +- docs/DomainSensorInstallersV2.md | 22 + docs/DomainSessionResponseWrapper.md | 4 +- docs/DomainSimpleActor.md | 2 +- docs/DomainSpotlightParams.md | 22 + docs/DomainStatusResponseWrapper.md | 4 +- docs/DomainTweetSource.md | 26 - docs/DomainUpdateRuleRequestV1.md | 2 + docs/DomainUser.md | 12 +- docs/DomainUserGroupMembersResponseV1.md | 4 +- docs/DomainUserGroupsResponseV1.md | 4 +- docs/DomainUserMetadata.md | 2 + docs/DomainVuln.md | 18 + docs/DomainVulnerability.md | 34 +- docs/DomainVulnerabilityActor.md | 20 - docs/DomainVulnerabilityAffectedProduct.md | 20 - docs/DomainVulnerabilityRelatedThreat.md | 20 - docs/DomainVulnerabilityReport.md | 20 - docs/DomainVulnerabilityResponse.md | 4 +- docs/DomainXDRParams.md | 8 + docs/DownloadsApiApi.md | 161 ++ docs/DriftIndicatorsApi.md | 2 +- docs/DriftindicatorsDriftEntityResponse.md | 4 +- ...riftindicatorsDriftIndicatorsCountValue.md | 8 +- ...riftindicatorsDriftIndicatorsFieldValue.md | 8 +- docs/EmpowerapiMsaFalconScriptResponse.md | 4 +- docs/EmpowerapiMsaIDListResponse.md | 4 +- docs/EmpowerapiMsaPFResponseV1.md | 4 +- docs/EmpowerapiMsaPFResponseV2.md | 4 +- docs/EntitiesODSScanHostResponse.md | 4 +- docs/EntitiesODSScanMaliciousFileResponse.md | 4 +- docs/EntitiesODSScanRequest.md | 2 - docs/EntitiesODSScanResponse.md | 4 +- docs/EntitiesODSScanResponseV2.md | 4 +- docs/EntitiesODSScheduleScanResponse.md | 4 +- docs/EntitiesRollingAverage.md | 36 + docs/EventSchemaApi.md | 2 +- docs/EventStreamsApi.md | 2 +- docs/ExclusionsRespV1.md | 4 +- docs/ExecutionsExecutionResult.md | 4 + docs/ExecutionsLoopResult.md | 2 + docs/ExecutionsTriggerResult.md | 2 +- docs/ExportsExportsResponse.md | 22 + docs/ExportsLaunchExportRequest.md | 24 + docs/ExportsLaunchExportResponse.md | 22 + docs/ExposureManagementApi.md | 747 ++++++++ docs/FalconCompleteDashboardApi.md | 136 +- docs/FalconContainerApi.md | 2 +- docs/FalconContainerCliApi.md | 2 +- docs/FalconContainerImageApi.md | 284 ++- docs/FalconxErrorsOnly.md | 4 +- docs/FalconxMetaInfo.md | 2 +- docs/FalconxQueryResponse.md | 2 +- docs/FalconxReportV1.md | 4 + docs/FalconxReportV1Response.md | 2 +- docs/FalconxSandboxApi.md | 36 +- docs/FalconxSandboxParametersV1.md | 2 + docs/FalconxSandboxReportV1.md | 2 + docs/FalconxSubmissionV1Response.md | 2 +- docs/FalconxSummaryReportV1.md | 2 + docs/FalconxSummaryReportV1Response.md | 2 +- docs/FieldSchemaApi.md | 2 +- docs/FielddataFieldSource.md | 26 + docs/FielddataFieldSourceOption.md | 20 + docs/FilevantageApi.md | 448 ++++- docs/FirewallManagementApi.md | 74 +- docs/FirewallPoliciesApi.md | 2 +- docs/FirewallRespV1.md | 4 +- docs/FlightcontrolapiGetRolesResponse.md | 4 +- docs/FlightcontrolapiUserGrantResponse.md | 4 +- docs/FlightcontrolapiUserResponse.md | 4 +- docs/FoundryLogscaleApi.md | 170 +- docs/FwmgrMsaAggregateQueryRequest.md | 2 + docs/FwmgrMsaExtendedBoundsSpec.md | 20 + docs/GraphCondition.md | 2 + docs/GraphConfiguredActivity.md | 2 + docs/GraphEnd.md | 6 +- docs/GraphMulti.md | 8 +- docs/GraphSubModel.md | 6 +- docs/GraphValidationError.md | 6 +- docs/HandleApi.md | 76 + docs/HostGroupApi.md | 2 +- docs/HostGroupsMembersRespV1.md | 4 +- docs/HostGroupsRespV1.md | 4 +- docs/HostMigrationApi.md | 747 ++++++++ docs/HostsApi.md | 10 +- docs/HumioAuthProxyApi.md | 507 +++++ docs/IdentityEntitiesApi.md | 2 +- docs/IdentityProtectionApi.md | 292 ++- docs/ImageAssessmentPoliciesApi.md | 2 +- docs/ImagesApiCombinedImageExport.md | 4 +- docs/ImagesApiCustomerAndImage.md | 4 +- docs/ImagesApiImageAssessmentHistory.md | 4 +- docs/ImagesApiImageByVulnerabilityCount.md | 4 +- docs/ImagesApiImageCount.md | 4 +- docs/ImagesApiImageCountByBaseOS.md | 4 +- docs/ImagesApiImageCountByState.md | 4 +- docs/ImagesApiImageIssuesSummary.md | 4 +- docs/ImagesApiImageVulnerabilitiesSummary.md | 4 +- docs/ImagesExtCombinedImagesResponse.md | 4 +- docs/IncidentsApi.md | 2 +- docs/InstallationTokensApi.md | 2 +- docs/InstallationTokensSettingsApi.md | 2 +- docs/IntelApi.md | 348 +++- docs/InternalSensorStatus.md | 2 + docs/IoaExclusionsApi.md | 10 +- docs/IoaExclusionsIoaExclusionsRespV1.md | 4 +- docs/IocApi.md | 2 +- docs/IocapiMsaReplyDevicesRanOn.md | 2 +- docs/IocapiMsaReplyIOCDevicesCount.md | 2 +- docs/IocapiMsaReplyProcessesRanOn.md | 2 +- docs/IocsApi.md | 2 +- docs/JsonschemaConditionGroupFields.md | 2 + ...luePair.md => JsonschemaDurationOption.md} | 4 +- docs/JsonschemaSubSchema.md | 4 + docs/JsonschemaUIExtensions.md | 28 + docs/JsonschemaWorkflowExtensions.md | 2 + docs/K8sassetsClusterEnrichmentData.md | 2 + docs/K8sassetsClusterEnrichmentResponse.md | 4 +- docs/K8sassetsContainerEnrichmentResponse.md | 4 +- docs/K8sassetsDeploymentEnrichmentResponse.md | 4 +- docs/K8sassetsNodeEnrichmentResponse.md | 4 +- docs/K8sassetsPodEnrichmentResponse.md | 4 +- docs/K8siomsKubernetesIOMCountValue.md | 8 +- docs/K8siomsKubernetesIOMEntityResponse.md | 4 +- docs/K8siomsKubernetesIOMFieldValue.md | 8 +- docs/K8sregCreateAWSAccResp.md | 4 +- docs/K8sregGetAWSAccountsResp.md | 4 +- docs/K8sregGetAzureBashScriptResp.md | 4 +- docs/K8sregGetAzureSubscriptionsResp.md | 4 +- docs/K8sregGetAzureTenantConfigResp.md | 4 +- docs/K8sregGetAzureTenantInfoResp.md | 4 +- docs/K8sregGetClustersResp.md | 4 +- docs/K8sregGetLocationsResp.md | 4 +- docs/K8sregGetScriptsResp.md | 4 +- docs/K8sregListClusterCloudResp.md | 4 +- docs/K8sregRegenAPIKeyResp.md | 4 +- docs/KubernetesProtectionApi.md | 267 ++- docs/MainDiscoveryResponseV2.md | 4 +- docs/MalqueryApi.md | 2 +- docs/MalqueryFuzzySearchMetaInfo.md | 2 +- docs/MalqueryQueryMetaInfo.md | 2 +- docs/MalqueryRateLimitsResponse.md | 2 +- docs/MalqueryRequestMetaInfo.md | 2 +- docs/MalquerySamplesMetadataMetaInfo.md | 2 +- docs/MessageCenterApi.md | 6 +- docs/MessagesCase.md | 6 + docs/MlExclusionsApi.md | 2 +- docs/MlscannerapiMetaInfo.md | 2 +- docs/MlscannerapiQueryResponse.md | 2 +- docs/MlscannerapiScanV1Response.md | 2 +- docs/MobileEnrollmentApi.md | 78 +- docs/ModelUserInputReadResponse.md | 4 +- docs/ModelsAPICustomerAndImage.md | 12 +- docs/ModelsAPIImageCombinedExport.md | 6 + docs/ModelsAWSAccountsV1.md | 4 +- docs/ModelsAccountStatusResponse.md | 4 +- docs/ModelsAggregateValuesByFieldResponse.md | 4 +- docs/ModelsApplicationPackageInfoType.md | 2 +- docs/ModelsBaseImageRequest.md | 26 + docs/ModelsBaseResponseV1.md | 4 +- docs/ModelsCluster.md | 6 + docs/ModelsClusterEntityResponse.md | 4 +- docs/ModelsClusterInfo.md | 28 + docs/ModelsClusterWithFailedRules.md | 28 + docs/ModelsComplianceByRules.md | 22 + ...ComplianceExportGroupedByClustersReport.md | 46 + ...lsComplianceExportGroupedByImagesReport.md | 38 + ...elsComplianceExportGroupedByRulesReport.md | 42 + docs/ModelsContainer.md | 142 +- docs/ModelsContainerCoverageResponseEntity.md | 4 +- docs/ModelsContainerEntityResponse.md | 4 +- docs/ModelsContainerImage.md | 2 + docs/ModelsContainerRuntimePivotResponse.md | 4 +- docs/ModelsCreateBaseImagesRequest.md | 18 + docs/ModelsCreateDeploymentInput.md | 18 + docs/ModelsCustomerConfigurationsV1.md | 4 +- docs/ModelsDeliverySettings.md | 42 + docs/ModelsDeliverySettingsEntityResponse.md | 22 + docs/ModelsDeliverySettingsInput.md | 20 + docs/ModelsDeliverySettingsRequest.md | 18 + docs/ModelsDeployment.md | 74 +- docs/ModelsDeploymentEntityResponse.md | 4 +- docs/ModelsDeploymentResource.md | 24 + docs/ModelsDetection.md | 36 + docs/ModelsDetectionEngineInfoType.md | 22 + docs/ModelsDetectionInfoType.md | 18 + docs/ModelsELFBinary.md | 24 + docs/ModelsExtAPIImageCombined.md | 2 + docs/ModelsImageDetails.md | 24 + docs/ModelsImageWithRulesFailed.md | 32 + docs/ModelsImagesWithRulesFailed.md | 20 + docs/ModelsJobMetaData.md | 32 + docs/ModelsMockExecutionCreateRequestV1.md | 22 + docs/ModelsNode.md | 8 + docs/ModelsNodeEntityResponse.md | 4 +- docs/ModelsNonCompliantAssetsBySeverity.md | 26 + docs/ModelsOSInfoType.md | 20 + docs/ModelsPackageVulnerabilityType.md | 18 + docs/ModelsPod.md | 8 + docs/ModelsPodEntityResponse.md | 4 +- docs/ModelsPolicyEntityResponse.md | 8 +- docs/ModelsPolicyExclusionEntityResponse.md | 8 +- docs/ModelsPolicyGroupEntityResponse.md | 8 +- docs/ModelsRegistryCredentialsResponse.md | 4 +- docs/ModelsRuleStatus.md | 22 + docs/ModelsRuleWithNonCompliantAssets.md | 24 + docs/ModelsRulesFailedBySeverity.md | 24 + docs/ModelsRulesWithNonCompliantAssets.md | 20 + docs/ModelsScanReportType.md | 32 + docs/ModelsScanResults.md | 24 + docs/ModelsSnapshotInventoryApplication.md | 34 + docs/ModelsVerifyAccessResponseV1.md | 4 +- docs/ModelsVulnerabilitiesType.md | 18 + docs/ModelsVulnerabilityProduct.md | 38 + docs/ModelsVulnerabilityType.md | 30 + docs/MsaAggregateQueryRequest.md | 2 + docs/MsaAggregatesResponse.md | 4 +- docs/MsaBaseEntitiesResponse.md | 4 +- docs/MsaEntitiesResponse.md | 4 +- docs/MsaEntityActionRequestV3.md | 22 + docs/MsaErrorsOnly.md | 4 +- docs/MsaExtendedBoundsSpec.md | 20 + docs/MsaFacetsResponse.md | 4 +- docs/MsaQueryResponse.md | 4 +- docs/MsaReplyAffectedEntities.md | 4 +- docs/MsaspecError.md | 22 - docs/MsaspecQueryResponse.md | 4 +- docs/MsaspecResponseFields.md | 4 +- docs/MsspApi.md | 2 +- docs/Oauth2Api.md | 14 +- docs/OdsApi.md | 6 +- docs/OverwatchDashboardApi.md | 2 +- docs/PackagesApiCombinedPackage.md | 4 +- docs/PackagesApiCombinedPackageExport.md | 4 +- docs/PackagesApiPackagesByVulnCount.md | 4 +- docs/ParameterActivityConfigParameterValue.md | 2 + docs/ParameterConditionFieldParameter.md | 2 + ...rameterConditionFieldProvisionParameter.md | 2 + docs/PatterndispositionPatternDisposition.md | 12 + docs/PoliciesDeleteResponse.md | 4 +- docs/PoliciesPolicy.md | 2 + docs/PoliciesPrecedenceResponse.md | 4 +- docs/PoliciesResponse.md | 4 +- docs/PreventionPoliciesApi.md | 2 +- docs/PreventionRespV1.md | 4 +- docs/ProcessesapiMsaProcessDetailResponse.md | 4 +- ...esponse.md => PublicGetChangesResponse.md} | 8 +- docs/QuarantineApi.md | 2 +- docs/QuickScanApi.md | 20 +- docs/QuickScanProApi.md | 439 +++++ docs/QuickscanproDeleteFileResponse.md | 22 + docs/QuickscanproFileResult.md | 24 + docs/QuickscanproFileUploadResource.md | 20 + docs/QuickscanproFileUploadResponse.md | 24 + docs/QuickscanproGetScanResultResource.md | 22 + docs/QuickscanproGetScanResultResponse.md | 22 + docs/QuickscanproLaunchScanRequest.md | 18 + docs/QuickscanproLaunchScanRequestResource.md | 18 + docs/QuickscanproLaunchScanResource.md | 22 + docs/QuickscanproLaunchScanResponse.md | 24 + docs/QuickscanproMITREAttack.md | 30 + docs/QuickscanproMITREAttackParent.md | 22 + docs/QuickscanproQueryScanResultsResponse.md | 22 + docs/QuickscanproQuotaResource.md | 22 + docs/QuickscanproScanMetadata.md | 24 + docs/QuickscanproScanResult.md | 30 + docs/QuickscanproURLResult.md | 22 + docs/RealTimeResponseAdminApi.md | 10 +- docs/RealTimeResponseApi.md | 26 +- docs/RealTimeResponseAuditApi.md | 2 +- docs/ReconApi.md | 32 +- docs/RegistrationAWSAccountExtV2.md | 6 + docs/RegistrationAWSAccountPatch.md | 8 +- docs/RegistrationAWSAccountResponseV2.md | 4 +- docs/RegistrationAWSConsoleURLResponseV2.md | 22 + ...nAWSProvisionGetAccountScriptResponseV2.md | 4 +- docs/RegistrationAzureAccountResponseV1.md | 4 +- ...ationAzureDownloadCertificateResponseV1.md | 4 +- ...istrationAzureManagementGroupResponseV1.md | 4 +- ...onAzureProvisionGetUserScriptResponseV1.md | 4 +- ...ationAzureTenantConfigurationResponseV1.md | 4 +- ...reTenantDefaultSubscriptionIDResponseV1.md | 4 +- docs/RegistrationAzureTenantIDsResponseV1.md | 4 +- docs/RegistrationExternalIOAEventResponse.md | 2 +- docs/RegistrationExternalIOMEventResponse.md | 2 +- .../RegistrationExternalIOMEventResponseV2.md | 4 +- docs/RegistrationGCPAccountPatchRequest.md | 18 - docs/RegistrationGCPAccountPatchRequestV1.md | 18 + docs/RegistrationGCPAccountPatchV1.md | 22 + docs/RegistrationGCPAccountReqObjV2.md | 2 + docs/RegistrationGCPAccountResponseExtV2.md | 4 +- docs/RegistrationGCPAccountResponseV1.md | 4 +- docs/RegistrationGCPAccountRspObjV2.md | 2 + docs/RegistrationGCPAccountValidatedV1.md | 28 + ...gistrationGCPAccountValidationReqObjV1.md} | 6 +- ...gistrationGCPAccountValidationRequestV1.md | 18 + ...istrationGCPAccountValidationResponseV1.md | 22 + ...tionGCPProvisionGetUserScriptResponseV1.md | 4 +- docs/RegistrationGCPServiceAccountExtV1.md | 2 + ...strationGCPServiceAccountPatchRequestV1.md | 18 + docs/RegistrationGCPServiceAccountPatchV1.md | 30 + ...istrationGCPServiceAccountResponseExtV1.md | 4 +- ...GCPServiceAccountValidationRequestObjV1.md | 30 + ...ionGCPServiceAccountValidationRequestV1.md | 18 + ...onGCPServiceAccountValidationResponseV1.md | 22 + docs/RegistrationIOMEventIDsResponseV2.md | 2 +- docs/RegistrationMSAMetaInfoExtension.md | 2 +- docs/RegistrationMSAPagingExtension.md | 2 +- docs/RegistrationPolicyResponseV1.md | 4 +- docs/RegistrationPolicySettingsResponseV1.md | 4 +- docs/RegistrationScanScheduleResponseV1.md | 4 +- docs/RegistrationStaticScriptsResponse.md | 4 +- docs/RemoteResponseRespV1.md | 4 +- docs/ReportExecutionsApi.md | 20 +- docs/ResponsePoliciesApi.md | 2 +- docs/RestAWSAccountCreateRequestExtv1.md | 18 + docs/RestAWSAccountCreateResponseExtV1.md | 22 + docs/RestAWSAccountValidated.md | 24 + docs/RestAWSAccountValidationResponse.md | 22 + docs/RestAccountProductUpsertRequestExtV1.md | 20 + docs/RestCloudAWSAccountCreateExtV1.md | 28 + docs/RulegroupsDeleteResponse.md | 4 +- docs/RulegroupsResponse.md | 4 +- docs/RulegroupsRule.md | 4 + docs/RulegroupsRulesResponse.md | 4 +- docs/RuntimeDetectionsApi.md | 2 +- ...ntimedetectionsDetectionsEntityResponse.md | 4 +- docs/SadomainCreateRuleRequestV1.md | 8 +- docs/SadomainRule.md | 10 + docs/SadomainTyposquattingComponent.md | 2 + docs/SadomainTyposquattingSubdomain.md | 28 + docs/SampleUploadsApi.md | 2 +- docs/ScanreportsEntitiesResponse.md | 22 + docs/ScheduledReportsApi.md | 2 +- docs/ScheduledexclusionsResponse.md | 4 +- docs/SchemaSensorEventResponseV1.md | 4 +- docs/SchemaSensorFieldResponseV1.md | 4 +- docs/SensorDownloadApi.md | 306 ++- docs/SensorUpdateBuildsRespV1.md | 4 +- docs/SensorUpdateKernelsRespV1.md | 4 +- docs/SensorUpdatePoliciesApi.md | 4 +- docs/SensorUpdateRespV1.md | 4 +- docs/SensorUpdateRespV2.md | 4 +- docs/SensorUsageApiApi.md | 79 + docs/SensorVisibilityExclusionsApi.md | 2 +- docs/SourceEndpoint.md | 20 + docs/SourceUser.md | 20 + docs/SpotlightEvaluationLogicApi.md | 2 +- docs/SpotlightVulnerabilitiesApi.md | 38 +- docs/StateOnlineStateRespV1.md | 4 +- docs/SvExclusionsRespV1.md | 4 +- docs/TailoredIntelligenceApi.md | 377 ---- docs/ThreatgraphApi.md | 468 +++++ docs/ThreatgraphMeta.md | 24 + docs/ThreatgraphPaging.md | 22 + docs/ThreatgraphVertexDetails.md | 32 + docs/ThreatgraphVertexDetailsResponse.md | 22 + docs/TriggersTriggerExt.md | 30 + docs/TriggersTriggerExtField.md | 30 + docs/TriggersTriggerExternalResponse.md | 22 + docs/TypesAWSMetadata.md | 20 + docs/TypesActionRun.md | 32 + docs/TypesActionRunEvent.md | 36 + docs/TypesActionRunEventData.md | 46 + docs/TypesActionRunMetadata.md | 30 + docs/TypesArtifact.md | 24 + docs/TypesAwsApiGatewayReasonTag.md | 24 + docs/TypesAwsElasticIpReasonTag.md | 22 + docs/TypesAwsLambdaApiGatewayReasonTag.md | 24 + docs/TypesAwsLoadBalancerReasonTag.md | 20 + docs/TypesAzureApplicationGatewayReasonTag.md | 26 + docs/TypesAzureLoadBalancerReasonTag.md | 24 + docs/TypesAzureSiteMetadata.md | 28 + docs/TypesAzureVmMetadata.md | 26 + docs/TypesBusinessApplication.md | 20 + docs/TypesCloudFunctionMetadata.md | 18 + docs/TypesComposedSchedule.md | 32 + docs/TypesConfiguration.md | 28 + docs/TypesCreateIntegrationRequest.md | 18 + docs/TypesCreateIntegrationTaskRequest.md | 18 + docs/TypesCrowdStrikeCloudSecurityMetadata.md | 30 + docs/TypesDataTypeDbReasonTag.md | 22 + docs/TypesDataTypeMqReasonTag.md | 20 + docs/TypesDependency.md | 34 + docs/TypesDeploymentUnitDescriptor.md | 24 + docs/TypesDeploymentUnitService.md | 22 + docs/TypesDeploymentUnitsTupleFilters.md | 20 + docs/TypesEC2Metadata.md | 20 + docs/TypesECSMetadata.md | 26 + docs/TypesEditTagRequest.md | 20 + docs/TypesEditUniqueTagRequest.md | 18 + docs/TypesErrorMessage.md | 20 + docs/TypesExecutorNode.md | 42 + docs/TypesFramework.md | 26 + docs/TypesGCPMetadata.md | 20 + docs/TypesGenericUserFacingRequest.md | 22 + docs/TypesGetServicesRelatedEntity.md | 24 + docs/TypesGetServicesRelatedEntityFilters.md | 22 + ...esGetServicesRelatedEntityGroupByFields.md | 18 + docs/TypesGetServicesRequest.md | 36 + docs/TypesGetViolationTypesResponse.md | 20 + docs/TypesHostMetadata.md | 18 + docs/TypesIntegration.md | 32 + docs/TypesIntegrationResponse.md | 20 + docs/TypesIntegrationTask.md | 48 + docs/TypesIntegrationTaskResponse.md | 20 + ...esIntegrationTaskTestConnectionResponse.md | 18 + docs/TypesIntegrationTaskType.md | 28 + docs/TypesIntegrationType.md | 26 + docs/TypesInterface.md | 84 + docs/TypesInterfaceService.md | 24 + docs/TypesK8SLoadBalancerReasonTag.md | 24 + docs/TypesK8SMetadata.md | 22 + docs/TypesK8SPodSettings.md | 22 + docs/TypesKeyValue.md | 20 + docs/TypesLambdaMetadata.md | 20 + docs/TypesLibrary.md | 30 + docs/TypesListExecutorNodesResponse.md | 18 + docs/TypesListIntegrationTasksResponse.md | 18 + docs/TypesListIntegrationTypesResponse.md | 18 + docs/TypesListIntegrationsResponse.md | 18 + docs/TypesOrderBy.md | 20 + docs/TypesPaginate.md | 24 + docs/TypesPagination.md | 24 + docs/TypesPolicyRulesCondition.md | 20 + docs/TypesPolicyRulesCreateBody.md | 34 + docs/TypesQueryRequest.md | 24 + docs/TypesQueryRequestSelectFields.md | 22 + docs/TypesQueryResult.md | 20 + docs/TypesReasonTag.md | 36 + docs/TypesRemediation.md | 20 + docs/TypesResultsFilter.md | 20 + docs/TypesRunIntegrationTaskRequest.md | 28 + docs/TypesServiceNowDeployment.md | 20 + docs/TypesServiceNowDeploymentsResponse.md | 22 + docs/TypesServiceNowService.md | 62 + docs/TypesServiceNowServiceData.md | 34 + docs/TypesServiceNowServiceDeployments.md | 20 + docs/TypesServiceNowServicesResponse.md | 22 + docs/TypesServiceServiceArtifact.md | 20 + .../TypesServiceServiceBusinessApplication.md | 20 + docs/TypesServiceServiceConfiguration.md | 20 + docs/TypesServiceServiceDependency.md | 20 + docs/TypesServiceServiceFramework.md | 20 + docs/TypesServiceServiceInterface.md | 20 + docs/TypesServiceServiceLibrary.md | 20 + docs/TypesServiceServiceTag.md | 20 + docs/TypesServiceServiceTraits.md | 20 + docs/TypesSnykMetadata.md | 22 + docs/TypesSonatypeMetadata.md | 24 + docs/TypesStruct.md | 18 + docs/TypesTag.md | 34 + docs/TypesTagData.md | 26 + docs/TypesTagEntry.md | 22 + docs/TypesTagsDataResponse.md | 20 + docs/TypesTimestamp.md | 20 + docs/TypesTrait.md | 22 + docs/TypesTupleToString.md | 20 + docs/TypesUniqueTagEntry.md | 24 + docs/TypesUpdateIntegrationRequest.md | 20 + docs/TypesUpdateIntegrationTaskRequest.md | 18 + docs/TypesUpsertBusinessApplicationRequest.md | 20 + docs/UnidentifiedContainersApi.md | 2 +- ...tainersUnidentifiedContainerAPIResponse.md | 4 +- ...tainersUnidentifiedContainersCountValue.md | 4 +- docs/UninstallTokenRespV1.md | 4 +- docs/UserManagementApi.md | 2 +- docs/V2Activity.md | 2 + docs/V2Condition.md | 4 +- ...tionParameters.md => V2ConditionGroups.md} | 8 +- docs/V2Definition.md | 12 +- docs/V2ForLoop.md | 12 +- docs/V2Loop.md | 2 + docs/V2Model.md | 34 + docs/V2Parameters.md | 2 +- docs/VulncheckEPSS.md | 20 + docs/VulncheckExploitBotnets.md | 22 + docs/VulncheckExploitCVEReference.md | 22 + docs/VulncheckExploitCounts.md | 22 + docs/VulncheckExploitDetails.md | 44 + docs/VulncheckExploitRansomware.md | 20 + docs/VulncheckExploitRansomwareData.md | 20 + docs/VulncheckExploitRecord.md | 32 + docs/VulncheckExploitThreatActor.md | 32 + docs/VulncheckExploitTimeline.md | 42 + docs/VulncheckExploitTrending.md | 18 + docs/VulncheckThreatActorVendorName.md | 22 + ...VulnerabilitiesApiCombinedVulnerability.md | 4 +- ...bilitiesApiCombinedVulnerabilityDetails.md | 4 +- ...erabilitiesApiCombinedVulnerabilityInfo.md | 4 +- docs/VulnerabilitiesApiVulnByImageCount.md | 4 +- docs/VulnerabilitiesApiVulnByPublication.md | 4 +- docs/VulnerabilitiesApiVulnCount.md | 4 +- ...bilitiesApiVulnCountByActivelyExploited.md | 4 +- .../VulnerabilitiesApiVulnCountByCSPRating.md | 4 +- .../VulnerabilitiesApiVulnCountByCVSSScore.md | 4 +- docs/VulnerabilitiesApiVulnCountBySeverity.md | 4 +- docs/WorkflowRequest.md | 18 + docs/WorkflowResponse.md | 22 + docs/WorkflowsApi.md | 332 +++- docs/ZeroTrustAssessmentApi.md | 2 +- lib/crimson-falcon.rb | 413 +++- lib/crimson-falcon/api/alerts_api.rb | 56 +- .../api/api_integrations_api.rb | 239 +++ lib/crimson-falcon/api/aspm_api.rb | 1579 ++++++++++++++++ .../api/certificate_based_exclusions_api.rb | 435 +++++ lib/crimson-falcon/api/cloud_snapshots_api.rb | 308 +++ .../api/compliance_assessments_api.rb | 683 +++++++ .../api/container_images_api.rb | 208 ++- .../api/container_vulnerabilities_api.rb | 28 +- .../{provision_api.rb => cspg_iacapi_api.rb} | 20 +- .../api/cspm_registration_api.rb | 352 +++- lib/crimson-falcon/api/custom_ioa_api.rb | 114 +- lib/crimson-falcon/api/custom_storage_api.rb | 658 ++++++- .../api/d4c_registration_api.rb | 334 +++- lib/crimson-falcon/api/datascanner_api.rb | 225 +++ lib/crimson-falcon/api/default_api.rb | 475 +++++ .../api/delivery_settings_api.rb | 160 ++ lib/crimson-falcon/api/discover_api.rb | 164 ++ lib/crimson-falcon/api/discover_iot_api.rb | 79 +- lib/crimson-falcon/api/downloads_api_api.rb | 181 ++ .../api/exposure_management_api.rb | 716 +++++++ .../api/falcon_complete_dashboard_api.rb | 114 +- .../api/falcon_container_image_api.rb | 248 +++ lib/crimson-falcon/api/falconx_sandbox_api.rb | 19 +- lib/crimson-falcon/api/filevantage_api.rb | 406 +++- .../api/firewall_management_api.rb | 54 +- .../api/foundry_logscale_api.rb | 219 ++- lib/crimson-falcon/api/handle_api.rb | 94 + lib/crimson-falcon/api/host_migration_api.rb | 759 ++++++++ lib/crimson-falcon/api/hosts_api.rb | 8 +- .../api/humio_auth_proxy_api.rb | 514 +++++ .../api/identity_protection_api.rb | 298 +++ lib/crimson-falcon/api/intel_api.rb | 307 ++- lib/crimson-falcon/api/ioa_exclusions_api.rb | 10 +- .../api/kubernetes_protection_api.rb | 237 ++- lib/crimson-falcon/api/message_center_api.rb | 2 +- .../api/mobile_enrollment_api.rb | 76 + lib/crimson-falcon/api/oauth2_api.rb | 10 +- lib/crimson-falcon/api/quick_scan_api.rb | 12 +- lib/crimson-falcon/api/quick_scan_pro_api.rb | 432 +++++ .../api/real_time_response_admin_api.rb | 8 +- .../api/real_time_response_api.rb | 22 +- lib/crimson-falcon/api/recon_api.rb | 17 +- .../api/report_executions_api.rb | 12 +- lib/crimson-falcon/api/sensor_download_api.rb | 264 ++- .../api/sensor_update_policies_api.rb | 2 +- .../api/sensor_usage_api_api.rb | 97 + .../api/spotlight_vulnerabilities_api.rb | 32 +- .../api/tailored_intelligence_api.rb | 373 ---- lib/crimson-falcon/api/threatgraph_api.rb | 539 ++++++ lib/crimson-falcon/api/workflows_api.rb | 322 +++- lib/crimson-falcon/models/actions_action.rb | 348 ++++ .../models/actions_action_response.rb | 259 +++ .../models/actions_create_action_request.rb | 264 +++ .../models/actions_get_action_response.rb | 266 +++ .../models/activities_activity.rb | 460 +++++ .../models/activities_activity_ext_field.rb | 315 ++++ .../activities_activity_external_response.rb | 271 +++ lib/crimson-falcon/models/activity.rb | 243 +++ .../alerts_container_alerts_count_value.rb | 42 +- ...alerts_container_alerts_entity_response.rb | 4 +- .../models/api_action_resp_v1.rb | 2 +- .../api_audit_event_details_response_v1.rb | 4 +- .../api_cert_based_exclusion_create_req_v1.rb | 342 ++++ .../api_cert_based_exclusion_resp_v1.rb | 261 +++ .../api_cert_based_exclusion_update_req_v1.rb | 351 ++++ .../models/api_cert_based_exclusion_v1.rb | 365 ++++ ...api_cert_based_exclusions_create_req_v1.rb | 241 +++ ...api_cert_based_exclusions_update_req_v1.rb | 241 +++ .../models/api_certificate_req_v1.rb | 309 +++ .../models/api_certificate_v1.rb | 309 +++ .../models/api_certificates_response_v1.rb | 241 +++ .../models/api_create_migration_request_v1.rb | 283 +++ .../api_create_migration_response_v1.rb | 271 +++ .../api_customer_settings_response_v1.rb | 4 +- .../models/api_device_count_resp_v1.rb | 4 +- .../models/api_devices_ran_on_resp_v1.rb | 2 +- .../models/api_entities_response.rb | 4 +- lib/crimson-falcon/models/api_event.rb | 277 +++ .../models/api_execution_results_response.rb | 4 +- .../api_get_host_migration_response_v1.rb | 271 +++ ..._migration_destinations_request_body_v1.rb | 255 +++ ..._get_migration_destinations_response_v1.rb | 266 +++ ...e.rb => api_get_migrations_response_v1.rb} | 12 +- ...attack_source.rb => api_host_migration.rb} | 277 +-- .../models/api_hourly_average_response.rb | 266 +++ .../models/api_indicator_create_req_v1.rb | 1 + .../models/api_indicator_query_resp_v1.rb | 2 +- .../models/api_indicator_resp_v1.rb | 2 +- .../api_message_center_activity_response.rb | 4 +- ...ssage_center_attachment_upload_response.rb | 4 +- .../api_message_center_cases_response.rb | 4 +- .../models/api_mfa_resource_ids_response.rb | 275 +++ .../models/api_migrate_hosts_info.rb | 267 +++ lib/crimson-falcon/models/api_migration.rb | 378 ++++ ...xposed_data_record_entities_response_v1.rb | 2 +- .../models/api_object_metadata.rb | 11 +- .../models/api_patterns_response.rb | 4 +- .../models/api_platforms_response.rb | 4 +- .../api_post_enrollment_details_response.rb | 4 +- .../models/api_post_enrollment_details_v4.rb | 269 +++ .../models/api_processes_ran_on_resp_v1.rb | 2 +- .../models/api_resource_ids_response.rb | 4 +- .../models/api_resp_certificates_v1.rb | 261 +++ .../models/api_response_pagination.rb | 3 +- .../models/api_rule_groups_response.rb | 4 +- .../models/api_rule_types_response.rb | 4 +- .../models/api_rule_update_v2.rb | 339 ++++ .../models/api_rule_updates_request_v2.rb | 283 +++ .../models/api_rules_response.rb | 4 +- .../api_sensor_details_response_swagger.rb | 4 +- .../models/api_token_details_response_v1.rb | 4 +- .../models/api_user_metadata_response.rb | 4 +- .../models/api_user_role_ids_response.rb | 4 +- .../models/api_user_role_response.rb | 4 +- .../models/api_validation_response_v1.rb | 4 +- .../models/api_weekly_average_response.rb | 266 +++ .../models/apidomain_query_response_v1.rb | 16 +- .../apidomain_query_response_wrapper_v1.rb | 4 +- ...pidomain_repo_view_list_item_wrapper_v1.rb | 4 +- ...idomain_saved_search_execute_request_v1.rb | 99 +- .../models/base_policy_members_resp_v1.rb | 4 +- .../binservapi_msa_put_file_response.rb | 4 +- lib/crimson-falcon/models/changes_change.rb | 30 +- .../changes_high_volume_query_response.rb | 2 +- lib/crimson-falcon/models/changes_host.rb | 19 +- .../models/changes_permissions_mac.rb | 283 +++ .../client_archive_create_response_v1.rb | 4 +- .../client_archive_list_files_response_v1.rb | 4 +- .../client_data_ingest_response_wrapper_v1.rb | 4 +- .../client_extraction_create_response_v1.rb | 4 +- ...lient_extraction_list_files_response_v1.rb | 4 +- .../models/client_fql_statement.rb | 267 +++ .../models/client_job_status.rb | 11 +- .../client_sample_metadata_response_v2.rb | 4 +- ...lient_system_definition_create_response.rb | 4 +- .../models/common_count_as_resource.rb | 22 +- .../models/common_count_response.rb | 42 +- .../models/common_credentials.rb | 239 +++ .../models/common_entities_response.rb | 269 +++ .../common_generic_entity_response_string.rb | 4 +- .../common_registry_credentials_response.rb | 269 +++ ...contentchanges_change_contents_response.rb | 264 +++ .../models/contentchanges_content.rb | 253 +++ .../models/contentchanges_content_diff.rb | 271 +++ .../models/core_entities_response.rb | 4 +- ...39303.rb => custom_storage_object_keys.rb} | 8 +- ...91042536.rb => custom_storage_response.rb} | 8 +- ...efinitions_definition_entities_response.rb | 4 +- .../models/definitions_definition_ext.rb | 215 ++- ...efinitions_definition_external_response.rb | 4 +- .../definitions_definition_import_response.rb | 4 +- ...onse.rb => deployments_entity_response.rb} | 12 +- lib/crimson-falcon/models/destination.rb | 243 +++ ... => destinations_migration_destination.rb} | 34 +- .../detections_api_assessment_detections.rb | 42 +- .../detections_api_combined_detections.rb | 42 +- .../detections_api_detections_by_severity.rb | 4 +- .../detections_api_detections_by_type.rb | 4 +- .../models/detections_api_detections_count.rb | 42 +- ...cts_alert.rb => detects_external_alert.rb} | 288 ++- .../models/detectsapi_aggregates_response.rb | 4 +- .../models/detectsapi_alert_query_response.rb | 4 +- ...st_entities_alerts_v1_response_swagger.rb} | 12 +- ...st_entities_alerts_v2_response_swagger.rb} | 12 +- .../models/detectsapi_response_fields.rb | 4 +- .../models/device_control_resp_v1.rb | 4 +- .../models/device_control_resp_v2.rb | 4 +- ...ice_control_usb_class_exceptions_req_v1.rb | 4 +- ...e_control_usb_class_exceptions_response.rb | 4 +- lib/crimson-falcon/models/device_device.rb | 56 +- .../models/device_mapped_device_policies.rb | 38 +- ...viceapi_device_details_response_swagger.rb | 4 +- .../models/deviceapi_device_response.rb | 2 +- .../models/deviceapi_device_swagger.rb | 38 +- .../models/deviceapi_groups_response_v1.rb | 4 +- .../deviceapi_login_history_response_v1.rb | 4 +- ...api_network_address_history_response_v1.rb | 4 +- ...deviceapi_update_device_tags_swagger_v1.rb | 4 +- .../domain_action_entities_response_v1.rb | 2 +- .../models/domain_actor_document.rb | 22 +- .../models/domain_actors_response.rb | 4 +- ..._aggregate_cluster_assessments_response.rb | 266 +++ ...failed_asset_count_by_severity_response.rb | 266 +++ ...gregate_failed_assets_by_rules_response.rb | 266 +++ ...egate_failed_rules_by_clusters_response.rb | 266 +++ ...gregate_failed_rules_by_images_response.rb | 266 +++ ...failed_rules_count_by_severity_response.rb | 266 +++ ...in_aggregate_image_assessments_response.rb | 264 +++ ...in_aggregate_rules_assessments_response.rb | 266 +++ ...main_aggregate_rules_by_status_response.rb | 266 +++ .../models/domain_aggregates_response.rb | 2 +- ...omain_api_combined_findings_response_v1.rb | 2 +- .../domain_api_compliance_control_v1.rb | 253 +++ .../domain_api_compliance_mapping_v1.rb | 264 +++ lib/crimson-falcon/models/domain_api_error.rb | 52 +- ...i_evaluation_logic_entities_response_v1.rb | 4 +- .../domain_api_evaluation_logic_item_v1.rb | 25 +- .../models/domain_api_evaluation_logic_v1.rb | 46 +- .../models/domain_api_finding_rule_v1.rb | 13 +- .../models/domain_api_host_info_facet_v1.rb | 11 +- .../models/domain_api_remediation_info.rb | 255 +++ .../models/domain_api_remediation_v2.rb | 22 +- .../domain_api_rule_details_response_v1.rb | 4 +- .../models/domain_api_rule_details_v1.rb | 13 +- .../models/domain_api_vulnerability_app_v2.rb | 23 +- ..._api_vulnerability_cve_details_facet_v2.rb | 14 +- ...omain_api_vulnerability_extended_app_v2.rb | 42 +- .../domain_api_vulnerability_host_facet_v2.rb | 34 +- .../domain_api_vulnerability_service_v2.rb | 255 +++ .../models/domain_api_vulnerability_v2.rb | 24 +- ..._paging.rb => domain_assessment_paging.rb} | 24 +- .../domain_assessments_by_score_response.rb | 2 +- .../models/domain_assessments_response.rb | 2 +- .../models/domain_audit_response.rb | 2 +- .../domain_aws_account_resource_metadata.rb | 293 +++ .../models/domain_aws_account_v2.rb | 58 +- .../domain_aws_inventory_filter_setting.rb | 269 +++ .../domain_base_api_vulnerability_v2.rb | 24 +- .../domain_batch_get_cmd_status_response.rb | 4 +- .../domain_batch_get_command_response.rb | 4 +- .../domain_batch_init_session_response.rb | 4 +- .../domain_batch_refresh_session_response.rb | 4 +- lib/crimson-falcon/models/domain_behavior.rb | 13 +- .../models/domain_case_creation_request_v2.rb | 30 +- .../domain_cid_group_members_response_v1.rb | 4 +- .../models/domain_cid_groups_response_v1.rb | 4 +- lib/crimson-falcon/models/domain_cipher.rb | 252 +++ ...sa_known_exploited_vulnerabilities_info.rb | 253 +++ .../models/domain_cloud_aws_account_v1.rb | 507 +++++ .../models/domain_cloud_condition.rb | 322 ++++ ...domain_command_execute_response_wrapper.rb | 4 +- .../models/domain_compliance.rb | 280 +++ ..._findings_grouped_by_images_with_scroll.rb | 255 +++ lib/crimson-falcon/models/domain_condition.rb | 30 +- ...bin_text_source.rb => domain_config_v1.rb} | 105 +- .../models/domain_configs_v1.rb | 271 +++ .../models/domain_content_package.rb | 239 +++ lib/crimson-falcon/models/domain_control.rb | 281 +++ .../models/domain_control_benchmark.rb | 243 +++ .../models/domain_cps_rating.rb | 301 +++ .../models/domain_cps_rating_history_entry.rb | 253 +++ .../models/domain_cps_rating_indicator.rb | 267 +++ ...ain_create_submission_v1_error_response.rb | 315 ++++ .../models/domain_credentials.rb | 43 +- lib/crimson-falcon/models/domain_cve.rb | 543 ++++++ .../models/domain_cve_exploit.rb | 283 +++ .../models/domain_cve_exploit_reference.rb | 267 +++ .../models/domain_cve_exploit_source.rb | 283 +++ lib/crimson-falcon/models/domain_cvssv2.rb | 280 +++ lib/crimson-falcon/models/domain_cvssv3.rb | 352 ++++ ...domain_denormalized_adversary_reference.rb | 257 +++ ...rror.rb => domain_denormalized_country.rb} | 37 +- .../domain_denormalized_customer_target.rb | 239 +++ .../domain_denormalized_report_reference.rb | 257 +++ .../models/domain_denormalized_sector.rb | 253 +++ .../domain_denormalized_threat_reference.rb | 248 +++ .../domain_denormalized_threat_used_mitre.rb | 292 +++ lib/crimson-falcon/models/domain_device.rb | 20 +- .../models/domain_discover_api_account.rb | 4 +- ..._discover_api_account_entities_response.rb | 4 +- .../models/domain_discover_api_application.rb | 21 +- ...cover_api_application_browser_extension.rb | 320 ++++ ...lication_browser_extension_installation.rb | 320 ++++ ...cover_api_application_entities_response.rb | 4 +- ...over_api_combined_applications_response.rb | 271 +++ ...in_discover_api_combined_hosts_response.rb | 271 +++ .../models/domain_discover_api_host.rb | 275 ++- ...ain_discover_api_host_entities_response.rb | 4 +- .../models/domain_discover_api_login.rb | 2 +- ...in_discover_api_login_entities_response.rb | 4 +- ...fo.rb => domain_discover_api_meta_info.rb} | 8 +- .../models/domain_discover_api_paging.rb | 267 +++ .../models/domain_discover_api_response.rb | 271 +++ .../models/domain_discover_apiio_t_host.rb | 713 +++++-- ...discover_apiio_t_host_entities_response.rb | 4 +- .../domain_discover_apiio_t_host_triage.rb | 285 +++ .../models/domain_discover_params.rb | 16 +- .../models/domain_errors_only.rb | 2 +- .../domain_execute_command_request_v1.rb | 242 +++ .../domain_execute_command_result_v1.rb | 286 +++ .../domain_execute_command_results_v1.rb | 271 +++ .../models/domain_execute_command_v1.rb | 329 ++++ .../domain_execution_metadata_summary.rb | 16 +- .../models/domain_execution_metadata_v1.rb | 16 +- .../domain_export_job_entities_response_v1.rb | 2 +- .../domain_export_job_id_response_v1.rb | 2 +- ...in_external_asset_api_delete_request_v1.rb | 235 +++ ...ain_external_asset_api_patch_request_v1.rb | 243 +++ .../domain_external_asset_application.rb | 270 +++ .../domain_external_asset_certificate.rb | 317 ++++ ...al_asset_certificate_entity_identifiers.rb | 369 ++++ .../models/domain_external_asset_cloud_vm.rb | 347 ++++ ...ain_external_asset_discovery_attributes.rb | 251 +++ ...xternal_asset_discovery_path_attributes.rb | 237 +++ ...xternal_asset_discovery_step_attributes.rb | 292 +++ ...in_external_asset_geographical_location.rb | 306 +++ .../domain_external_asset_http_attributes.rb | 281 +++ ...external_asset_redirect_step_attributes.rb | 280 +++ .../models/domain_external_asset_service.rb | 443 +++++ ...main_external_asset_service_blobs_links.rb | 261 +++ .../domain_external_asset_ssl_record.rb | 301 +++ .../domain_external_asset_subsidiary.rb | 255 +++ .../domain_external_assets_api_patch.rb | 280 +++ .../domain_external_assets_api_triage.rb | 285 +++ ...domain_external_assets_api_triage_patch.rb | 265 +++ .../domain_external_assets_api_type_v1.rb | 266 +++ ...domain_external_assets_blob_api_type_v1.rb | 266 +++ .../models/domain_external_export_job.rb | 312 ++++ .../models/domain_external_query_response.rb | 4 +- .../domain_external_registry_list_response.rb | 4 +- .../domain_external_registry_response.rb | 4 +- .../models/domain_feature_permission.rb | 255 +++ .../models/domain_feature_status.rb | 253 +++ .../models/domain_fem_dns_domain.rb | 301 +++ ...cosystem_subsidiaries_entities_response.rb | 256 +++ ...domain_fem_ecosystem_subsidiaries_meta.rb} | 44 +- ...m_ecosystem_subsidiaries_query_response.rb | 256 +++ ..._ecosystem_subsidiaries_response_fields.rb | 251 +++ .../models/domain_fem_ecosystem_subsidiary.rb | 344 ++++ .../models/domain_fem_external_asset.rb | 497 +++++ .../models/domain_fem_external_ip.rb | 327 ++++ .../models/domain_gcp_account_v1.rb | 24 +- lib/crimson-falcon/models/domain_geo_point.rb | 243 +++ lib/crimson-falcon/models/domain_incident.rb | 13 +- .../models/domain_init_response.rb | 20 +- .../models/domain_init_response_wrapper.rb | 4 +- .../models/domain_item_details_v1.rb | 50 +- .../domain_launch_export_job_response_v1.rb | 2 +- .../domain_list_files_response_wrapper.rb | 4 +- .../domain_list_files_v2_response_wrapper.rb | 4 +- .../domain_list_sessions_response_msa.rb | 4 +- .../models/domain_malware_document.rb | 783 ++++++++ .../domain_malware_environment_aggregates.rb | 267 +++ .../models/domain_malware_response.rb | 272 +++ .../models/domain_marketplace_credentials.rb | 258 +++ .../models/domain_marketplace_product.rb | 2 +- lib/crimson-falcon/models/domain_meta_info.rb | 28 +- .../domain_msa_detect_summaries_response.rb | 4 +- .../domain_msa_environment_score_response.rb | 4 +- .../domain_msa_external_behavior_response.rb | 4 +- .../domain_msa_external_incident_response.rb | 4 +- ...in_msa_incident_perform_action_response.rb | 4 +- .../domain_msa_incident_query_response.rb | 4 +- .../models/domain_msa_meta_info.rb | 248 +++ .../models/domain_msa_qf_response.rb | 4 +- .../models/domain_mssp_role_response_v1.rb | 4 +- ..._multi_command_execute_response_wrapper.rb | 4 +- .../domain_multi_pulse_sensor_response.rb | 2 +- .../domain_multi_status_sensor_response.rb | 2 +- .../models/domain_news_document.rb | 28 +- .../models/domain_news_response.rb | 4 +- ...domain_notification_details_response_v1.rb | 2 +- ...omain_notification_entities_response_v1.rb | 2 +- .../models/domain_notification_id_response.rb | 2 +- .../models/domain_notification_v1.rb | 32 +- lib/crimson-falcon/models/domain_platform.rb | 22 +- .../models/domain_policy_info.rb | 58 +- .../models/domain_product_features.rb | 255 +++ .../models/domain_product_features_status.rb | 255 +++ .../models/domain_product_permission.rb | 255 +++ .../domain_public_indicators_v3_response.rb | 4 +- .../domain_query_mitre_attacks_response.rb | 4 +- .../models/domain_query_response.rb | 9 +- .../domain_queued_session_response_wrapper.rb | 4 +- lib/crimson-falcon/models/domain_reference.rb | 255 +++ .../domain_registry_credentials_response.rb | 4 +- .../domain_report_execution_summary_v1.rb | 16 +- .../models/domain_report_execution_v1.rb | 16 +- .../domain_report_executions_response_v1.rb | 4 +- .../models/domain_report_params.rb | 33 +- lib/crimson-falcon/models/domain_request.rb | 239 +++ .../models/domain_rule_meta_info.rb | 2 +- .../models/domain_rules_response.rb | 4 +- lib/crimson-falcon/models/domain_scan.rb | 20 +- .../models/domain_scan_metadata.rb | 11 +- lib/crimson-falcon/models/domain_scan_v2.rb | 11 +- lib/crimson-falcon/models/domain_schedule.rb | 53 +- .../models/domain_scheduled_report_v1.rb | 11 +- .../domain_scheduled_reports_result_v1.rb | 4 +- .../models/domain_sensor_installer_v2.rb | 405 ++++ .../models/domain_sensor_installers_v1.rb | 4 +- .../models/domain_sensor_installers_v2.rb | 271 +++ .../models/domain_session_response_wrapper.rb | 4 +- .../models/domain_simple_actor.rb | 2 +- ...spapi_combined_vulnerabilities_response.rb | 2 +- ...i_evaluation_logic_combined_response_v1.rb | 2 +- ...i_evaluation_logic_entities_response_v1.rb | 2 +- .../models/domain_spapi_query_response.rb | 2 +- ..._spapi_remediation_entities_response_v2.rb | 4 +- ...pi_vulnerabilities_entities_response_v2.rb | 2 +- .../models/domain_spotlight_params.rb | 269 +++ .../models/domain_status_response_wrapper.rb | 4 +- .../models/domain_update_rule_request_v1.rb | 17 +- lib/crimson-falcon/models/domain_user.rb | 54 +- .../domain_user_group_members_response_v1.rb | 4 +- .../models/domain_user_groups_response_v1.rb | 4 +- .../models/domain_user_metadata.rb | 11 +- lib/crimson-falcon/models/domain_vuln.rb | 240 +++ .../models/domain_vulnerability.rb | 175 +- .../models/domain_vulnerability_response.rb | 4 +- .../models/domain_xdr_params.rb | 58 +- .../driftindicators_drift_entity_response.rb | 4 +- ...indicators_drift_indicators_count_value.rb | 42 +- ...indicators_drift_indicators_field_value.rb | 42 +- .../empowerapi_msa_falcon_script_response.rb | 4 +- .../models/empowerapi_msa_id_list_response.rb | 4 +- .../models/empowerapi_msa_pf_response_v1.rb | 4 +- .../models/empowerapi_msa_pf_response_v2.rb | 4 +- .../models/entities_ods_scan_host_response.rb | 4 +- ...tities_ods_scan_malicious_file_response.rb | 4 +- .../models/entities_ods_scan_request.rb | 16 +- .../models/entities_ods_scan_response.rb | 4 +- .../models/entities_ods_scan_response_v2.rb | 4 +- .../entities_ods_schedule_scan_response.rb | 4 +- .../models/entities_rolling_average.rb | 365 ++++ .../models/exclusions_resp_v1.rb | 4 +- .../models/executions_execution_result.rb | 22 +- .../models/executions_loop_result.rb | 14 +- .../models/executions_trigger_result.rb | 2 +- .../models/exports_exports_response.rb | 266 +++ .../models/exports_launch_export_request.rb | 280 +++ .../models/exports_launch_export_response.rb | 267 +++ .../models/falconx_errors_only.rb | 4 +- .../models/falconx_meta_info.rb | 2 +- .../models/falconx_query_response.rb | 2 +- .../models/falconx_report_v1.rb | 20 +- .../models/falconx_report_v1_response.rb | 2 +- .../models/falconx_sandbox_parameters_v1.rb | 11 +- .../models/falconx_sandbox_report_v1.rb | 11 +- .../models/falconx_submission_v1_response.rb | 2 +- .../models/falconx_summary_report_v1.rb | 11 +- .../falconx_summary_report_v1_response.rb | 2 +- .../models/fielddata_field_source.rb | 278 +++ .../models/fielddata_field_source_option.rb | 248 +++ lib/crimson-falcon/models/firewall_resp_v1.rb | 4 +- .../flightcontrolapi_get_roles_response.rb | 4 +- .../flightcontrolapi_user_grant_response.rb | 4 +- .../models/flightcontrolapi_user_response.rb | 4 +- .../fwmgr_msa_aggregate_query_request.rb | 11 +- .../models/fwmgr_msa_extended_bounds_spec.rb | 253 +++ lib/crimson-falcon/models/graph_condition.rb | 12 +- .../models/graph_configured_activity.rb | 12 +- lib/crimson-falcon/models/graph_end.rb | 30 +- lib/crimson-falcon/models/graph_multi.rb | 42 +- lib/crimson-falcon/models/graph_sub_model.rb | 20 +- .../models/graph_validation_error.rb | 28 +- .../models/host_groups_members_resp_v1.rb | 4 +- .../models/host_groups_resp_v1.rb | 4 +- .../models/host_groups_update_group_req_v1.rb | 1 + .../images_api_combined_image_export.rb | 4 +- .../models/images_api_customer_and_image.rb | 4 +- .../images_api_image_assessment_history.rb | 4 +- ...images_api_image_by_vulnerability_count.rb | 4 +- .../models/images_api_image_count.rb | 4 +- .../images_api_image_count_by_base_os.rb | 4 +- .../models/images_api_image_count_by_state.rb | 4 +- .../models/images_api_image_issues_summary.rb | 4 +- ...mages_api_image_vulnerabilities_summary.rb | 4 +- .../images_ext_combined_images_response.rb | 4 +- .../models/internal_sensor_status.rb | 11 +- .../ioa_exclusions_ioa_exclusions_resp_v1.rb | 4 +- .../models/iocapi_msa_reply_devices_ran_on.rb | 2 +- .../iocapi_msa_reply_ioc_devices_count.rb | 2 +- .../iocapi_msa_reply_processes_ran_on.rb | 2 +- .../jsonschema_condition_group_fields.rb | 11 +- ..._pair.rb => jsonschema_duration_option.rb} | 6 +- .../models/jsonschema_sub_schema.rb | 20 +- .../models/jsonschema_ui_extensions.rb | 285 +++ .../models/jsonschema_workflow_extensions.rb | 12 +- .../k8sassets_cluster_enrichment_data.rb | 16 +- .../k8sassets_cluster_enrichment_response.rb | 4 +- ...k8sassets_container_enrichment_response.rb | 4 +- ...8sassets_deployment_enrichment_response.rb | 4 +- .../k8sassets_node_enrichment_response.rb | 4 +- .../k8sassets_pod_enrichment_response.rb | 4 +- .../k8sioms_kubernetes_iom_count_value.rb | 42 +- .../k8sioms_kubernetes_iom_entity_response.rb | 4 +- .../k8sioms_kubernetes_iom_field_value.rb | 42 +- .../models/k8sreg_create_aws_acc_resp.rb | 4 +- .../models/k8sreg_get_aws_accounts_resp.rb | 4 +- .../k8sreg_get_azure_bash_script_resp.rb | 4 +- .../k8sreg_get_azure_subscriptions_resp.rb | 4 +- .../k8sreg_get_azure_tenant_config_resp.rb | 4 +- .../k8sreg_get_azure_tenant_info_resp.rb | 4 +- .../models/k8sreg_get_clusters_resp.rb | 4 +- .../models/k8sreg_get_locations_resp.rb | 4 +- .../models/k8sreg_get_scripts_resp.rb | 4 +- .../models/k8sreg_list_cluster_cloud_resp.rb | 4 +- .../models/k8sreg_regen_api_key_resp.rb | 4 +- .../models/main_discovery_response_v2.rb | 4 +- .../models/malquery_fuzzy_search_meta_info.rb | 2 +- .../models/malquery_query_meta_info.rb | 2 +- .../models/malquery_rate_limits_response.rb | 2 +- .../models/malquery_request_meta_info.rb | 2 +- .../malquery_samples_metadata_meta_info.rb | 2 +- lib/crimson-falcon/models/messages_case.rb | 44 +- .../models/mlscannerapi_meta_info.rb | 2 +- .../models/mlscannerapi_query_response.rb | 2 +- .../models/mlscannerapi_scan_v1_response.rb | 2 +- .../models/model_user_input_read_response.rb | 4 +- .../models/models_account_status_response.rb | 4 +- ...dels_aggregate_values_by_field_response.rb | 4 +- .../models/models_api_customer_and_image.rb | 73 +- .../models_api_image_combined_export.rb | 44 +- .../models_application_package_info_type.rb | 2 +- .../models/models_aws_accounts_v1.rb | 4 +- .../models/models_base_image_request.rb | 270 +++ .../models/models_base_response_v1.rb | 4 +- lib/crimson-falcon/models/models_cluster.rb | 44 +- .../models/models_cluster_entity_response.rb | 4 +- .../models/models_cluster_info.rb | 279 +++ .../models_cluster_with_failed_rules.rb | 309 +++ .../models/models_compliance_by_rules.rb | 269 +++ ...iance_export_grouped_by_clusters_report.rb | 435 +++++ ...pliance_export_grouped_by_images_report.rb | 379 ++++ ...pliance_export_grouped_by_rules_report.rb} | 259 +-- lib/crimson-falcon/models/models_container.rb | 516 ++--- ...dels_container_coverage_response_entity.rb | 4 +- .../models_container_entity_response.rb | 4 +- .../models/models_container_image.rb | 18 +- ...models_container_runtime_pivot_response.rb | 4 +- .../models_create_base_images_request.rb | 241 +++ ...t.rb => models_create_deployment_input.rb} | 8 +- .../models_customer_configurations_v1.rb | 4 +- .../models/models_delivery_settings.rb | 372 ++++ ...odels_delivery_settings_entity_response.rb | 266 +++ .../models/models_delivery_settings_input.rb | 253 +++ .../models_delivery_settings_request.rb | 241 +++ .../models/models_deployment.rb | 442 ++++- .../models_deployment_entity_response.rb | 4 +- .../models/models_deployment_resource.rb | 281 +++ lib/crimson-falcon/models/models_detection.rb | 365 ++++ .../models_detection_engine_info_type.rb | 267 +++ .../models/models_detection_info_type.rb | 239 +++ .../models/models_elf_binary.rb | 281 +++ .../models/models_ext_api_image_combined.rb | 16 +- .../models/models_image_details.rb | 281 +++ .../models/models_image_with_rules_failed.rb | 337 ++++ .../models/models_images_with_rules_failed.rb | 255 +++ .../models/models_job_meta_data.rb | 337 ++++ ...models_mock_execution_create_request_v1.rb | 259 +++ lib/crimson-falcon/models/models_node.rb | 53 +- .../models/models_node_entity_response.rb | 4 +- ...models_non_compliant_assets_by_severity.rb | 295 +++ .../models/models_os_info_type.rb | 253 +++ .../models_package_vulnerability_type.rb | 239 +++ lib/crimson-falcon/models/models_pod.rb | 53 +- .../models/models_pod_entity_response.rb | 4 +- .../models/models_policy_entity_response.rb | 42 +- ...models_policy_exclusion_entity_response.rb | 42 +- .../models_policy_group_entity_response.rb | 42 +- .../models_registry_credentials_response.rb | 4 +- .../models/models_rule_status.rb | 267 +++ .../models_rule_with_non_compliant_assets.rb | 281 +++ .../models/models_rules_failed_by_severity.rb | 281 +++ .../models_rules_with_non_compliant_assets.rb | 255 +++ .../models/models_scan_report_type.rb | 333 ++++ ...tweet_source.rb => models_scan_results.rb} | 99 +- .../models_snapshot_inventory_application.rb | 351 ++++ .../models_verify_access_response_v1.rb | 4 +- .../models/models_vulnerabilities_type.rb | 241 +++ .../models/models_vulnerability_product.rb | 344 ++++ .../models/models_vulnerability_type.rb | 317 ++++ .../models/msa_aggregate_query_request.rb | 11 +- .../models/msa_aggregates_response.rb | 4 +- .../models/msa_base_entities_response.rb | 4 +- .../models/msa_entities_response.rb | 4 +- .../models/msa_entity_action_request_v3.rb | 266 +++ lib/crimson-falcon/models/msa_errors_only.rb | 4 +- .../models/msa_extended_bounds_spec.rb | 253 +++ .../models/msa_facets_response.rb | 4 +- .../models/msa_query_response.rb | 4 +- .../models/msa_reply_affected_entities.rb | 4 +- .../models/msaspec_query_response.rb | 4 +- .../models/msaspec_response_fields.rb | 4 +- .../models/packages_api_combined_package.rb | 4 +- .../packages_api_combined_package_export.rb | 4 +- .../packages_api_packages_by_vuln_count.rb | 4 +- ...rameter_activity_config_parameter_value.rb | 12 +- .../parameter_condition_field_parameter.rb | 12 +- ...ter_condition_field_provision_parameter.rb | 17 +- .../patterndisposition_pattern_disposition.rb | 86 +- .../models/policies_delete_response.rb | 4 +- lib/crimson-falcon/models/policies_policy.rb | 16 +- .../models/policies_precedence_response.rb | 4 +- .../models/policies_response.rb | 4 +- .../models/prevention_resp_v1.rb | 4 +- ...rocessesapi_msa_process_detail_response.rb | 4 +- .../models/public_get_changes_response.rb | 266 +++ .../quickscanpro_delete_file_response.rb | 266 +++ .../models/quickscanpro_file_result.rb | 305 +++ ...b => quickscanpro_file_upload_resource.rb} | 39 +- .../quickscanpro_file_upload_response.rb | 275 +++ .../quickscanpro_get_scan_result_resource.rb | 267 +++ .../quickscanpro_get_scan_result_response.rb | 266 +++ .../quickscanpro_launch_scan_request.rb | 241 +++ ...ickscanpro_launch_scan_request_resource.rb | 239 +++ .../quickscanpro_launch_scan_resource.rb | 267 +++ .../quickscanpro_launch_scan_response.rb | 275 +++ .../models/quickscanpro_mitre_attack.rb | 288 +++ .../quickscanpro_mitre_attack_parent.rb | 252 +++ ...uickscanpro_query_scan_results_response.rb | 267 +++ .../models/quickscanpro_quota_resource.rb | 262 +++ .../models/quickscanpro_scan_metadata.rb | 281 +++ ..._source.rb => quickscanpro_scan_result.rb} | 194 +- .../models/quickscanpro_url_result.rb | 296 +++ .../models/registration_aws_account_ext_v2.rb | 31 +- .../models/registration_aws_account_patch.rb | 37 +- .../registration_aws_account_response_v2.rb | 4 +- ...egistration_aws_console_url_response_v2.rb | 266 +++ ...rovision_get_account_script_response_v2.rb | 4 +- .../registration_azure_account_response_v1.rb | 4 +- ..._azure_download_certificate_response_v1.rb | 4 +- ...tion_azure_management_group_response_v1.rb | 4 +- ...e_provision_get_user_script_response_v1.rb | 4 +- ..._azure_tenant_configuration_response_v1.rb | 4 +- ...ant_default_subscription_id_response_v1.rb | 4 +- ...gistration_azure_tenant_ids_response_v1.rb | 4 +- ...egistration_external_ioa_event_response.rb | 2 +- ...egistration_external_iom_event_response.rb | 2 +- ...stration_external_iom_event_response_v2.rb | 4 +- ...gistration_gcp_account_patch_request_v1.rb | 241 +++ .../registration_gcp_account_patch_v1.rb | 262 +++ .../registration_gcp_account_req_obj_v2.rb | 13 +- ...egistration_gcp_account_response_ext_v2.rb | 4 +- .../registration_gcp_account_response_v1.rb | 4 +- .../registration_gcp_account_rsp_obj_v2.rb | 13 +- .../registration_gcp_account_validated_v1.rb | 299 +++ ...tion_gcp_account_validation_req_obj_v1.rb} | 17 +- ...ation_gcp_account_validation_request_v1.rb | 241 +++ ...tion_gcp_account_validation_response_v1.rb | 266 +++ ...p_provision_get_user_script_response_v1.rb | 4 +- ...registration_gcp_service_account_ext_v1.rb | 13 +- ...on_gcp_service_account_patch_request_v1.rb | 241 +++ ...gistration_gcp_service_account_patch_v1.rb | 290 +++ ...ion_gcp_service_account_response_ext_v1.rb | 4 +- ...rvice_account_validation_request_obj_v1.rb | 290 +++ ...p_service_account_validation_request_v1.rb | 241 +++ ..._service_account_validation_response_v1.rb | 266 +++ .../registration_iom_event_ids_response_v2.rb | 2 +- .../registration_msa_meta_info_extension.rb | 2 +- .../registration_msa_paging_extension.rb | 2 +- .../models/registration_policy_response_v1.rb | 4 +- ...egistration_policy_settings_response_v1.rb | 4 +- .../registration_scan_schedule_response_v1.rb | 4 +- .../registration_static_scripts_response.rb | 9 +- .../models/remote_response_resp_v1.rb | 4 +- ...t_account_product_upsert_request_ext_v1.rb | 255 +++ .../rest_aws_account_create_request_extv1.rb | 241 +++ ...rest_aws_account_create_response_ext_v1.rb | 266 +++ .../models/rest_aws_account_validated.rb | 284 +++ .../rest_aws_account_validation_response.rb | 266 +++ .../rest_cloud_aws_account_create_ext_v1.rb | 286 +++ .../models/rulegroups_delete_response.rb | 4 +- .../models/rulegroups_response.rb | 4 +- lib/crimson-falcon/models/rulegroups_rule.rb | 20 +- .../models/rulegroups_rules_response.rb | 4 +- ...medetections_detections_entity_response.rb | 4 +- .../models/sadomain_create_rule_request_v1.rb | 51 +- lib/crimson-falcon/models/sadomain_rule.rb | 63 +- .../sadomain_typosquatting_component.rb | 11 +- .../sadomain_typosquatting_subdomain.rb | 299 +++ ...se.rb => scanreports_entities_response.rb} | 12 +- .../models/scheduledexclusions_response.rb | 4 +- .../models/schema_sensor_event_response_v1.rb | 4 +- .../models/schema_sensor_field_response_v1.rb | 4 +- .../models/sensor_update_builds_resp_v1.rb | 4 +- .../models/sensor_update_kernels_resp_v1.rb | 4 +- .../models/sensor_update_resp_v1.rb | 4 +- .../models/sensor_update_resp_v2.rb | 4 +- lib/crimson-falcon/models/source_endpoint.rb | 243 +++ lib/crimson-falcon/models/source_user.rb | 243 +++ .../models/state_online_state_resp_v1.rb | 4 +- .../models/sv_exclusions_resp_v1.rb | 4 +- lib/crimson-falcon/models/threatgraph_meta.rb | 271 +++ .../models/threatgraph_paging.rb | 257 +++ .../models/threatgraph_vertex_details.rb | 327 ++++ .../threatgraph_vertex_details_response.rb | 271 +++ .../models/triggers_trigger_ext.rb | 322 ++++ .../models/triggers_trigger_ext_field.rb | 305 +++ .../triggers_trigger_external_response.rb | 271 +++ lib/crimson-falcon/models/types_action_run.rb | 299 +++ .../models/types_action_run_event.rb | 324 ++++ .../models/types_action_run_event_data.rb | 360 ++++ .../models/types_action_run_metadata.rb | 288 +++ lib/crimson-falcon/models/types_artifact.rb | 261 +++ .../types_aws_api_gateway_reason_tag.rb | 261 +++ .../models/types_aws_elastic_ip_reason_tag.rb | 252 +++ ...types_aws_lambda_api_gateway_reason_tag.rb | 261 +++ .../types_aws_load_balancer_reason_tag.rb | 243 +++ .../models/types_aws_metadata.rb | 243 +++ ...es_azure_application_gateway_reason_tag.rb | 272 +++ .../types_azure_load_balancer_reason_tag.rb | 261 +++ .../models/types_azure_site_metadata.rb | 279 +++ .../models/types_azure_vm_metadata.rb | 270 +++ ...actor.rb => types_business_application.rb} | 10 +- .../models/types_cloud_function_metadata.rb | 234 +++ .../models/types_composed_schedule.rb | 299 +++ .../models/types_configuration.rb | 279 +++ .../types_create_integration_request.rb | 234 +++ .../types_create_integration_task_request.rb | 234 +++ ...es_crowd_strike_cloud_security_metadata.rb | 288 +++ ...v1.rb => types_data_type_db_reason_tag.rb} | 48 +- .../models/types_data_type_mq_reason_tag.rb | 245 +++ lib/crimson-falcon/models/types_dependency.rb | 306 +++ .../types_deployment_unit_descriptor.rb | 263 +++ .../models/types_deployment_unit_service.rb | 252 +++ .../types_deployment_units_tuple_filters.rb | 247 +++ .../models/types_ec2_metadata.rb | 243 +++ .../models/types_ecs_metadata.rb | 270 +++ .../models/types_edit_tag_request.rb | 255 +++ .../models/types_edit_unique_tag_request.rb | 241 +++ ...matched_rule.rb => types_error_message.rb} | 54 +- .../models/types_executor_node.rb | 342 ++++ lib/crimson-falcon/models/types_framework.rb | 272 +++ .../models/types_gcp_metadata.rb | 243 +++ .../types_generic_user_facing_request.rb | 252 +++ .../types_get_services_related_entity.rb | 261 +++ ...pes_get_services_related_entity_filters.rb | 252 +++ ...services_related_entity_group_by_fields.rb | 236 +++ .../models/types_get_services_request.rb | 321 ++++ .../types_get_violation_types_response.rb | 247 +++ .../models/types_host_metadata.rb | 234 +++ .../models/types_integration.rb | 297 +++ .../models/types_integration_response.rb | 243 +++ .../models/types_integration_task.rb | 369 ++++ .../models/types_integration_task_response.rb | 243 +++ ...tegration_task_test_connection_response.rb | 234 +++ .../models/types_integration_task_type.rb | 281 +++ .../models/types_integration_type.rb | 270 +++ lib/crimson-falcon/models/types_interface.rb | 548 ++++++ .../models/types_interface_service.rb | 263 +++ .../types_k8_s_load_balancer_reason_tag.rb | 263 +++ .../models/types_k8_s_metadata.rb | 252 +++ .../models/types_k8_s_pod_settings.rb | 256 +++ lib/crimson-falcon/models/types_key_value.rb | 243 +++ .../models/types_lambda_metadata.rb | 243 +++ lib/crimson-falcon/models/types_library.rb | 290 +++ .../types_list_executor_nodes_response.rb | 236 +++ .../types_list_integration_tasks_response.rb | 236 +++ .../types_list_integration_types_response.rb | 236 +++ .../types_list_integrations_response.rb | 236 +++ lib/crimson-falcon/models/types_order_by.rb | 243 +++ lib/crimson-falcon/models/types_paginate.rb | 263 +++ lib/crimson-falcon/models/types_pagination.rb | 263 +++ ...ort.rb => types_policy_rules_condition.rb} | 38 +- .../models/types_policy_rules_create_body.rb | 331 ++++ .../models/types_query_request.rb | 266 +++ .../types_query_request_select_fields.rb | 256 +++ .../models/types_query_result.rb | 243 +++ lib/crimson-falcon/models/types_reason_tag.rb | 315 ++++ .../models/types_remediation.rb | 243 +++ .../models/types_results_filter.rb | 243 +++ .../types_run_integration_task_request.rb | 279 +++ .../models/types_service_now_deployment.rb | 253 +++ .../types_service_now_deployments_response.rb | 269 +++ .../models/types_service_now_service.rb | 549 ++++++ ...s.rb => types_service_now_service_data.rb} | 197 +- .../types_service_now_service_deployments.rb | 255 +++ .../types_service_now_services_response.rb | 269 +++ .../models/types_service_service_artifact.rb | 245 +++ ...es_service_service_business_application.rb | 245 +++ .../types_service_service_configuration.rb | 245 +++ .../types_service_service_dependency.rb | 245 +++ .../models/types_service_service_framework.rb | 245 +++ .../models/types_service_service_interface.rb | 245 +++ .../models/types_service_service_library.rb | 245 +++ .../models/types_service_service_tag.rb | 245 +++ .../models/types_service_service_traits.rb | 245 +++ .../models/types_snyk_metadata.rb | 252 +++ .../models/types_sonatype_metadata.rb | 261 +++ ...ondition_parameters.rb => types_struct.rb} | 10 +- lib/crimson-falcon/models/types_tag.rb | 310 +++ lib/crimson-falcon/models/types_tag_data.rb | 274 +++ lib/crimson-falcon/models/types_tag_entry.rb | 257 +++ .../models/types_tags_data_response.rb | 245 +++ lib/crimson-falcon/models/types_timestamp.rb | 253 +++ lib/crimson-falcon/models/types_trait.rb | 252 +++ .../models/types_tuple_to_string.rb | 243 +++ ...in_entity.rb => types_unique_tag_entry.rb} | 41 +- .../types_update_integration_request.rb | 245 +++ .../types_update_integration_task_request.rb | 234 +++ ...pes_upsert_business_application_request.rb | 255 +++ ...ers_unidentified_container_api_response.rb | 4 +- ...ers_unidentified_containers_count_value.rb | 4 +- .../models/uninstall_token_resp_v1.rb | 4 +- lib/crimson-falcon/models/v2_activity.rb | 11 +- lib/crimson-falcon/models/v2_condition.rb | 16 +- .../models/v2_condition_groups.rb | 257 +++ lib/crimson-falcon/models/v2_definition.rb | 64 +- lib/crimson-falcon/models/v2_for_loop.rb | 55 +- lib/crimson-falcon/models/v2_loop.rb | 11 +- lib/crimson-falcon/models/v2_model.rb | 338 ++++ lib/crimson-falcon/models/v2_parameters.rb | 2 +- lib/crimson-falcon/models/vulncheck_epss.rb | 253 +++ .../models/vulncheck_exploit_botnets.rb | 269 +++ .../models/vulncheck_exploit_counts.rb | 267 +++ .../models/vulncheck_exploit_cve_reference.rb | 269 +++ .../models/vulncheck_exploit_details.rb | 404 ++++ .../models/vulncheck_exploit_ransomware.rb | 257 +++ .../vulncheck_exploit_ransomware_data.rb | 253 +++ .../models/vulncheck_exploit_record.rb | 297 +++ .../models/vulncheck_exploit_threat_actor.rb | 305 +++ .../models/vulncheck_exploit_timeline.rb | 342 ++++ .../models/vulncheck_exploit_trending.rb | 239 +++ .../vulncheck_threat_actor_vendor_name.rb | 252 +++ ...nerabilities_api_combined_vulnerability.rb | 4 +- ...ties_api_combined_vulnerability_details.rb | 4 +- ...ilities_api_combined_vulnerability_info.rb | 4 +- ...vulnerabilities_api_vuln_by_image_count.rb | 4 +- ...vulnerabilities_api_vuln_by_publication.rb | 4 +- .../models/vulnerabilities_api_vuln_count.rb | 4 +- ...es_api_vuln_count_by_actively_exploited.rb | 4 +- ...rabilities_api_vuln_count_by_csp_rating.rb | 4 +- ...rabilities_api_vuln_count_by_cvss_score.rb | 4 +- ...nerabilities_api_vuln_count_by_severity.rb | 4 +- lib/crimson-falcon/models/workflow_request.rb | 241 +++ ..._botnet_inject.rb => workflow_response.rb} | 58 +- lib/crimson-falcon/version.rb | 2 +- spec/api/alerts_api_spec.rb | 26 +- spec/api/api_integrations_api_spec.rb | 88 + spec/api/aspm_api_spec.rb | 321 ++++ ... certificate_based_exclusions_api_spec.rb} | 85 +- spec/api/cloud_snapshots_api_spec.rb | 57 + spec/api/compliance_assessments_api_spec.rb | 175 ++ spec/api/container_images_api_spec.rb | 43 +- .../api/container_vulnerabilities_api_spec.rb | 14 +- ...on_api_spec.rb => cspg_iacapi_api_spec.rb} | 16 +- spec/api/cspm_registration_api_spec.rb | 61 +- spec/api/custom_ioa_api_spec.rb | 27 +- spec/api/custom_storage_api_spec.rb | 96 +- spec/api/d4c_registration_api_spec.rb | 74 +- spec/api/datascanner_api_spec.rb | 85 + spec/api/default_api_spec.rb | 128 ++ spec/api/delivery_settings_api_spec.rb | 73 + spec/api/discover_api_spec.rb | 30 + spec/api/discover_iot_api_spec.rb | 16 +- spec/api/downloads_api_api_spec.rb | 80 + spec/api/exposure_management_api_spec.rb | 178 ++ .../api/falcon_complete_dashboard_api_spec.rb | 27 +- spec/api/falcon_container_image_api_spec.rb | 44 + spec/api/falconx_sandbox_api_spec.rb | 7 +- spec/api/filevantage_api_spec.rb | 86 +- spec/api/firewall_management_api_spec.rb | 16 +- spec/api/foundry_logscale_api_spec.rb | 43 +- spec/api/handle_api_spec.rb | 62 + spec/api/host_migration_api_spec.rb | 180 ++ spec/api/hosts_api_spec.rb | 4 +- spec/api/humio_auth_proxy_api_spec.rb | 137 ++ spec/api/identity_protection_api_spec.rb | 50 + spec/api/intel_api_spec.rb | 61 +- spec/api/ioa_exclusions_api_spec.rb | 4 +- spec/api/kubernetes_protection_api_spec.rb | 81 +- spec/api/mobile_enrollment_api_spec.rb | 13 + spec/api/oauth2_api_spec.rb | 2 +- spec/api/quick_scan_api_spec.rb | 4 +- spec/api/quick_scan_pro_api_spec.rb | 122 ++ spec/api/real_time_response_admin_api_spec.rb | 4 +- spec/api/real_time_response_api_spec.rb | 10 +- spec/api/recon_api_spec.rb | 7 +- spec/api/report_executions_api_spec.rb | 4 +- spec/api/sensor_download_api_spec.rb | 52 +- spec/api/sensor_usage_api_api_spec.rb | 63 + .../api/spotlight_vulnerabilities_api_spec.rb | 8 +- spec/api/threatgraph_api_spec.rb | 136 ++ spec/api/workflows_api_spec.rb | 70 +- spec/api_client_spec.rb | 245 --- spec/configuration_spec.rb | 59 - spec/models/actions_action_response_spec.rb | 63 + spec/models/actions_action_spec.rb | 99 + ... => actions_create_action_request_spec.rb} | 18 +- .../actions_get_action_response_spec.rb | 63 + .../activities_activity_ext_field_spec.rb | 93 + ...ivities_activity_external_response_spec.rb | 63 + spec/models/activities_activity_spec.rb | 165 ++ ...botnet_inject_spec.rb => activity_spec.rb} | 16 +- ...lerts_container_alerts_count_value_spec.rb | 6 +- ...cert_based_exclusion_create_req_v1_spec.rb | 117 ++ .../api_cert_based_exclusion_resp_v1_spec.rb | 63 + ...cert_based_exclusion_update_req_v1_spec.rb | 123 ++ ...rb => api_cert_based_exclusion_v1_spec.rb} | 40 +- ...ert_based_exclusions_create_req_v1_spec.rb | 51 + ...ert_based_exclusions_update_req_v1_spec.rb | 51 + spec/models/api_certificate_req_v1_spec.rb | 81 + spec/models/api_certificate_v1_spec.rb | 81 + .../api_certificates_response_v1_spec.rb | 51 + .../api_create_migration_request_v1_spec.rb | 69 + .../api_create_migration_response_v1_spec.rb | 63 + ...tweet_source_spec.rb => api_event_spec.rb} | 22 +- ...api_get_host_migration_response_v1_spec.rb | 63 + ...ation_destinations_request_body_v1_spec.rb | 57 + ...migration_destinations_response_v1_spec.rb | 63 + ...=> api_get_migrations_response_v1_spec.rb} | 12 +- spec/models/api_host_migration_spec.rb | 129 ++ .../api_hourly_average_response_spec.rb | 63 + .../api_mfa_resource_ids_response_spec.rb | 69 + spec/models/api_migrate_hosts_info_spec.rb | 63 + spec/models/api_migration_spec.rb | 117 ++ spec/models/api_object_metadata_spec.rb | 6 + .../api_post_enrollment_details_v4_spec.rb | 63 + ...ec.rb => api_resp_certificates_v1_spec.rb} | 12 +- ...rce_spec.rb => api_rule_update_v2_spec.rb} | 28 +- .../api_rule_updates_request_v2_spec.rb | 69 + .../api_weekly_average_response_spec.rb | 63 + .../apidomain_query_response_v1_spec.rb | 6 + ...in_saved_search_execute_request_v1_spec.rb | 38 +- spec/models/changes_change_spec.rb | 12 + spec/models/changes_host_spec.rb | 6 + spec/models/changes_permissions_mac_spec.rb | 81 + ...e_spec.rb => client_fql_statement_spec.rb} | 18 +- spec/models/client_job_status_spec.rb | 6 + spec/models/common_count_as_resource_spec.rb | 6 - spec/models/common_count_response_spec.rb | 6 +- spec/models/common_credentials_spec.rb | 51 + spec/models/common_entities_response_spec.rb | 63 + ...mmon_registry_credentials_response_spec.rb | 63 + ...ntchanges_change_contents_response_spec.rb | 63 + .../contentchanges_content_diff_spec.rb | 69 + spec/models/contentchanges_content_spec.rb | 57 + .../models/custom_storage_object_keys_spec.rb | 63 + spec/models/custom_storage_response_spec.rb | 63 + .../models/definitions_definition_ext_spec.rb | 104 +- ...rb => deployments_entity_response_spec.rb} | 12 +- spec/models/destination_spec.rb | 57 + ...estinations_migration_destination_spec.rb} | 14 +- ...tections_api_assessment_detections_spec.rb | 6 +- ...detections_api_combined_detections_spec.rb | 6 +- .../detections_api_detections_count_spec.rb | 6 +- ...spec.rb => detects_external_alert_spec.rb} | 54 +- ...tities_alerts_v1_response_swagger_spec.rb} | 12 +- ...tities_alerts_v2_response_swagger_spec.rb} | 12 +- ...ontrol_usb_class_exceptions_req_v1_spec.rb | 2 +- ...trol_usb_class_exceptions_response_spec.rb | 2 +- spec/models/device_device_spec.rb | 36 + .../device_mapped_device_policies_spec.rb | 24 + spec/models/deviceapi_device_swagger_spec.rb | 24 + ...egate_cluster_assessments_response_spec.rb | 63 + ...d_asset_count_by_severity_response_spec.rb | 63 + ...te_failed_assets_by_rules_response_spec.rb | 63 + ..._failed_rules_by_clusters_response_spec.rb | 63 + ...te_failed_rules_by_images_response_spec.rb | 63 + ...d_rules_count_by_severity_response_spec.rb | 63 + ...gregate_image_assessments_response_spec.rb | 63 + ...gregate_rules_assessments_response_spec.rb | 63 + ...aggregate_rules_by_status_response_spec.rb | 63 + .../domain_api_compliance_control_v1_spec.rb | 57 + .../domain_api_compliance_mapping_v1_spec.rb | 63 + spec/models/domain_api_error_spec.rb | 6 +- ...omain_api_evaluation_logic_item_v1_spec.rb | 12 +- .../domain_api_evaluation_logic_v1_spec.rb | 16 +- .../models/domain_api_finding_rule_v1_spec.rb | 6 + .../domain_api_host_info_facet_v1_spec.rb | 6 + .../domain_api_remediation_info_spec.rb | 63 + spec/models/domain_api_remediation_v2_spec.rb | 12 + .../models/domain_api_rule_details_v1_spec.rb | 6 + .../domain_api_vulnerability_app_v2_spec.rb | 6 + ...vulnerability_cve_details_facet_v2_spec.rb | 6 + ..._api_vulnerability_extended_app_v2_spec.rb | 18 + ...in_api_vulnerability_host_facet_v2_spec.rb | 18 + ...omain_api_vulnerability_service_v2_spec.rb | 63 + .../domain_api_vulnerability_v2_spec.rb | 12 + spec/models/domain_assessment_paging_spec.rb | 69 + ...main_aws_account_resource_metadata_spec.rb | 87 + spec/models/domain_aws_account_v2_spec.rb | 30 + ...omain_aws_inventory_filter_setting_spec.rb | 63 + .../domain_base_api_vulnerability_v2_spec.rb | 12 + spec/models/domain_behavior_spec.rb | 6 + .../domain_case_creation_request_v2_spec.rb | 12 + spec/models/domain_cipher_spec.rb | 63 + ...own_exploited_vulnerabilities_info_spec.rb | 57 + .../domain_cloud_aws_account_v1_spec.rb | 189 ++ spec/models/domain_cloud_condition_spec.rb | 93 + ...ings_grouped_by_images_with_scroll_spec.rb | 57 + spec/models/domain_compliance_spec.rb | 75 + spec/models/domain_condition_spec.rb | 12 + spec/models/domain_config_v1_spec.rb | 75 + ...9303_spec.rb => domain_configs_v1_spec.rb} | 12 +- spec/models/domain_content_package_spec.rb | 51 + spec/models/domain_control_benchmark_spec.rb | 57 + spec/models/domain_control_spec.rb | 81 + .../domain_cps_rating_history_entry_spec.rb | 57 + .../domain_cps_rating_indicator_spec.rb | 63 + spec/models/domain_cps_rating_spec.rb | 75 + ...reate_submission_v1_error_response_spec.rb | 71 + spec/models/domain_credentials_spec.rb | 14 +- .../domain_cve_exploit_reference_spec.rb | 63 + spec/models/domain_cve_exploit_source_spec.rb | 69 + spec/models/domain_cve_exploit_spec.rb | 69 + spec/models/domain_cve_spec.rb | 195 ++ spec/models/domain_cvssv2_spec.rb | 75 + ...k_source_spec.rb => domain_cvssv3_spec.rb} | 38 +- ...n_denormalized_adversary_reference_spec.rb | 63 + .../domain_denormalized_country_spec.rb | 57 + ...omain_denormalized_customer_target_spec.rb | 51 + ...main_denormalized_report_reference_spec.rb | 63 + ....rb => domain_denormalized_sector_spec.rb} | 12 +- ...main_denormalized_threat_reference_spec.rb | 57 + ...ain_denormalized_threat_used_mitre_spec.rb | 87 + spec/models/domain_device_spec.rb | 2 +- ...ion_browser_extension_installation_spec.rb | 99 + ..._api_application_browser_extension_spec.rb | 93 + .../domain_discover_api_application_spec.rb | 12 + ...api_combined_applications_response_spec.rb | 63 + ...scover_api_combined_hosts_response_spec.rb | 63 + spec/models/domain_discover_api_host_spec.rb | 150 ++ ... => domain_discover_api_meta_info_spec.rb} | 12 +- .../models/domain_discover_api_paging_spec.rb | 63 + .../domain_discover_api_response_spec.rb | 63 + .../domain_discover_apiio_t_host_spec.rb | 310 ++- ...omain_discover_apiio_t_host_triage_spec.rb | 81 + spec/models/domain_discover_params_spec.rb | 6 + ...domain_execute_command_request_v1_spec.rb} | 14 +- .../domain_execute_command_result_v1_spec.rb | 75 + .../domain_execute_command_results_v1_spec.rb | 63 + spec/models/domain_execute_command_v1_spec.rb | 87 + .../domain_execution_metadata_summary_spec.rb | 6 + .../domain_execution_metadata_v1_spec.rb | 6 + ...ternal_asset_api_delete_request_v1_spec.rb | 51 + ...xternal_asset_api_patch_request_v1_spec.rb | 51 + .../domain_external_asset_application_spec.rb | 75 + ...set_certificate_entity_identifiers_spec.rb | 141 ++ .../domain_external_asset_certificate_spec.rb | 105 ++ .../domain_external_asset_cloud_vm_spec.rb | 117 ++ ...xternal_asset_discovery_attributes_spec.rb | 57 + ...al_asset_discovery_path_attributes_spec.rb | 51 + ...al_asset_discovery_step_attributes_spec.rb | 75 + ...ternal_asset_geographical_location_spec.rb | 99 + ...in_external_asset_http_attributes_spec.rb} | 20 +- ...nal_asset_redirect_step_attributes_spec.rb | 69 + ...external_asset_service_blobs_links_spec.rb | 69 + .../domain_external_asset_service_spec.rb | 153 ++ .../domain_external_asset_ssl_record_spec.rb | 93 + .../domain_external_asset_subsidiary_spec.rb | 57 + .../domain_external_assets_api_patch_spec.rb | 75 + ...n_external_assets_api_triage_patch_spec.rb | 69 + .../domain_external_assets_api_triage_spec.rb | 81 + ...domain_external_assets_api_type_v1_spec.rb | 63 + ...n_external_assets_blob_api_type_v1_spec.rb | 63 + .../models/domain_external_export_job_spec.rb | 81 + spec/models/domain_feature_permission_spec.rb | 57 + spec/models/domain_feature_status_spec.rb | 57 + spec/models/domain_fem_dns_domain_spec.rb | 81 + ...tem_subsidiaries_entities_response_spec.rb | 57 + ...in_fem_ecosystem_subsidiaries_meta_spec.rb | 57 + ...system_subsidiaries_query_response_spec.rb | 57 + ...ystem_subsidiaries_response_fields_spec.rb | 57 + .../domain_fem_ecosystem_subsidiary_spec.rb | 99 + spec/models/domain_fem_external_asset_spec.rb | 183 ++ ...spec.rb => domain_fem_external_ip_spec.rb} | 32 +- spec/models/domain_gcp_account_v1_spec.rb | 12 + spec/models/domain_geo_point_spec.rb | 57 + spec/models/domain_incident_spec.rb | 6 + spec/models/domain_init_response_spec.rb | 12 + spec/models/domain_item_details_v1_spec.rb | 6 + spec/models/domain_malware_document_spec.rb | 351 ++++ ...ain_malware_environment_aggregates_spec.rb | 63 + spec/models/domain_malware_response_spec.rb | 63 + .../domain_marketplace_credentials_spec.rb | 63 + spec/models/domain_meta_info_spec.rb | 12 - spec/models/domain_msa_meta_info_spec.rb | 57 + spec/models/domain_news_document_spec.rb | 6 + spec/models/domain_notification_v1_spec.rb | 18 + spec/models/domain_platform_spec.rb | 2 +- spec/models/domain_policy_info_spec.rb | 36 + spec/models/domain_product_features_spec.rb | 57 + ...=> domain_product_features_status_spec.rb} | 16 +- spec/models/domain_product_permission_spec.rb | 57 + spec/models/domain_reference_spec.rb | 57 + ...domain_report_execution_summary_v1_spec.rb | 6 + .../models/domain_report_execution_v1_spec.rb | 6 + spec/models/domain_report_params_spec.rb | 12 + spec/models/domain_request_spec.rb | 51 + spec/models/domain_scan_metadata_spec.rb | 6 + spec/models/domain_scan_spec.rb | 12 +- spec/models/domain_scan_v2_spec.rb | 6 - spec/models/domain_schedule_spec.rb | 6 +- .../models/domain_scheduled_report_v1_spec.rb | 6 + .../models/domain_sensor_installer_v2_spec.rb | 123 ++ .../domain_sensor_installers_v2_spec.rb | 63 + spec/models/domain_spotlight_params_spec.rb | 63 + .../domain_update_rule_request_v1_spec.rb | 6 + spec/models/domain_user_metadata_spec.rb | 6 + spec/models/domain_user_spec.rb | 26 +- spec/models/domain_vuln_spec.rb | 51 + spec/models/domain_vulnerability_spec.rb | 66 +- spec/models/domain_xdr_params_spec.rb | 24 + ...ators_drift_indicators_count_value_spec.rb | 6 +- ...ators_drift_indicators_field_value_spec.rb | 6 +- spec/models/entities_ods_scan_request_spec.rb | 6 - spec/models/entities_rolling_average_spec.rb | 105 ++ .../executions_execution_result_spec.rb | 12 + spec/models/executions_loop_result_spec.rb | 6 + spec/models/exports_exports_response_spec.rb | 63 + .../exports_launch_export_request_spec.rb | 69 + .../exports_launch_export_response_spec.rb | 63 + spec/models/falconx_report_v1_spec.rb | 12 + .../falconx_sandbox_parameters_v1_spec.rb | 6 + spec/models/falconx_sandbox_report_v1_spec.rb | 6 + spec/models/falconx_summary_report_v1_spec.rb | 6 + .../fielddata_field_source_option_spec.rb | 57 + spec/models/fielddata_field_source_spec.rb | 75 + .../fwmgr_msa_aggregate_query_request_spec.rb | 6 + .../fwmgr_msa_extended_bounds_spec_spec.rb | 57 + spec/models/graph_condition_spec.rb | 6 + spec/models/graph_configured_activity_spec.rb | 6 + spec/models/graph_end_spec.rb | 12 + spec/models/graph_multi_spec.rb | 18 + spec/models/graph_sub_model_spec.rb | 6 - spec/models/graph_validation_error_spec.rb | 12 + spec/models/internal_sensor_status_spec.rb | 6 + .../jsonschema_condition_group_fields_spec.rb | 6 + ....rb => jsonschema_duration_option_spec.rb} | 12 +- spec/models/jsonschema_sub_schema_spec.rb | 12 + spec/models/jsonschema_ui_extensions_spec.rb | 81 + .../jsonschema_workflow_extensions_spec.rb | 6 + .../k8sassets_cluster_enrichment_data_spec.rb | 6 + ...k8sioms_kubernetes_iom_count_value_spec.rb | 6 +- ...k8sioms_kubernetes_iom_field_value_spec.rb | 6 +- spec/models/messages_case_spec.rb | 18 + .../models_api_customer_and_image_spec.rb | 30 + .../models_api_image_combined_export_spec.rb | 18 + spec/models/models_base_image_request_spec.rb | 75 + spec/models/models_cluster_info_spec.rb | 81 + spec/models/models_cluster_spec.rb | 18 + .../models_cluster_with_failed_rules_spec.rb | 81 + .../models/models_compliance_by_rules_spec.rb | 63 + ..._export_grouped_by_clusters_report_spec.rb | 135 ++ ...ce_export_grouped_by_images_report_spec.rb | 111 ++ ...nce_export_grouped_by_rules_report_spec.rb | 123 ++ spec/models/models_container_image_spec.rb | 6 + spec/models/models_container_spec.rb | 124 +- .../models_create_base_images_request_spec.rb | 51 + .../models_create_deployment_input_spec.rb | 51 + ..._delivery_settings_entity_response_spec.rb | 63 + .../models_delivery_settings_input_spec.rb | 57 + .../models_delivery_settings_request_spec.rb | 51 + spec/models/models_delivery_settings_spec.rb | 123 ++ .../models/models_deployment_resource_spec.rb | 69 + spec/models/models_deployment_spec.rb | 138 +- .../models_detection_engine_info_type_spec.rb | 63 + .../models/models_detection_info_type_spec.rb | 51 + spec/models/models_detection_spec.rb | 105 ++ spec/models/models_elf_binary_spec.rb | 69 + .../models_ext_api_image_combined_spec.rb | 6 + spec/models/models_image_details_spec.rb | 69 + .../models_image_with_rules_failed_spec.rb | 93 + .../models_images_with_rules_failed_spec.rb | 57 + spec/models/models_job_meta_data_spec.rb | 93 + ...s_mock_execution_create_request_v1_spec.rb | 63 + spec/models/models_node_spec.rb | 24 + ...s_non_compliant_assets_by_severity_spec.rb | 75 + spec/models/models_os_info_type_spec.rb | 57 + .../models_package_vulnerability_type_spec.rb | 51 + spec/models/models_pod_spec.rb | 24 + .../models_policy_entity_response_spec.rb | 6 +- ...s_policy_exclusion_entity_response_spec.rb | 6 +- ...odels_policy_group_entity_response_spec.rb | 6 +- spec/models/models_rule_status_spec.rb | 63 + ...els_rule_with_non_compliant_assets_spec.rb | 69 + .../models_rules_failed_by_severity_spec.rb | 69 + ...ls_rules_with_non_compliant_assets_spec.rb | 57 + spec/models/models_scan_report_type_spec.rb | 93 + spec/models/models_scan_results_spec.rb | 69 + ...els_snapshot_inventory_application_spec.rb | 99 + .../models_vulnerabilities_type_spec.rb | 51 + .../models_vulnerability_product_spec.rb | 111 ++ spec/models/models_vulnerability_type_spec.rb | 87 + .../msa_aggregate_query_request_spec.rb | 6 + .../msa_entity_action_request_v3_spec.rb | 63 + spec/models/msa_extended_bounds_spec_spec.rb | 57 + ...er_activity_config_parameter_value_spec.rb | 6 + ...arameter_condition_field_parameter_spec.rb | 6 + ...ondition_field_provision_parameter_spec.rb | 6 + ...erndisposition_pattern_disposition_spec.rb | 36 + spec/models/policies_policy_spec.rb | 6 + .../public_get_changes_response_spec.rb | 63 + .../quickscanpro_delete_file_response_spec.rb | 63 + spec/models/quickscanpro_file_result_spec.rb | 73 + .../quickscanpro_file_upload_resource_spec.rb | 57 + .../quickscanpro_file_upload_response_spec.rb | 69 + ...ckscanpro_get_scan_result_resource_spec.rb | 63 + ...ckscanpro_get_scan_result_response_spec.rb | 63 + ...anpro_launch_scan_request_resource_spec.rb | 51 + .../quickscanpro_launch_scan_request_spec.rb | 51 + .../quickscanpro_launch_scan_resource_spec.rb | 63 + .../quickscanpro_launch_scan_response_spec.rb | 69 + .../quickscanpro_mitre_attack_parent_spec.rb | 63 + spec/models/quickscanpro_mitre_attack_spec.rb | 87 + ...canpro_query_scan_results_response_spec.rb | 63 + .../quickscanpro_quota_resource_spec.rb | 63 + .../models/quickscanpro_scan_metadata_spec.rb | 69 + spec/models/quickscanpro_scan_result_spec.rb | 91 + spec/models/quickscanpro_url_result_spec.rb | 67 + .../registration_aws_account_ext_v2_spec.rb | 18 + .../registration_aws_account_patch_spec.rb | 18 + ...ration_aws_console_url_response_v2_spec.rb | 63 + ...tion_gcp_account_patch_request_v1_spec.rb} | 12 +- ...registration_gcp_account_patch_v1_spec.rb} | 18 +- ...egistration_gcp_account_req_obj_v2_spec.rb | 6 + ...egistration_gcp_account_rsp_obj_v2_spec.rb | 6 + ...istration_gcp_account_validated_v1_spec.rb | 81 + ..._gcp_account_validation_req_obj_v1_spec.rb | 51 + ..._gcp_account_validation_request_v1_spec.rb | 51 + ...gcp_account_validation_response_v1_spec.rb | 63 + ...tration_gcp_service_account_ext_v1_spec.rb | 6 + ...p_service_account_patch_request_v1_spec.rb | 51 + ...ation_gcp_service_account_patch_v1_spec.rb | 87 + ..._account_validation_request_obj_v1_spec.rb | 87 + ...vice_account_validation_request_v1_spec.rb | 51 + ...ice_account_validation_response_v1_spec.rb | 63 + ...ount_product_upsert_request_ext_v1_spec.rb | 57 + ...t_aws_account_create_request_extv1_spec.rb | 51 + ...aws_account_create_response_ext_v1_spec.rb | 63 + .../models/rest_aws_account_validated_spec.rb | 69 + ...st_aws_account_validation_response_spec.rb | 63 + ...st_cloud_aws_account_create_ext_v1_spec.rb | 81 + spec/models/rulegroups_rule_spec.rb | 12 + .../sadomain_create_rule_request_v1_spec.rb | 18 + spec/models/sadomain_rule_spec.rb | 30 + .../sadomain_typosquatting_component_spec.rb | 6 + .../sadomain_typosquatting_subdomain_spec.rb | 81 + ... => scanreports_entities_response_spec.rb} | 12 +- spec/models/source_endpoint_spec.rb | 57 + spec/models/source_user_spec.rb | 57 + spec/models/threatgraph_meta_spec.rb | 69 + ...ing_spec.rb => threatgraph_paging_spec.rb} | 16 +- ...hreatgraph_vertex_details_response_spec.rb | 63 + .../models/threatgraph_vertex_details_spec.rb | 93 + .../models/triggers_trigger_ext_field_spec.rb | 87 + spec/models/triggers_trigger_ext_spec.rb | 87 + ...triggers_trigger_external_response_spec.rb | 63 + .../types_action_run_event_data_spec.rb | 135 ++ spec/models/types_action_run_event_spec.rb | 105 ++ spec/models/types_action_run_metadata_spec.rb | 87 + spec/models/types_action_run_spec.rb | 93 + ..._entity_spec.rb => types_artifact_spec.rb} | 20 +- .../types_aws_api_gateway_reason_tag_spec.rb | 69 + .../types_aws_elastic_ip_reason_tag_spec.rb | 63 + ..._aws_lambda_api_gateway_reason_tag_spec.rb | 69 + ...types_aws_load_balancer_reason_tag_spec.rb | 57 + spec/models/types_aws_metadata_spec.rb | 57 + ...ure_application_gateway_reason_tag_spec.rb | 75 + ...pes_azure_load_balancer_reason_tag_spec.rb | 69 + spec/models/types_azure_site_metadata_spec.rb | 81 + spec/models/types_azure_vm_metadata_spec.rb | 75 + .../models/types_business_application_spec.rb | 57 + .../types_cloud_function_metadata_spec.rb | 51 + spec/models/types_composed_schedule_spec.rb | 93 + spec/models/types_configuration_spec.rb | 81 + .../types_create_integration_request_spec.rb | 51 + ...es_create_integration_task_request_spec.rb | 51 + ...owd_strike_cloud_security_metadata_spec.rb | 87 + .../types_data_type_db_reason_tag_spec.rb | 63 + .../types_data_type_mq_reason_tag_spec.rb | 57 + spec/models/types_dependency_spec.rb | 99 + .../types_deployment_unit_descriptor_spec.rb | 69 + .../types_deployment_unit_service_spec.rb | 63 + ...pes_deployment_units_tuple_filters_spec.rb | 57 + spec/models/types_ec2_metadata_spec.rb | 57 + spec/models/types_ecs_metadata_spec.rb | 75 + spec/models/types_edit_tag_request_spec.rb | 57 + .../types_edit_unique_tag_request_spec.rb | 51 + spec/models/types_error_message_spec.rb | 57 + spec/models/types_executor_node_spec.rb | 123 ++ spec/models/types_framework_spec.rb | 75 + spec/models/types_gcp_metadata_spec.rb | 57 + .../types_generic_user_facing_request_spec.rb | 63 + ...et_services_related_entity_filters_spec.rb | 63 + ...ces_related_entity_group_by_fields_spec.rb | 51 + .../types_get_services_related_entity_spec.rb | 69 + .../models/types_get_services_request_spec.rb | 105 ++ ...types_get_violation_types_response_spec.rb | 57 + spec/models/types_host_metadata_spec.rb | 51 + .../models/types_integration_response_spec.rb | 57 + spec/models/types_integration_spec.rb | 93 + .../types_integration_task_response_spec.rb | 57 + spec/models/types_integration_task_spec.rb | 141 ++ ...tion_task_test_connection_response_spec.rb | 51 + .../types_integration_task_type_spec.rb | 81 + spec/models/types_integration_type_spec.rb | 75 + spec/models/types_interface_service_spec.rb | 69 + spec/models/types_interface_spec.rb | 249 +++ ...ypes_k8_s_load_balancer_reason_tag_spec.rb | 69 + spec/models/types_k8_s_metadata_spec.rb | 63 + spec/models/types_k8_s_pod_settings_spec.rb | 63 + spec/models/types_key_value_spec.rb | 57 + spec/models/types_lambda_metadata_spec.rb | 57 + spec/models/types_library_spec.rb | 87 + ...types_list_executor_nodes_response_spec.rb | 51 + ...es_list_integration_tasks_response_spec.rb | 51 + ...es_list_integration_types_response_spec.rb | 51 + .../types_list_integrations_response_spec.rb | 51 + spec/models/types_order_by_spec.rb | 57 + spec/models/types_paginate_spec.rb | 69 + spec/models/types_pagination_spec.rb | 69 + ...b => types_policy_rules_condition_spec.rb} | 16 +- .../types_policy_rules_create_body_spec.rb | 99 + .../types_query_request_select_fields_spec.rb | 63 + spec/models/types_query_request_spec.rb | 69 + spec/models/types_query_result_spec.rb | 57 + spec/models/types_reason_tag_spec.rb | 105 ++ spec/models/types_remediation_spec.rb | 57 + spec/models/types_results_filter_spec.rb | 57 + ...types_run_integration_task_request_spec.rb | 81 + .../types_service_now_deployment_spec.rb | 57 + ...s_service_now_deployments_response_spec.rb | 63 + .../types_service_now_service_data_spec.rb | 99 + ...es_service_now_service_deployments_spec.rb | 57 + spec/models/types_service_now_service_spec.rb | 183 ++ ...ypes_service_now_services_response_spec.rb | 63 + .../types_service_service_artifact_spec.rb | 57 + ...rvice_service_business_application_spec.rb | 57 + ...ypes_service_service_configuration_spec.rb | 57 + .../types_service_service_dependency_spec.rb | 57 + .../types_service_service_framework_spec.rb | 57 + .../types_service_service_interface_spec.rb | 57 + .../types_service_service_library_spec.rb | 57 + spec/models/types_service_service_tag_spec.rb | 57 + .../types_service_service_traits_spec.rb | 57 + spec/models/types_snyk_metadata_spec.rb | 63 + spec/models/types_sonatype_metadata_spec.rb | 69 + ...arameters_spec.rb => types_struct_spec.rb} | 12 +- spec/models/types_tag_data_spec.rb | 75 + spec/models/types_tag_entry_spec.rb | 63 + spec/models/types_tag_spec.rb | 99 + spec/models/types_tags_data_response_spec.rb | 57 + spec/models/types_timestamp_spec.rb | 57 + ...spec_error_spec.rb => types_trait_spec.rb} | 18 +- spec/models/types_tuple_to_string_spec.rb | 57 + spec/models/types_unique_tag_entry_spec.rb | 69 + .../types_update_integration_request_spec.rb | 57 + ...es_update_integration_task_request_spec.rb | 51 + ...psert_business_application_request_spec.rb | 57 + spec/models/v2_activity_spec.rb | 6 + spec/models/v2_condition_groups_spec.rb | 57 + spec/models/v2_condition_spec.rb | 6 + spec/models/v2_definition_spec.rb | 30 + spec/models/v2_for_loop_spec.rb | 30 + spec/models/v2_loop_spec.rb | 6 + spec/models/v2_model_spec.rb | 99 + spec/models/vulncheck_epss_spec.rb | 57 + spec/models/vulncheck_exploit_botnets_spec.rb | 63 + spec/models/vulncheck_exploit_counts_spec.rb | 63 + .../vulncheck_exploit_cve_reference_spec.rb | 63 + spec/models/vulncheck_exploit_details_spec.rb | 129 ++ .../vulncheck_exploit_ransomware_data_spec.rb | 57 + .../vulncheck_exploit_ransomware_spec.rb | 57 + spec/models/vulncheck_exploit_record_spec.rb | 93 + .../vulncheck_exploit_threat_actor_spec.rb | 93 + .../models/vulncheck_exploit_timeline_spec.rb | 123 ++ .../models/vulncheck_exploit_trending_spec.rb | 51 + ...vulncheck_threat_actor_vendor_name_spec.rb | 63 + spec/models/workflow_request_spec.rb | 51 + spec/models/workflow_response_spec.rb | 63 + 2234 files changed, 164608 insertions(+), 7281 deletions(-) delete mode 100644 .openapi-generator/VERSION create mode 100644 docs/ASPMApi.md create mode 100644 docs/ActionsAction.md create mode 100644 docs/ActionsActionResponse.md create mode 100644 docs/ActionsCreateActionRequest.md create mode 100644 docs/ActionsGetActionResponse.md create mode 100644 docs/ActivitiesActivity.md create mode 100644 docs/ActivitiesActivityExtField.md create mode 100644 docs/ActivitiesActivityExternalResponse.md create mode 100644 docs/Activity.md create mode 100644 docs/ApiCertBasedExclusionCreateReqV1.md create mode 100644 docs/ApiCertBasedExclusionRespV1.md create mode 100644 docs/ApiCertBasedExclusionUpdateReqV1.md create mode 100644 docs/ApiCertBasedExclusionV1.md create mode 100644 docs/ApiCertBasedExclusionsCreateReqV1.md create mode 100644 docs/ApiCertBasedExclusionsUpdateReqV1.md create mode 100644 docs/ApiCertificateReqV1.md create mode 100644 docs/ApiCertificateV1.md create mode 100644 docs/ApiCertificatesResponseV1.md create mode 100644 docs/ApiCreateMigrationRequestV1.md create mode 100644 docs/ApiCreateMigrationResponseV1.md create mode 100644 docs/ApiEvent.md create mode 100644 docs/ApiGetHostMigrationResponseV1.md create mode 100644 docs/ApiGetMigrationDestinationsRequestBodyV1.md create mode 100644 docs/ApiGetMigrationDestinationsResponseV1.md create mode 100644 docs/ApiGetMigrationsResponseV1.md create mode 100644 docs/ApiHostMigration.md create mode 100644 docs/ApiHourlyAverageResponse.md create mode 100644 docs/ApiIntegrationsApi.md create mode 100644 docs/ApiMFAResourceIDsResponse.md create mode 100644 docs/ApiMigrateHostsInfo.md create mode 100644 docs/ApiMigration.md create mode 100644 docs/ApiPostEnrollmentDetailsV4.md create mode 100644 docs/ApiRespCertificatesV1.md create mode 100644 docs/ApiRuleUpdateV2.md create mode 100644 docs/ApiRuleUpdatesRequestV2.md create mode 100644 docs/ApiWeeklyAverageResponse.md create mode 100644 docs/CertificateBasedExclusionsApi.md create mode 100644 docs/ChangesPermissionsMac.md create mode 100644 docs/ClientFQLStatement.md create mode 100644 docs/CommonCredentials.md create mode 100644 docs/CommonEntitiesResponse.md create mode 100644 docs/CommonRegistryCredentialsResponse.md create mode 100644 docs/ComplianceAssessmentsApi.md create mode 100644 docs/ContentchangesChangeContentsResponse.md create mode 100644 docs/ContentchangesContent.md create mode 100644 docs/ContentchangesContentDiff.md rename docs/{ProvisionApi.md => CspgIacapiApi.md} (54%) rename docs/{CustomType1255839303.md => CustomStorageObjectKeys.md} (66%) rename docs/{CustomType3191042536.md => CustomStorageResponse.md} (69%) create mode 100644 docs/DatascannerApi.md create mode 100644 docs/DefaultApi.md create mode 100644 docs/DeliverySettingsApi.md create mode 100644 docs/DeploymentsEntityResponse.md create mode 100644 docs/Destination.md create mode 100644 docs/DestinationsMigrationDestination.md rename docs/{DetectsAlert.md => DetectsExternalAlert.md} (64%) delete mode 100644 docs/DetectsapiPostEntitiesAlertsV1Response.md create mode 100644 docs/DetectsapiPostEntitiesAlertsV1ResponseSwagger.md delete mode 100644 docs/DetectsapiPostEntitiesAlertsV2Response.md create mode 100644 docs/DetectsapiPostEntitiesAlertsV2ResponseSwagger.md create mode 100644 docs/DomainAPIComplianceControlV1.md create mode 100644 docs/DomainAPIComplianceMappingV1.md delete mode 100644 docs/DomainAPIEntityMatchedV1.md delete mode 100644 docs/DomainAPIEvaluationLogicHostInfoV1.md create mode 100644 docs/DomainAPIRemediationInfo.md create mode 100644 docs/DomainAPIVulnerabilityServiceV2.md create mode 100644 docs/DomainAWSAccountResourceMetadata.md create mode 100644 docs/DomainAWSInventoryFilterSetting.md create mode 100644 docs/DomainAggregateClusterAssessmentsResponse.md create mode 100644 docs/DomainAggregateFailedAssetCountBySeverityResponse.md create mode 100644 docs/DomainAggregateFailedAssetsByRulesResponse.md create mode 100644 docs/DomainAggregateFailedRulesByClustersResponse.md create mode 100644 docs/DomainAggregateFailedRulesByImagesResponse.md create mode 100644 docs/DomainAggregateFailedRulesCountBySeverityResponse.md create mode 100644 docs/DomainAggregateImageAssessmentsResponse.md create mode 100644 docs/DomainAggregateRulesAssessmentsResponse.md create mode 100644 docs/DomainAggregateRulesByStatusResponse.md create mode 100644 docs/DomainAssessmentPaging.md delete mode 100644 docs/DomainBotnetConfigSource.md delete mode 100644 docs/DomainBotnetInject.md create mode 100644 docs/DomainCISAKnownExploitedVulnerabilitiesInfo.md create mode 100644 docs/DomainCPSRating.md create mode 100644 docs/DomainCPSRatingHistoryEntry.md create mode 100644 docs/DomainCPSRatingIndicator.md create mode 100644 docs/DomainCVE.md create mode 100644 docs/DomainCVEExploit.md create mode 100644 docs/DomainCVEExploitReference.md create mode 100644 docs/DomainCVEExploitSource.md create mode 100644 docs/DomainCVSSv2.md create mode 100644 docs/DomainCVSSv3.md create mode 100644 docs/DomainCipher.md create mode 100644 docs/DomainCloudAWSAccountV1.md create mode 100644 docs/DomainCloudCondition.md create mode 100644 docs/DomainCompliance.md create mode 100644 docs/DomainComplianceFindingsGroupedByImagesWithScroll.md create mode 100644 docs/DomainConfigV1.md create mode 100644 docs/DomainConfigsV1.md create mode 100644 docs/DomainContentPackage.md create mode 100644 docs/DomainControl.md create mode 100644 docs/DomainControlBenchmark.md create mode 100644 docs/DomainCreateSubmissionV1ErrorResponse.md delete mode 100644 docs/DomainDDOSAttackSource.md delete mode 100644 docs/DomainDDOSTargetDetails.md create mode 100644 docs/DomainDenormalizedAdversaryReference.md create mode 100644 docs/DomainDenormalizedCountry.md create mode 100644 docs/DomainDenormalizedCustomerTarget.md create mode 100644 docs/DomainDenormalizedReportReference.md create mode 100644 docs/DomainDenormalizedSector.md create mode 100644 docs/DomainDenormalizedThreatReference.md create mode 100644 docs/DomainDenormalizedThreatUsedMitre.md create mode 100644 docs/DomainDiscoverAPIApplicationBrowserExtension.md create mode 100644 docs/DomainDiscoverAPIApplicationBrowserExtensionInstallation.md create mode 100644 docs/DomainDiscoverAPICombinedApplicationsResponse.md create mode 100644 docs/DomainDiscoverAPICombinedHostsResponse.md create mode 100644 docs/DomainDiscoverAPIIoTHostTriage.md rename docs/{MsaspecMetaInfo.md => DomainDiscoverAPIMetaInfo.md} (70%) rename docs/{MsaspecPaging.md => DomainDiscoverAPIPaging.md} (65%) create mode 100644 docs/DomainDiscoverAPIResponse.md delete mode 100644 docs/DomainEntity.md delete mode 100644 docs/DomainEvent.md delete mode 100644 docs/DomainEventEntitiesResponse.md create mode 100644 docs/DomainExecuteCommandRequestV1.md create mode 100644 docs/DomainExecuteCommandResultV1.md create mode 100644 docs/DomainExecuteCommandResultsV1.md create mode 100644 docs/DomainExecuteCommandV1.md create mode 100644 docs/DomainExternalAssetAPIDeleteRequestV1.md create mode 100644 docs/DomainExternalAssetAPIPatchRequestV1.md create mode 100644 docs/DomainExternalAssetApplication.md create mode 100644 docs/DomainExternalAssetCertificate.md create mode 100644 docs/DomainExternalAssetCertificateEntityIdentifiers.md create mode 100644 docs/DomainExternalAssetCloudVM.md create mode 100644 docs/DomainExternalAssetDiscoveryAttributes.md create mode 100644 docs/DomainExternalAssetDiscoveryPathAttributes.md create mode 100644 docs/DomainExternalAssetDiscoveryStepAttributes.md create mode 100644 docs/DomainExternalAssetGeographicalLocation.md create mode 100644 docs/DomainExternalAssetHTTPAttributes.md create mode 100644 docs/DomainExternalAssetRedirectStepAttributes.md create mode 100644 docs/DomainExternalAssetSSLRecord.md create mode 100644 docs/DomainExternalAssetService.md create mode 100644 docs/DomainExternalAssetServiceBlobsLinks.md create mode 100644 docs/DomainExternalAssetSubsidiary.md create mode 100644 docs/DomainExternalAssetsAPIPatch.md create mode 100644 docs/DomainExternalAssetsAPITriage.md create mode 100644 docs/DomainExternalAssetsAPITriagePatch.md create mode 100644 docs/DomainExternalAssetsAPITypeV1.md create mode 100644 docs/DomainExternalAssetsBlobAPITypeV1.md create mode 100644 docs/DomainExternalExportJob.md create mode 100644 docs/DomainFeaturePermission.md create mode 100644 docs/DomainFeatureStatus.md create mode 100644 docs/DomainFemDNSDomain.md create mode 100644 docs/DomainFemEcosystemSubsidiariesEntitiesResponse.md create mode 100644 docs/DomainFemEcosystemSubsidiariesMeta.md create mode 100644 docs/DomainFemEcosystemSubsidiariesQueryResponse.md create mode 100644 docs/DomainFemEcosystemSubsidiariesResponseFields.md create mode 100644 docs/DomainFemEcosystemSubsidiary.md create mode 100644 docs/DomainFemExternalAsset.md create mode 100644 docs/DomainFemExternalIP.md create mode 100644 docs/DomainGeoPoint.md create mode 100644 docs/DomainMalwareDocument.md create mode 100644 docs/DomainMalwareEnvironmentAggregates.md create mode 100644 docs/DomainMalwareResponse.md create mode 100644 docs/DomainMarketplaceCredentials.md delete mode 100644 docs/DomainMatchedRule.md create mode 100644 docs/DomainMsaMetaInfo.md delete mode 100644 docs/DomainPastebinTextSource.md create mode 100644 docs/DomainProductFeatures.md create mode 100644 docs/DomainProductFeaturesStatus.md create mode 100644 docs/DomainProductPermission.md create mode 100644 docs/DomainReference.md create mode 100644 docs/DomainRequest.md delete mode 100644 docs/DomainRuleEntitiesResponse.md create mode 100644 docs/DomainSensorInstallerV2.md create mode 100644 docs/DomainSensorInstallersV2.md create mode 100644 docs/DomainSpotlightParams.md delete mode 100644 docs/DomainTweetSource.md create mode 100644 docs/DomainVuln.md delete mode 100644 docs/DomainVulnerabilityActor.md delete mode 100644 docs/DomainVulnerabilityAffectedProduct.md delete mode 100644 docs/DomainVulnerabilityRelatedThreat.md delete mode 100644 docs/DomainVulnerabilityReport.md create mode 100644 docs/DownloadsApiApi.md create mode 100644 docs/EntitiesRollingAverage.md create mode 100644 docs/ExportsExportsResponse.md create mode 100644 docs/ExportsLaunchExportRequest.md create mode 100644 docs/ExportsLaunchExportResponse.md create mode 100644 docs/ExposureManagementApi.md create mode 100644 docs/FielddataFieldSource.md create mode 100644 docs/FielddataFieldSourceOption.md create mode 100644 docs/FwmgrMsaExtendedBoundsSpec.md create mode 100644 docs/HandleApi.md create mode 100644 docs/HostMigrationApi.md create mode 100644 docs/HumioAuthProxyApi.md rename docs/{DomainKeyValuePair.md => JsonschemaDurationOption.md} (73%) create mode 100644 docs/JsonschemaUIExtensions.md create mode 100644 docs/ModelsBaseImageRequest.md create mode 100644 docs/ModelsClusterInfo.md create mode 100644 docs/ModelsClusterWithFailedRules.md create mode 100644 docs/ModelsComplianceByRules.md create mode 100644 docs/ModelsComplianceExportGroupedByClustersReport.md create mode 100644 docs/ModelsComplianceExportGroupedByImagesReport.md create mode 100644 docs/ModelsComplianceExportGroupedByRulesReport.md create mode 100644 docs/ModelsCreateBaseImagesRequest.md create mode 100644 docs/ModelsCreateDeploymentInput.md create mode 100644 docs/ModelsDeliverySettings.md create mode 100644 docs/ModelsDeliverySettingsEntityResponse.md create mode 100644 docs/ModelsDeliverySettingsInput.md create mode 100644 docs/ModelsDeliverySettingsRequest.md create mode 100644 docs/ModelsDeploymentResource.md create mode 100644 docs/ModelsDetection.md create mode 100644 docs/ModelsDetectionEngineInfoType.md create mode 100644 docs/ModelsDetectionInfoType.md create mode 100644 docs/ModelsELFBinary.md create mode 100644 docs/ModelsImageDetails.md create mode 100644 docs/ModelsImageWithRulesFailed.md create mode 100644 docs/ModelsImagesWithRulesFailed.md create mode 100644 docs/ModelsJobMetaData.md create mode 100644 docs/ModelsMockExecutionCreateRequestV1.md create mode 100644 docs/ModelsNonCompliantAssetsBySeverity.md create mode 100644 docs/ModelsOSInfoType.md create mode 100644 docs/ModelsPackageVulnerabilityType.md create mode 100644 docs/ModelsRuleStatus.md create mode 100644 docs/ModelsRuleWithNonCompliantAssets.md create mode 100644 docs/ModelsRulesFailedBySeverity.md create mode 100644 docs/ModelsRulesWithNonCompliantAssets.md create mode 100644 docs/ModelsScanReportType.md create mode 100644 docs/ModelsScanResults.md create mode 100644 docs/ModelsSnapshotInventoryApplication.md create mode 100644 docs/ModelsVulnerabilitiesType.md create mode 100644 docs/ModelsVulnerabilityProduct.md create mode 100644 docs/ModelsVulnerabilityType.md create mode 100644 docs/MsaEntityActionRequestV3.md create mode 100644 docs/MsaExtendedBoundsSpec.md delete mode 100644 docs/MsaspecError.md rename docs/{ChangesGetChangesResponse.md => PublicGetChangesResponse.md} (53%) create mode 100644 docs/QuickScanProApi.md create mode 100644 docs/QuickscanproDeleteFileResponse.md create mode 100644 docs/QuickscanproFileResult.md create mode 100644 docs/QuickscanproFileUploadResource.md create mode 100644 docs/QuickscanproFileUploadResponse.md create mode 100644 docs/QuickscanproGetScanResultResource.md create mode 100644 docs/QuickscanproGetScanResultResponse.md create mode 100644 docs/QuickscanproLaunchScanRequest.md create mode 100644 docs/QuickscanproLaunchScanRequestResource.md create mode 100644 docs/QuickscanproLaunchScanResource.md create mode 100644 docs/QuickscanproLaunchScanResponse.md create mode 100644 docs/QuickscanproMITREAttack.md create mode 100644 docs/QuickscanproMITREAttackParent.md create mode 100644 docs/QuickscanproQueryScanResultsResponse.md create mode 100644 docs/QuickscanproQuotaResource.md create mode 100644 docs/QuickscanproScanMetadata.md create mode 100644 docs/QuickscanproScanResult.md create mode 100644 docs/QuickscanproURLResult.md create mode 100644 docs/RegistrationAWSConsoleURLResponseV2.md delete mode 100644 docs/RegistrationGCPAccountPatchRequest.md create mode 100644 docs/RegistrationGCPAccountPatchRequestV1.md create mode 100644 docs/RegistrationGCPAccountPatchV1.md create mode 100644 docs/RegistrationGCPAccountValidatedV1.md rename docs/{RegistrationGCPAccountPatch.md => RegistrationGCPAccountValidationReqObjV1.md} (55%) create mode 100644 docs/RegistrationGCPAccountValidationRequestV1.md create mode 100644 docs/RegistrationGCPAccountValidationResponseV1.md create mode 100644 docs/RegistrationGCPServiceAccountPatchRequestV1.md create mode 100644 docs/RegistrationGCPServiceAccountPatchV1.md create mode 100644 docs/RegistrationGCPServiceAccountValidationRequestObjV1.md create mode 100644 docs/RegistrationGCPServiceAccountValidationRequestV1.md create mode 100644 docs/RegistrationGCPServiceAccountValidationResponseV1.md create mode 100644 docs/RestAWSAccountCreateRequestExtv1.md create mode 100644 docs/RestAWSAccountCreateResponseExtV1.md create mode 100644 docs/RestAWSAccountValidated.md create mode 100644 docs/RestAWSAccountValidationResponse.md create mode 100644 docs/RestAccountProductUpsertRequestExtV1.md create mode 100644 docs/RestCloudAWSAccountCreateExtV1.md create mode 100644 docs/SadomainTyposquattingSubdomain.md create mode 100644 docs/ScanreportsEntitiesResponse.md create mode 100644 docs/SensorUsageApiApi.md create mode 100644 docs/SourceEndpoint.md create mode 100644 docs/SourceUser.md delete mode 100644 docs/TailoredIntelligenceApi.md create mode 100644 docs/ThreatgraphApi.md create mode 100644 docs/ThreatgraphMeta.md create mode 100644 docs/ThreatgraphPaging.md create mode 100644 docs/ThreatgraphVertexDetails.md create mode 100644 docs/ThreatgraphVertexDetailsResponse.md create mode 100644 docs/TriggersTriggerExt.md create mode 100644 docs/TriggersTriggerExtField.md create mode 100644 docs/TriggersTriggerExternalResponse.md create mode 100644 docs/TypesAWSMetadata.md create mode 100644 docs/TypesActionRun.md create mode 100644 docs/TypesActionRunEvent.md create mode 100644 docs/TypesActionRunEventData.md create mode 100644 docs/TypesActionRunMetadata.md create mode 100644 docs/TypesArtifact.md create mode 100644 docs/TypesAwsApiGatewayReasonTag.md create mode 100644 docs/TypesAwsElasticIpReasonTag.md create mode 100644 docs/TypesAwsLambdaApiGatewayReasonTag.md create mode 100644 docs/TypesAwsLoadBalancerReasonTag.md create mode 100644 docs/TypesAzureApplicationGatewayReasonTag.md create mode 100644 docs/TypesAzureLoadBalancerReasonTag.md create mode 100644 docs/TypesAzureSiteMetadata.md create mode 100644 docs/TypesAzureVmMetadata.md create mode 100644 docs/TypesBusinessApplication.md create mode 100644 docs/TypesCloudFunctionMetadata.md create mode 100644 docs/TypesComposedSchedule.md create mode 100644 docs/TypesConfiguration.md create mode 100644 docs/TypesCreateIntegrationRequest.md create mode 100644 docs/TypesCreateIntegrationTaskRequest.md create mode 100644 docs/TypesCrowdStrikeCloudSecurityMetadata.md create mode 100644 docs/TypesDataTypeDbReasonTag.md create mode 100644 docs/TypesDataTypeMqReasonTag.md create mode 100644 docs/TypesDependency.md create mode 100644 docs/TypesDeploymentUnitDescriptor.md create mode 100644 docs/TypesDeploymentUnitService.md create mode 100644 docs/TypesDeploymentUnitsTupleFilters.md create mode 100644 docs/TypesEC2Metadata.md create mode 100644 docs/TypesECSMetadata.md create mode 100644 docs/TypesEditTagRequest.md create mode 100644 docs/TypesEditUniqueTagRequest.md create mode 100644 docs/TypesErrorMessage.md create mode 100644 docs/TypesExecutorNode.md create mode 100644 docs/TypesFramework.md create mode 100644 docs/TypesGCPMetadata.md create mode 100644 docs/TypesGenericUserFacingRequest.md create mode 100644 docs/TypesGetServicesRelatedEntity.md create mode 100644 docs/TypesGetServicesRelatedEntityFilters.md create mode 100644 docs/TypesGetServicesRelatedEntityGroupByFields.md create mode 100644 docs/TypesGetServicesRequest.md create mode 100644 docs/TypesGetViolationTypesResponse.md create mode 100644 docs/TypesHostMetadata.md create mode 100644 docs/TypesIntegration.md create mode 100644 docs/TypesIntegrationResponse.md create mode 100644 docs/TypesIntegrationTask.md create mode 100644 docs/TypesIntegrationTaskResponse.md create mode 100644 docs/TypesIntegrationTaskTestConnectionResponse.md create mode 100644 docs/TypesIntegrationTaskType.md create mode 100644 docs/TypesIntegrationType.md create mode 100644 docs/TypesInterface.md create mode 100644 docs/TypesInterfaceService.md create mode 100644 docs/TypesK8SLoadBalancerReasonTag.md create mode 100644 docs/TypesK8SMetadata.md create mode 100644 docs/TypesK8SPodSettings.md create mode 100644 docs/TypesKeyValue.md create mode 100644 docs/TypesLambdaMetadata.md create mode 100644 docs/TypesLibrary.md create mode 100644 docs/TypesListExecutorNodesResponse.md create mode 100644 docs/TypesListIntegrationTasksResponse.md create mode 100644 docs/TypesListIntegrationTypesResponse.md create mode 100644 docs/TypesListIntegrationsResponse.md create mode 100644 docs/TypesOrderBy.md create mode 100644 docs/TypesPaginate.md create mode 100644 docs/TypesPagination.md create mode 100644 docs/TypesPolicyRulesCondition.md create mode 100644 docs/TypesPolicyRulesCreateBody.md create mode 100644 docs/TypesQueryRequest.md create mode 100644 docs/TypesQueryRequestSelectFields.md create mode 100644 docs/TypesQueryResult.md create mode 100644 docs/TypesReasonTag.md create mode 100644 docs/TypesRemediation.md create mode 100644 docs/TypesResultsFilter.md create mode 100644 docs/TypesRunIntegrationTaskRequest.md create mode 100644 docs/TypesServiceNowDeployment.md create mode 100644 docs/TypesServiceNowDeploymentsResponse.md create mode 100644 docs/TypesServiceNowService.md create mode 100644 docs/TypesServiceNowServiceData.md create mode 100644 docs/TypesServiceNowServiceDeployments.md create mode 100644 docs/TypesServiceNowServicesResponse.md create mode 100644 docs/TypesServiceServiceArtifact.md create mode 100644 docs/TypesServiceServiceBusinessApplication.md create mode 100644 docs/TypesServiceServiceConfiguration.md create mode 100644 docs/TypesServiceServiceDependency.md create mode 100644 docs/TypesServiceServiceFramework.md create mode 100644 docs/TypesServiceServiceInterface.md create mode 100644 docs/TypesServiceServiceLibrary.md create mode 100644 docs/TypesServiceServiceTag.md create mode 100644 docs/TypesServiceServiceTraits.md create mode 100644 docs/TypesSnykMetadata.md create mode 100644 docs/TypesSonatypeMetadata.md create mode 100644 docs/TypesStruct.md create mode 100644 docs/TypesTag.md create mode 100644 docs/TypesTagData.md create mode 100644 docs/TypesTagEntry.md create mode 100644 docs/TypesTagsDataResponse.md create mode 100644 docs/TypesTimestamp.md create mode 100644 docs/TypesTrait.md create mode 100644 docs/TypesTupleToString.md create mode 100644 docs/TypesUniqueTagEntry.md create mode 100644 docs/TypesUpdateIntegrationRequest.md create mode 100644 docs/TypesUpdateIntegrationTaskRequest.md create mode 100644 docs/TypesUpsertBusinessApplicationRequest.md rename docs/{V2ConditionParameters.md => V2ConditionGroups.md} (61%) create mode 100644 docs/V2Model.md create mode 100644 docs/VulncheckEPSS.md create mode 100644 docs/VulncheckExploitBotnets.md create mode 100644 docs/VulncheckExploitCVEReference.md create mode 100644 docs/VulncheckExploitCounts.md create mode 100644 docs/VulncheckExploitDetails.md create mode 100644 docs/VulncheckExploitRansomware.md create mode 100644 docs/VulncheckExploitRansomwareData.md create mode 100644 docs/VulncheckExploitRecord.md create mode 100644 docs/VulncheckExploitThreatActor.md create mode 100644 docs/VulncheckExploitTimeline.md create mode 100644 docs/VulncheckExploitTrending.md create mode 100644 docs/VulncheckThreatActorVendorName.md create mode 100644 docs/WorkflowRequest.md create mode 100644 docs/WorkflowResponse.md create mode 100644 lib/crimson-falcon/api/api_integrations_api.rb create mode 100644 lib/crimson-falcon/api/aspm_api.rb create mode 100644 lib/crimson-falcon/api/certificate_based_exclusions_api.rb create mode 100644 lib/crimson-falcon/api/compliance_assessments_api.rb rename lib/crimson-falcon/api/{provision_api.rb => cspg_iacapi_api.rb} (77%) create mode 100644 lib/crimson-falcon/api/datascanner_api.rb create mode 100644 lib/crimson-falcon/api/default_api.rb create mode 100644 lib/crimson-falcon/api/delivery_settings_api.rb create mode 100644 lib/crimson-falcon/api/downloads_api_api.rb create mode 100644 lib/crimson-falcon/api/exposure_management_api.rb create mode 100644 lib/crimson-falcon/api/handle_api.rb create mode 100644 lib/crimson-falcon/api/host_migration_api.rb create mode 100644 lib/crimson-falcon/api/humio_auth_proxy_api.rb create mode 100644 lib/crimson-falcon/api/quick_scan_pro_api.rb create mode 100644 lib/crimson-falcon/api/sensor_usage_api_api.rb delete mode 100644 lib/crimson-falcon/api/tailored_intelligence_api.rb create mode 100644 lib/crimson-falcon/api/threatgraph_api.rb create mode 100644 lib/crimson-falcon/models/actions_action.rb create mode 100644 lib/crimson-falcon/models/actions_action_response.rb create mode 100644 lib/crimson-falcon/models/actions_create_action_request.rb create mode 100644 lib/crimson-falcon/models/actions_get_action_response.rb create mode 100644 lib/crimson-falcon/models/activities_activity.rb create mode 100644 lib/crimson-falcon/models/activities_activity_ext_field.rb create mode 100644 lib/crimson-falcon/models/activities_activity_external_response.rb create mode 100644 lib/crimson-falcon/models/activity.rb create mode 100644 lib/crimson-falcon/models/api_cert_based_exclusion_create_req_v1.rb create mode 100644 lib/crimson-falcon/models/api_cert_based_exclusion_resp_v1.rb create mode 100644 lib/crimson-falcon/models/api_cert_based_exclusion_update_req_v1.rb create mode 100644 lib/crimson-falcon/models/api_cert_based_exclusion_v1.rb create mode 100644 lib/crimson-falcon/models/api_cert_based_exclusions_create_req_v1.rb create mode 100644 lib/crimson-falcon/models/api_cert_based_exclusions_update_req_v1.rb create mode 100644 lib/crimson-falcon/models/api_certificate_req_v1.rb create mode 100644 lib/crimson-falcon/models/api_certificate_v1.rb create mode 100644 lib/crimson-falcon/models/api_certificates_response_v1.rb create mode 100644 lib/crimson-falcon/models/api_create_migration_request_v1.rb create mode 100644 lib/crimson-falcon/models/api_create_migration_response_v1.rb create mode 100644 lib/crimson-falcon/models/api_event.rb create mode 100644 lib/crimson-falcon/models/api_get_host_migration_response_v1.rb create mode 100644 lib/crimson-falcon/models/api_get_migration_destinations_request_body_v1.rb create mode 100644 lib/crimson-falcon/models/api_get_migration_destinations_response_v1.rb rename lib/crimson-falcon/models/{domain_rule_entities_response.rb => api_get_migrations_response_v1.rb} (96%) rename lib/crimson-falcon/models/{domain_ddos_attack_source.rb => api_host_migration.rb} (52%) create mode 100644 lib/crimson-falcon/models/api_hourly_average_response.rb create mode 100644 lib/crimson-falcon/models/api_mfa_resource_ids_response.rb create mode 100644 lib/crimson-falcon/models/api_migrate_hosts_info.rb create mode 100644 lib/crimson-falcon/models/api_migration.rb create mode 100644 lib/crimson-falcon/models/api_post_enrollment_details_v4.rb create mode 100644 lib/crimson-falcon/models/api_resp_certificates_v1.rb create mode 100644 lib/crimson-falcon/models/api_rule_update_v2.rb create mode 100644 lib/crimson-falcon/models/api_rule_updates_request_v2.rb create mode 100644 lib/crimson-falcon/models/api_weekly_average_response.rb create mode 100644 lib/crimson-falcon/models/changes_permissions_mac.rb create mode 100644 lib/crimson-falcon/models/client_fql_statement.rb create mode 100644 lib/crimson-falcon/models/common_credentials.rb create mode 100644 lib/crimson-falcon/models/common_entities_response.rb create mode 100644 lib/crimson-falcon/models/common_registry_credentials_response.rb create mode 100644 lib/crimson-falcon/models/contentchanges_change_contents_response.rb create mode 100644 lib/crimson-falcon/models/contentchanges_content.rb create mode 100644 lib/crimson-falcon/models/contentchanges_content_diff.rb rename lib/crimson-falcon/models/{custom_type1255839303.rb => custom_storage_object_keys.rb} (96%) rename lib/crimson-falcon/models/{custom_type3191042536.rb => custom_storage_response.rb} (96%) rename lib/crimson-falcon/models/{changes_get_changes_response.rb => deployments_entity_response.rb} (96%) create mode 100644 lib/crimson-falcon/models/destination.rb rename lib/crimson-falcon/models/{domain_vulnerability_related_threat.rb => destinations_migration_destination.rb} (91%) rename lib/crimson-falcon/models/{detects_alert.rb => detects_external_alert.rb} (69%) rename lib/crimson-falcon/models/{detectsapi_post_entities_alerts_v2_response.rb => detectsapi_post_entities_alerts_v1_response_swagger.rb} (94%) rename lib/crimson-falcon/models/{detectsapi_post_entities_alerts_v1_response.rb => detectsapi_post_entities_alerts_v2_response_swagger.rb} (94%) create mode 100644 lib/crimson-falcon/models/domain_aggregate_cluster_assessments_response.rb create mode 100644 lib/crimson-falcon/models/domain_aggregate_failed_asset_count_by_severity_response.rb create mode 100644 lib/crimson-falcon/models/domain_aggregate_failed_assets_by_rules_response.rb create mode 100644 lib/crimson-falcon/models/domain_aggregate_failed_rules_by_clusters_response.rb create mode 100644 lib/crimson-falcon/models/domain_aggregate_failed_rules_by_images_response.rb create mode 100644 lib/crimson-falcon/models/domain_aggregate_failed_rules_count_by_severity_response.rb create mode 100644 lib/crimson-falcon/models/domain_aggregate_image_assessments_response.rb create mode 100644 lib/crimson-falcon/models/domain_aggregate_rules_assessments_response.rb create mode 100644 lib/crimson-falcon/models/domain_aggregate_rules_by_status_response.rb create mode 100644 lib/crimson-falcon/models/domain_api_compliance_control_v1.rb create mode 100644 lib/crimson-falcon/models/domain_api_compliance_mapping_v1.rb create mode 100644 lib/crimson-falcon/models/domain_api_remediation_info.rb create mode 100644 lib/crimson-falcon/models/domain_api_vulnerability_service_v2.rb rename lib/crimson-falcon/models/{msaspec_paging.rb => domain_assessment_paging.rb} (93%) create mode 100644 lib/crimson-falcon/models/domain_aws_account_resource_metadata.rb create mode 100644 lib/crimson-falcon/models/domain_aws_inventory_filter_setting.rb create mode 100644 lib/crimson-falcon/models/domain_cipher.rb create mode 100644 lib/crimson-falcon/models/domain_cisa_known_exploited_vulnerabilities_info.rb create mode 100644 lib/crimson-falcon/models/domain_cloud_aws_account_v1.rb create mode 100644 lib/crimson-falcon/models/domain_cloud_condition.rb create mode 100644 lib/crimson-falcon/models/domain_compliance.rb create mode 100644 lib/crimson-falcon/models/domain_compliance_findings_grouped_by_images_with_scroll.rb rename lib/crimson-falcon/models/{domain_pastebin_text_source.rb => domain_config_v1.rb} (75%) create mode 100644 lib/crimson-falcon/models/domain_configs_v1.rb create mode 100644 lib/crimson-falcon/models/domain_content_package.rb create mode 100644 lib/crimson-falcon/models/domain_control.rb create mode 100644 lib/crimson-falcon/models/domain_control_benchmark.rb create mode 100644 lib/crimson-falcon/models/domain_cps_rating.rb create mode 100644 lib/crimson-falcon/models/domain_cps_rating_history_entry.rb create mode 100644 lib/crimson-falcon/models/domain_cps_rating_indicator.rb create mode 100644 lib/crimson-falcon/models/domain_create_submission_v1_error_response.rb create mode 100644 lib/crimson-falcon/models/domain_cve.rb create mode 100644 lib/crimson-falcon/models/domain_cve_exploit.rb create mode 100644 lib/crimson-falcon/models/domain_cve_exploit_reference.rb create mode 100644 lib/crimson-falcon/models/domain_cve_exploit_source.rb create mode 100644 lib/crimson-falcon/models/domain_cvssv2.rb create mode 100644 lib/crimson-falcon/models/domain_cvssv3.rb create mode 100644 lib/crimson-falcon/models/domain_denormalized_adversary_reference.rb rename lib/crimson-falcon/models/{msaspec_error.rb => domain_denormalized_country.rb} (90%) create mode 100644 lib/crimson-falcon/models/domain_denormalized_customer_target.rb create mode 100644 lib/crimson-falcon/models/domain_denormalized_report_reference.rb create mode 100644 lib/crimson-falcon/models/domain_denormalized_sector.rb create mode 100644 lib/crimson-falcon/models/domain_denormalized_threat_reference.rb create mode 100644 lib/crimson-falcon/models/domain_denormalized_threat_used_mitre.rb create mode 100644 lib/crimson-falcon/models/domain_discover_api_application_browser_extension.rb create mode 100644 lib/crimson-falcon/models/domain_discover_api_application_browser_extension_installation.rb create mode 100644 lib/crimson-falcon/models/domain_discover_api_combined_applications_response.rb create mode 100644 lib/crimson-falcon/models/domain_discover_api_combined_hosts_response.rb rename lib/crimson-falcon/models/{msaspec_meta_info.rb => domain_discover_api_meta_info.rb} (96%) create mode 100644 lib/crimson-falcon/models/domain_discover_api_paging.rb create mode 100644 lib/crimson-falcon/models/domain_discover_api_response.rb create mode 100644 lib/crimson-falcon/models/domain_discover_apiio_t_host_triage.rb create mode 100644 lib/crimson-falcon/models/domain_execute_command_request_v1.rb create mode 100644 lib/crimson-falcon/models/domain_execute_command_result_v1.rb create mode 100644 lib/crimson-falcon/models/domain_execute_command_results_v1.rb create mode 100644 lib/crimson-falcon/models/domain_execute_command_v1.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_api_delete_request_v1.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_api_patch_request_v1.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_application.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_certificate.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_certificate_entity_identifiers.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_cloud_vm.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_discovery_attributes.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_discovery_path_attributes.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_discovery_step_attributes.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_geographical_location.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_http_attributes.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_redirect_step_attributes.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_service.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_service_blobs_links.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_ssl_record.rb create mode 100644 lib/crimson-falcon/models/domain_external_asset_subsidiary.rb create mode 100644 lib/crimson-falcon/models/domain_external_assets_api_patch.rb create mode 100644 lib/crimson-falcon/models/domain_external_assets_api_triage.rb create mode 100644 lib/crimson-falcon/models/domain_external_assets_api_triage_patch.rb create mode 100644 lib/crimson-falcon/models/domain_external_assets_api_type_v1.rb create mode 100644 lib/crimson-falcon/models/domain_external_assets_blob_api_type_v1.rb create mode 100644 lib/crimson-falcon/models/domain_external_export_job.rb create mode 100644 lib/crimson-falcon/models/domain_feature_permission.rb create mode 100644 lib/crimson-falcon/models/domain_feature_status.rb create mode 100644 lib/crimson-falcon/models/domain_fem_dns_domain.rb create mode 100644 lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_entities_response.rb rename lib/crimson-falcon/models/{domain_api_evaluation_logic_host_info_v1.rb => domain_fem_ecosystem_subsidiaries_meta.rb} (87%) create mode 100644 lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_query_response.rb create mode 100644 lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_response_fields.rb create mode 100644 lib/crimson-falcon/models/domain_fem_ecosystem_subsidiary.rb create mode 100644 lib/crimson-falcon/models/domain_fem_external_asset.rb create mode 100644 lib/crimson-falcon/models/domain_fem_external_ip.rb create mode 100644 lib/crimson-falcon/models/domain_geo_point.rb create mode 100644 lib/crimson-falcon/models/domain_malware_document.rb create mode 100644 lib/crimson-falcon/models/domain_malware_environment_aggregates.rb create mode 100644 lib/crimson-falcon/models/domain_malware_response.rb create mode 100644 lib/crimson-falcon/models/domain_marketplace_credentials.rb create mode 100644 lib/crimson-falcon/models/domain_msa_meta_info.rb create mode 100644 lib/crimson-falcon/models/domain_product_features.rb create mode 100644 lib/crimson-falcon/models/domain_product_features_status.rb create mode 100644 lib/crimson-falcon/models/domain_product_permission.rb create mode 100644 lib/crimson-falcon/models/domain_reference.rb create mode 100644 lib/crimson-falcon/models/domain_request.rb create mode 100644 lib/crimson-falcon/models/domain_sensor_installer_v2.rb create mode 100644 lib/crimson-falcon/models/domain_sensor_installers_v2.rb create mode 100644 lib/crimson-falcon/models/domain_spotlight_params.rb create mode 100644 lib/crimson-falcon/models/domain_vuln.rb create mode 100644 lib/crimson-falcon/models/entities_rolling_average.rb create mode 100644 lib/crimson-falcon/models/exports_exports_response.rb create mode 100644 lib/crimson-falcon/models/exports_launch_export_request.rb create mode 100644 lib/crimson-falcon/models/exports_launch_export_response.rb create mode 100644 lib/crimson-falcon/models/fielddata_field_source.rb create mode 100644 lib/crimson-falcon/models/fielddata_field_source_option.rb create mode 100644 lib/crimson-falcon/models/fwmgr_msa_extended_bounds_spec.rb rename lib/crimson-falcon/models/{domain_key_value_pair.rb => jsonschema_duration_option.rb} (96%) create mode 100644 lib/crimson-falcon/models/jsonschema_ui_extensions.rb create mode 100644 lib/crimson-falcon/models/models_base_image_request.rb create mode 100644 lib/crimson-falcon/models/models_cluster_info.rb create mode 100644 lib/crimson-falcon/models/models_cluster_with_failed_rules.rb create mode 100644 lib/crimson-falcon/models/models_compliance_by_rules.rb create mode 100644 lib/crimson-falcon/models/models_compliance_export_grouped_by_clusters_report.rb create mode 100644 lib/crimson-falcon/models/models_compliance_export_grouped_by_images_report.rb rename lib/crimson-falcon/models/{domain_event.rb => models_compliance_export_grouped_by_rules_report.rb} (55%) create mode 100644 lib/crimson-falcon/models/models_create_base_images_request.rb rename lib/crimson-falcon/models/{registration_gcp_account_patch_request.rb => models_create_deployment_input.rb} (95%) create mode 100644 lib/crimson-falcon/models/models_delivery_settings.rb create mode 100644 lib/crimson-falcon/models/models_delivery_settings_entity_response.rb create mode 100644 lib/crimson-falcon/models/models_delivery_settings_input.rb create mode 100644 lib/crimson-falcon/models/models_delivery_settings_request.rb create mode 100644 lib/crimson-falcon/models/models_deployment_resource.rb create mode 100644 lib/crimson-falcon/models/models_detection.rb create mode 100644 lib/crimson-falcon/models/models_detection_engine_info_type.rb create mode 100644 lib/crimson-falcon/models/models_detection_info_type.rb create mode 100644 lib/crimson-falcon/models/models_elf_binary.rb create mode 100644 lib/crimson-falcon/models/models_image_details.rb create mode 100644 lib/crimson-falcon/models/models_image_with_rules_failed.rb create mode 100644 lib/crimson-falcon/models/models_images_with_rules_failed.rb create mode 100644 lib/crimson-falcon/models/models_job_meta_data.rb create mode 100644 lib/crimson-falcon/models/models_mock_execution_create_request_v1.rb create mode 100644 lib/crimson-falcon/models/models_non_compliant_assets_by_severity.rb create mode 100644 lib/crimson-falcon/models/models_os_info_type.rb create mode 100644 lib/crimson-falcon/models/models_package_vulnerability_type.rb create mode 100644 lib/crimson-falcon/models/models_rule_status.rb create mode 100644 lib/crimson-falcon/models/models_rule_with_non_compliant_assets.rb create mode 100644 lib/crimson-falcon/models/models_rules_failed_by_severity.rb create mode 100644 lib/crimson-falcon/models/models_rules_with_non_compliant_assets.rb create mode 100644 lib/crimson-falcon/models/models_scan_report_type.rb rename lib/crimson-falcon/models/{domain_tweet_source.rb => models_scan_results.rb} (76%) create mode 100644 lib/crimson-falcon/models/models_snapshot_inventory_application.rb create mode 100644 lib/crimson-falcon/models/models_vulnerabilities_type.rb create mode 100644 lib/crimson-falcon/models/models_vulnerability_product.rb create mode 100644 lib/crimson-falcon/models/models_vulnerability_type.rb create mode 100644 lib/crimson-falcon/models/msa_entity_action_request_v3.rb create mode 100644 lib/crimson-falcon/models/msa_extended_bounds_spec.rb create mode 100644 lib/crimson-falcon/models/public_get_changes_response.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_delete_file_response.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_file_result.rb rename lib/crimson-falcon/models/{domain_vulnerability_affected_product.rb => quickscanpro_file_upload_resource.rb} (89%) create mode 100644 lib/crimson-falcon/models/quickscanpro_file_upload_response.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_get_scan_result_resource.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_get_scan_result_response.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_launch_scan_request.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_launch_scan_request_resource.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_launch_scan_resource.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_launch_scan_response.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_mitre_attack.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_mitre_attack_parent.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_query_scan_results_response.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_quota_resource.rb create mode 100644 lib/crimson-falcon/models/quickscanpro_scan_metadata.rb rename lib/crimson-falcon/models/{domain_botnet_config_source.rb => quickscanpro_scan_result.rb} (62%) create mode 100644 lib/crimson-falcon/models/quickscanpro_url_result.rb create mode 100644 lib/crimson-falcon/models/registration_aws_console_url_response_v2.rb create mode 100644 lib/crimson-falcon/models/registration_gcp_account_patch_request_v1.rb create mode 100644 lib/crimson-falcon/models/registration_gcp_account_patch_v1.rb create mode 100644 lib/crimson-falcon/models/registration_gcp_account_validated_v1.rb rename lib/crimson-falcon/models/{registration_gcp_account_patch.rb => registration_gcp_account_validation_req_obj_v1.rb} (92%) create mode 100644 lib/crimson-falcon/models/registration_gcp_account_validation_request_v1.rb create mode 100644 lib/crimson-falcon/models/registration_gcp_account_validation_response_v1.rb create mode 100644 lib/crimson-falcon/models/registration_gcp_service_account_patch_request_v1.rb create mode 100644 lib/crimson-falcon/models/registration_gcp_service_account_patch_v1.rb create mode 100644 lib/crimson-falcon/models/registration_gcp_service_account_validation_request_obj_v1.rb create mode 100644 lib/crimson-falcon/models/registration_gcp_service_account_validation_request_v1.rb create mode 100644 lib/crimson-falcon/models/registration_gcp_service_account_validation_response_v1.rb create mode 100644 lib/crimson-falcon/models/rest_account_product_upsert_request_ext_v1.rb create mode 100644 lib/crimson-falcon/models/rest_aws_account_create_request_extv1.rb create mode 100644 lib/crimson-falcon/models/rest_aws_account_create_response_ext_v1.rb create mode 100644 lib/crimson-falcon/models/rest_aws_account_validated.rb create mode 100644 lib/crimson-falcon/models/rest_aws_account_validation_response.rb create mode 100644 lib/crimson-falcon/models/rest_cloud_aws_account_create_ext_v1.rb create mode 100644 lib/crimson-falcon/models/sadomain_typosquatting_subdomain.rb rename lib/crimson-falcon/models/{domain_event_entities_response.rb => scanreports_entities_response.rb} (96%) create mode 100644 lib/crimson-falcon/models/source_endpoint.rb create mode 100644 lib/crimson-falcon/models/source_user.rb create mode 100644 lib/crimson-falcon/models/threatgraph_meta.rb create mode 100644 lib/crimson-falcon/models/threatgraph_paging.rb create mode 100644 lib/crimson-falcon/models/threatgraph_vertex_details.rb create mode 100644 lib/crimson-falcon/models/threatgraph_vertex_details_response.rb create mode 100644 lib/crimson-falcon/models/triggers_trigger_ext.rb create mode 100644 lib/crimson-falcon/models/triggers_trigger_ext_field.rb create mode 100644 lib/crimson-falcon/models/triggers_trigger_external_response.rb create mode 100644 lib/crimson-falcon/models/types_action_run.rb create mode 100644 lib/crimson-falcon/models/types_action_run_event.rb create mode 100644 lib/crimson-falcon/models/types_action_run_event_data.rb create mode 100644 lib/crimson-falcon/models/types_action_run_metadata.rb create mode 100644 lib/crimson-falcon/models/types_artifact.rb create mode 100644 lib/crimson-falcon/models/types_aws_api_gateway_reason_tag.rb create mode 100644 lib/crimson-falcon/models/types_aws_elastic_ip_reason_tag.rb create mode 100644 lib/crimson-falcon/models/types_aws_lambda_api_gateway_reason_tag.rb create mode 100644 lib/crimson-falcon/models/types_aws_load_balancer_reason_tag.rb create mode 100644 lib/crimson-falcon/models/types_aws_metadata.rb create mode 100644 lib/crimson-falcon/models/types_azure_application_gateway_reason_tag.rb create mode 100644 lib/crimson-falcon/models/types_azure_load_balancer_reason_tag.rb create mode 100644 lib/crimson-falcon/models/types_azure_site_metadata.rb create mode 100644 lib/crimson-falcon/models/types_azure_vm_metadata.rb rename lib/crimson-falcon/models/{domain_vulnerability_actor.rb => types_business_application.rb} (96%) create mode 100644 lib/crimson-falcon/models/types_cloud_function_metadata.rb create mode 100644 lib/crimson-falcon/models/types_composed_schedule.rb create mode 100644 lib/crimson-falcon/models/types_configuration.rb create mode 100644 lib/crimson-falcon/models/types_create_integration_request.rb create mode 100644 lib/crimson-falcon/models/types_create_integration_task_request.rb create mode 100644 lib/crimson-falcon/models/types_crowd_strike_cloud_security_metadata.rb rename lib/crimson-falcon/models/{domain_api_entity_matched_v1.rb => types_data_type_db_reason_tag.rb} (87%) create mode 100644 lib/crimson-falcon/models/types_data_type_mq_reason_tag.rb create mode 100644 lib/crimson-falcon/models/types_dependency.rb create mode 100644 lib/crimson-falcon/models/types_deployment_unit_descriptor.rb create mode 100644 lib/crimson-falcon/models/types_deployment_unit_service.rb create mode 100644 lib/crimson-falcon/models/types_deployment_units_tuple_filters.rb create mode 100644 lib/crimson-falcon/models/types_ec2_metadata.rb create mode 100644 lib/crimson-falcon/models/types_ecs_metadata.rb create mode 100644 lib/crimson-falcon/models/types_edit_tag_request.rb create mode 100644 lib/crimson-falcon/models/types_edit_unique_tag_request.rb rename lib/crimson-falcon/models/{domain_matched_rule.rb => types_error_message.rb} (88%) create mode 100644 lib/crimson-falcon/models/types_executor_node.rb create mode 100644 lib/crimson-falcon/models/types_framework.rb create mode 100644 lib/crimson-falcon/models/types_gcp_metadata.rb create mode 100644 lib/crimson-falcon/models/types_generic_user_facing_request.rb create mode 100644 lib/crimson-falcon/models/types_get_services_related_entity.rb create mode 100644 lib/crimson-falcon/models/types_get_services_related_entity_filters.rb create mode 100644 lib/crimson-falcon/models/types_get_services_related_entity_group_by_fields.rb create mode 100644 lib/crimson-falcon/models/types_get_services_request.rb create mode 100644 lib/crimson-falcon/models/types_get_violation_types_response.rb create mode 100644 lib/crimson-falcon/models/types_host_metadata.rb create mode 100644 lib/crimson-falcon/models/types_integration.rb create mode 100644 lib/crimson-falcon/models/types_integration_response.rb create mode 100644 lib/crimson-falcon/models/types_integration_task.rb create mode 100644 lib/crimson-falcon/models/types_integration_task_response.rb create mode 100644 lib/crimson-falcon/models/types_integration_task_test_connection_response.rb create mode 100644 lib/crimson-falcon/models/types_integration_task_type.rb create mode 100644 lib/crimson-falcon/models/types_integration_type.rb create mode 100644 lib/crimson-falcon/models/types_interface.rb create mode 100644 lib/crimson-falcon/models/types_interface_service.rb create mode 100644 lib/crimson-falcon/models/types_k8_s_load_balancer_reason_tag.rb create mode 100644 lib/crimson-falcon/models/types_k8_s_metadata.rb create mode 100644 lib/crimson-falcon/models/types_k8_s_pod_settings.rb create mode 100644 lib/crimson-falcon/models/types_key_value.rb create mode 100644 lib/crimson-falcon/models/types_lambda_metadata.rb create mode 100644 lib/crimson-falcon/models/types_library.rb create mode 100644 lib/crimson-falcon/models/types_list_executor_nodes_response.rb create mode 100644 lib/crimson-falcon/models/types_list_integration_tasks_response.rb create mode 100644 lib/crimson-falcon/models/types_list_integration_types_response.rb create mode 100644 lib/crimson-falcon/models/types_list_integrations_response.rb create mode 100644 lib/crimson-falcon/models/types_order_by.rb create mode 100644 lib/crimson-falcon/models/types_paginate.rb create mode 100644 lib/crimson-falcon/models/types_pagination.rb rename lib/crimson-falcon/models/{domain_vulnerability_report.rb => types_policy_rules_condition.rb} (90%) create mode 100644 lib/crimson-falcon/models/types_policy_rules_create_body.rb create mode 100644 lib/crimson-falcon/models/types_query_request.rb create mode 100644 lib/crimson-falcon/models/types_query_request_select_fields.rb create mode 100644 lib/crimson-falcon/models/types_query_result.rb create mode 100644 lib/crimson-falcon/models/types_reason_tag.rb create mode 100644 lib/crimson-falcon/models/types_remediation.rb create mode 100644 lib/crimson-falcon/models/types_results_filter.rb create mode 100644 lib/crimson-falcon/models/types_run_integration_task_request.rb create mode 100644 lib/crimson-falcon/models/types_service_now_deployment.rb create mode 100644 lib/crimson-falcon/models/types_service_now_deployments_response.rb create mode 100644 lib/crimson-falcon/models/types_service_now_service.rb rename lib/crimson-falcon/models/{domain_ddos_target_details.rb => types_service_now_service_data.rb} (61%) create mode 100644 lib/crimson-falcon/models/types_service_now_service_deployments.rb create mode 100644 lib/crimson-falcon/models/types_service_now_services_response.rb create mode 100644 lib/crimson-falcon/models/types_service_service_artifact.rb create mode 100644 lib/crimson-falcon/models/types_service_service_business_application.rb create mode 100644 lib/crimson-falcon/models/types_service_service_configuration.rb create mode 100644 lib/crimson-falcon/models/types_service_service_dependency.rb create mode 100644 lib/crimson-falcon/models/types_service_service_framework.rb create mode 100644 lib/crimson-falcon/models/types_service_service_interface.rb create mode 100644 lib/crimson-falcon/models/types_service_service_library.rb create mode 100644 lib/crimson-falcon/models/types_service_service_tag.rb create mode 100644 lib/crimson-falcon/models/types_service_service_traits.rb create mode 100644 lib/crimson-falcon/models/types_snyk_metadata.rb create mode 100644 lib/crimson-falcon/models/types_sonatype_metadata.rb rename lib/crimson-falcon/models/{v2_condition_parameters.rb => types_struct.rb} (95%) create mode 100644 lib/crimson-falcon/models/types_tag.rb create mode 100644 lib/crimson-falcon/models/types_tag_data.rb create mode 100644 lib/crimson-falcon/models/types_tag_entry.rb create mode 100644 lib/crimson-falcon/models/types_tags_data_response.rb create mode 100644 lib/crimson-falcon/models/types_timestamp.rb create mode 100644 lib/crimson-falcon/models/types_trait.rb create mode 100644 lib/crimson-falcon/models/types_tuple_to_string.rb rename lib/crimson-falcon/models/{domain_entity.rb => types_unique_tag_entry.rb} (87%) create mode 100644 lib/crimson-falcon/models/types_update_integration_request.rb create mode 100644 lib/crimson-falcon/models/types_update_integration_task_request.rb create mode 100644 lib/crimson-falcon/models/types_upsert_business_application_request.rb create mode 100644 lib/crimson-falcon/models/v2_condition_groups.rb create mode 100644 lib/crimson-falcon/models/v2_model.rb create mode 100644 lib/crimson-falcon/models/vulncheck_epss.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_botnets.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_counts.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_cve_reference.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_details.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_ransomware.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_ransomware_data.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_record.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_threat_actor.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_timeline.rb create mode 100644 lib/crimson-falcon/models/vulncheck_exploit_trending.rb create mode 100644 lib/crimson-falcon/models/vulncheck_threat_actor_vendor_name.rb create mode 100644 lib/crimson-falcon/models/workflow_request.rb rename lib/crimson-falcon/models/{domain_botnet_inject.rb => workflow_response.rb} (86%) create mode 100644 spec/api/api_integrations_api_spec.rb create mode 100644 spec/api/aspm_api_spec.rb rename spec/api/{tailored_intelligence_api_spec.rb => certificate_based_exclusions_api_spec.rb} (51%) create mode 100644 spec/api/compliance_assessments_api_spec.rb rename spec/api/{provision_api_spec.rb => cspg_iacapi_api_spec.rb} (81%) create mode 100644 spec/api/datascanner_api_spec.rb create mode 100644 spec/api/default_api_spec.rb create mode 100644 spec/api/delivery_settings_api_spec.rb create mode 100644 spec/api/downloads_api_api_spec.rb create mode 100644 spec/api/exposure_management_api_spec.rb create mode 100644 spec/api/handle_api_spec.rb create mode 100644 spec/api/host_migration_api_spec.rb create mode 100644 spec/api/humio_auth_proxy_api_spec.rb create mode 100644 spec/api/quick_scan_pro_api_spec.rb create mode 100644 spec/api/sensor_usage_api_api_spec.rb create mode 100644 spec/api/threatgraph_api_spec.rb delete mode 100644 spec/api_client_spec.rb delete mode 100644 spec/configuration_spec.rb create mode 100644 spec/models/actions_action_response_spec.rb create mode 100644 spec/models/actions_action_spec.rb rename spec/models/{domain_api_entity_matched_v1_spec.rb => actions_create_action_request_spec.rb} (78%) create mode 100644 spec/models/actions_get_action_response_spec.rb create mode 100644 spec/models/activities_activity_ext_field_spec.rb create mode 100644 spec/models/activities_activity_external_response_spec.rb create mode 100644 spec/models/activities_activity_spec.rb rename spec/models/{domain_botnet_inject_spec.rb => activity_spec.rb} (80%) create mode 100644 spec/models/api_cert_based_exclusion_create_req_v1_spec.rb create mode 100644 spec/models/api_cert_based_exclusion_resp_v1_spec.rb create mode 100644 spec/models/api_cert_based_exclusion_update_req_v1_spec.rb rename spec/models/{domain_event_spec.rb => api_cert_based_exclusion_v1_spec.rb} (78%) create mode 100644 spec/models/api_cert_based_exclusions_create_req_v1_spec.rb create mode 100644 spec/models/api_cert_based_exclusions_update_req_v1_spec.rb create mode 100644 spec/models/api_certificate_req_v1_spec.rb create mode 100644 spec/models/api_certificate_v1_spec.rb create mode 100644 spec/models/api_certificates_response_v1_spec.rb create mode 100644 spec/models/api_create_migration_request_v1_spec.rb create mode 100644 spec/models/api_create_migration_response_v1_spec.rb rename spec/models/{domain_tweet_source_spec.rb => api_event_spec.rb} (79%) create mode 100644 spec/models/api_get_host_migration_response_v1_spec.rb create mode 100644 spec/models/api_get_migration_destinations_request_body_v1_spec.rb create mode 100644 spec/models/api_get_migration_destinations_response_v1_spec.rb rename spec/models/{domain_rule_entities_response_spec.rb => api_get_migrations_response_v1_spec.rb} (83%) create mode 100644 spec/models/api_host_migration_spec.rb create mode 100644 spec/models/api_hourly_average_response_spec.rb create mode 100644 spec/models/api_mfa_resource_ids_response_spec.rb create mode 100644 spec/models/api_migrate_hosts_info_spec.rb create mode 100644 spec/models/api_migration_spec.rb create mode 100644 spec/models/api_post_enrollment_details_v4_spec.rb rename spec/models/{custom_type3191042536_spec.rb => api_resp_certificates_v1_spec.rb} (84%) rename spec/models/{domain_botnet_config_source_spec.rb => api_rule_update_v2_spec.rb} (78%) create mode 100644 spec/models/api_rule_updates_request_v2_spec.rb create mode 100644 spec/models/api_weekly_average_response_spec.rb create mode 100644 spec/models/changes_permissions_mac_spec.rb rename spec/models/{domain_matched_rule_spec.rb => client_fql_statement_spec.rb} (80%) create mode 100644 spec/models/common_credentials_spec.rb create mode 100644 spec/models/common_entities_response_spec.rb create mode 100644 spec/models/common_registry_credentials_response_spec.rb create mode 100644 spec/models/contentchanges_change_contents_response_spec.rb create mode 100644 spec/models/contentchanges_content_diff_spec.rb create mode 100644 spec/models/contentchanges_content_spec.rb create mode 100644 spec/models/custom_storage_object_keys_spec.rb create mode 100644 spec/models/custom_storage_response_spec.rb rename spec/models/{changes_get_changes_response_spec.rb => deployments_entity_response_spec.rb} (84%) create mode 100644 spec/models/destination_spec.rb rename spec/models/{domain_vulnerability_related_threat_spec.rb => destinations_migration_destination_spec.rb} (79%) rename spec/models/{detects_alert_spec.rb => detects_external_alert_spec.rb} (89%) rename spec/models/{detectsapi_post_entities_alerts_v1_response_spec.rb => detectsapi_post_entities_alerts_v1_response_swagger_spec.rb} (90%) rename spec/models/{detectsapi_post_entities_alerts_v2_response_spec.rb => detectsapi_post_entities_alerts_v2_response_swagger_spec.rb} (90%) create mode 100644 spec/models/domain_aggregate_cluster_assessments_response_spec.rb create mode 100644 spec/models/domain_aggregate_failed_asset_count_by_severity_response_spec.rb create mode 100644 spec/models/domain_aggregate_failed_assets_by_rules_response_spec.rb create mode 100644 spec/models/domain_aggregate_failed_rules_by_clusters_response_spec.rb create mode 100644 spec/models/domain_aggregate_failed_rules_by_images_response_spec.rb create mode 100644 spec/models/domain_aggregate_failed_rules_count_by_severity_response_spec.rb create mode 100644 spec/models/domain_aggregate_image_assessments_response_spec.rb create mode 100644 spec/models/domain_aggregate_rules_assessments_response_spec.rb create mode 100644 spec/models/domain_aggregate_rules_by_status_response_spec.rb create mode 100644 spec/models/domain_api_compliance_control_v1_spec.rb create mode 100644 spec/models/domain_api_compliance_mapping_v1_spec.rb create mode 100644 spec/models/domain_api_remediation_info_spec.rb create mode 100644 spec/models/domain_api_vulnerability_service_v2_spec.rb create mode 100644 spec/models/domain_assessment_paging_spec.rb create mode 100644 spec/models/domain_aws_account_resource_metadata_spec.rb create mode 100644 spec/models/domain_aws_inventory_filter_setting_spec.rb create mode 100644 spec/models/domain_cipher_spec.rb create mode 100644 spec/models/domain_cisa_known_exploited_vulnerabilities_info_spec.rb create mode 100644 spec/models/domain_cloud_aws_account_v1_spec.rb create mode 100644 spec/models/domain_cloud_condition_spec.rb create mode 100644 spec/models/domain_compliance_findings_grouped_by_images_with_scroll_spec.rb create mode 100644 spec/models/domain_compliance_spec.rb create mode 100644 spec/models/domain_config_v1_spec.rb rename spec/models/{custom_type1255839303_spec.rb => domain_configs_v1_spec.rb} (85%) create mode 100644 spec/models/domain_content_package_spec.rb create mode 100644 spec/models/domain_control_benchmark_spec.rb create mode 100644 spec/models/domain_control_spec.rb create mode 100644 spec/models/domain_cps_rating_history_entry_spec.rb create mode 100644 spec/models/domain_cps_rating_indicator_spec.rb create mode 100644 spec/models/domain_cps_rating_spec.rb create mode 100644 spec/models/domain_create_submission_v1_error_response_spec.rb create mode 100644 spec/models/domain_cve_exploit_reference_spec.rb create mode 100644 spec/models/domain_cve_exploit_source_spec.rb create mode 100644 spec/models/domain_cve_exploit_spec.rb create mode 100644 spec/models/domain_cve_spec.rb create mode 100644 spec/models/domain_cvssv2_spec.rb rename spec/models/{domain_ddos_attack_source_spec.rb => domain_cvssv3_spec.rb} (77%) create mode 100644 spec/models/domain_denormalized_adversary_reference_spec.rb create mode 100644 spec/models/domain_denormalized_country_spec.rb create mode 100644 spec/models/domain_denormalized_customer_target_spec.rb create mode 100644 spec/models/domain_denormalized_report_reference_spec.rb rename spec/models/{domain_vulnerability_actor_spec.rb => domain_denormalized_sector_spec.rb} (82%) create mode 100644 spec/models/domain_denormalized_threat_reference_spec.rb create mode 100644 spec/models/domain_denormalized_threat_used_mitre_spec.rb create mode 100644 spec/models/domain_discover_api_application_browser_extension_installation_spec.rb create mode 100644 spec/models/domain_discover_api_application_browser_extension_spec.rb create mode 100644 spec/models/domain_discover_api_combined_applications_response_spec.rb create mode 100644 spec/models/domain_discover_api_combined_hosts_response_spec.rb rename spec/models/{msaspec_meta_info_spec.rb => domain_discover_api_meta_info_spec.rb} (86%) create mode 100644 spec/models/domain_discover_api_paging_spec.rb create mode 100644 spec/models/domain_discover_api_response_spec.rb create mode 100644 spec/models/domain_discover_apiio_t_host_triage_spec.rb rename spec/models/{domain_api_evaluation_logic_host_info_v1_spec.rb => domain_execute_command_request_v1_spec.rb} (76%) create mode 100644 spec/models/domain_execute_command_result_v1_spec.rb create mode 100644 spec/models/domain_execute_command_results_v1_spec.rb create mode 100644 spec/models/domain_execute_command_v1_spec.rb create mode 100644 spec/models/domain_external_asset_api_delete_request_v1_spec.rb create mode 100644 spec/models/domain_external_asset_api_patch_request_v1_spec.rb create mode 100644 spec/models/domain_external_asset_application_spec.rb create mode 100644 spec/models/domain_external_asset_certificate_entity_identifiers_spec.rb create mode 100644 spec/models/domain_external_asset_certificate_spec.rb create mode 100644 spec/models/domain_external_asset_cloud_vm_spec.rb create mode 100644 spec/models/domain_external_asset_discovery_attributes_spec.rb create mode 100644 spec/models/domain_external_asset_discovery_path_attributes_spec.rb create mode 100644 spec/models/domain_external_asset_discovery_step_attributes_spec.rb create mode 100644 spec/models/domain_external_asset_geographical_location_spec.rb rename spec/models/{domain_pastebin_text_source_spec.rb => domain_external_asset_http_attributes_spec.rb} (78%) create mode 100644 spec/models/domain_external_asset_redirect_step_attributes_spec.rb create mode 100644 spec/models/domain_external_asset_service_blobs_links_spec.rb create mode 100644 spec/models/domain_external_asset_service_spec.rb create mode 100644 spec/models/domain_external_asset_ssl_record_spec.rb create mode 100644 spec/models/domain_external_asset_subsidiary_spec.rb create mode 100644 spec/models/domain_external_assets_api_patch_spec.rb create mode 100644 spec/models/domain_external_assets_api_triage_patch_spec.rb create mode 100644 spec/models/domain_external_assets_api_triage_spec.rb create mode 100644 spec/models/domain_external_assets_api_type_v1_spec.rb create mode 100644 spec/models/domain_external_assets_blob_api_type_v1_spec.rb create mode 100644 spec/models/domain_external_export_job_spec.rb create mode 100644 spec/models/domain_feature_permission_spec.rb create mode 100644 spec/models/domain_feature_status_spec.rb create mode 100644 spec/models/domain_fem_dns_domain_spec.rb create mode 100644 spec/models/domain_fem_ecosystem_subsidiaries_entities_response_spec.rb create mode 100644 spec/models/domain_fem_ecosystem_subsidiaries_meta_spec.rb create mode 100644 spec/models/domain_fem_ecosystem_subsidiaries_query_response_spec.rb create mode 100644 spec/models/domain_fem_ecosystem_subsidiaries_response_fields_spec.rb create mode 100644 spec/models/domain_fem_ecosystem_subsidiary_spec.rb create mode 100644 spec/models/domain_fem_external_asset_spec.rb rename spec/models/{domain_ddos_target_details_spec.rb => domain_fem_external_ip_spec.rb} (79%) create mode 100644 spec/models/domain_geo_point_spec.rb create mode 100644 spec/models/domain_malware_document_spec.rb create mode 100644 spec/models/domain_malware_environment_aggregates_spec.rb create mode 100644 spec/models/domain_malware_response_spec.rb create mode 100644 spec/models/domain_marketplace_credentials_spec.rb create mode 100644 spec/models/domain_msa_meta_info_spec.rb create mode 100644 spec/models/domain_product_features_spec.rb rename spec/models/{domain_vulnerability_affected_product_spec.rb => domain_product_features_status_spec.rb} (78%) create mode 100644 spec/models/domain_product_permission_spec.rb create mode 100644 spec/models/domain_reference_spec.rb create mode 100644 spec/models/domain_request_spec.rb create mode 100644 spec/models/domain_sensor_installer_v2_spec.rb create mode 100644 spec/models/domain_sensor_installers_v2_spec.rb create mode 100644 spec/models/domain_spotlight_params_spec.rb create mode 100644 spec/models/domain_vuln_spec.rb create mode 100644 spec/models/entities_rolling_average_spec.rb create mode 100644 spec/models/exports_exports_response_spec.rb create mode 100644 spec/models/exports_launch_export_request_spec.rb create mode 100644 spec/models/exports_launch_export_response_spec.rb create mode 100644 spec/models/fielddata_field_source_option_spec.rb create mode 100644 spec/models/fielddata_field_source_spec.rb create mode 100644 spec/models/fwmgr_msa_extended_bounds_spec_spec.rb rename spec/models/{domain_key_value_pair_spec.rb => jsonschema_duration_option_spec.rb} (82%) create mode 100644 spec/models/jsonschema_ui_extensions_spec.rb create mode 100644 spec/models/models_base_image_request_spec.rb create mode 100644 spec/models/models_cluster_info_spec.rb create mode 100644 spec/models/models_cluster_with_failed_rules_spec.rb create mode 100644 spec/models/models_compliance_by_rules_spec.rb create mode 100644 spec/models/models_compliance_export_grouped_by_clusters_report_spec.rb create mode 100644 spec/models/models_compliance_export_grouped_by_images_report_spec.rb create mode 100644 spec/models/models_compliance_export_grouped_by_rules_report_spec.rb create mode 100644 spec/models/models_create_base_images_request_spec.rb create mode 100644 spec/models/models_create_deployment_input_spec.rb create mode 100644 spec/models/models_delivery_settings_entity_response_spec.rb create mode 100644 spec/models/models_delivery_settings_input_spec.rb create mode 100644 spec/models/models_delivery_settings_request_spec.rb create mode 100644 spec/models/models_delivery_settings_spec.rb create mode 100644 spec/models/models_deployment_resource_spec.rb create mode 100644 spec/models/models_detection_engine_info_type_spec.rb create mode 100644 spec/models/models_detection_info_type_spec.rb create mode 100644 spec/models/models_detection_spec.rb create mode 100644 spec/models/models_elf_binary_spec.rb create mode 100644 spec/models/models_image_details_spec.rb create mode 100644 spec/models/models_image_with_rules_failed_spec.rb create mode 100644 spec/models/models_images_with_rules_failed_spec.rb create mode 100644 spec/models/models_job_meta_data_spec.rb create mode 100644 spec/models/models_mock_execution_create_request_v1_spec.rb create mode 100644 spec/models/models_non_compliant_assets_by_severity_spec.rb create mode 100644 spec/models/models_os_info_type_spec.rb create mode 100644 spec/models/models_package_vulnerability_type_spec.rb create mode 100644 spec/models/models_rule_status_spec.rb create mode 100644 spec/models/models_rule_with_non_compliant_assets_spec.rb create mode 100644 spec/models/models_rules_failed_by_severity_spec.rb create mode 100644 spec/models/models_rules_with_non_compliant_assets_spec.rb create mode 100644 spec/models/models_scan_report_type_spec.rb create mode 100644 spec/models/models_scan_results_spec.rb create mode 100644 spec/models/models_snapshot_inventory_application_spec.rb create mode 100644 spec/models/models_vulnerabilities_type_spec.rb create mode 100644 spec/models/models_vulnerability_product_spec.rb create mode 100644 spec/models/models_vulnerability_type_spec.rb create mode 100644 spec/models/msa_entity_action_request_v3_spec.rb create mode 100644 spec/models/msa_extended_bounds_spec_spec.rb create mode 100644 spec/models/public_get_changes_response_spec.rb create mode 100644 spec/models/quickscanpro_delete_file_response_spec.rb create mode 100644 spec/models/quickscanpro_file_result_spec.rb create mode 100644 spec/models/quickscanpro_file_upload_resource_spec.rb create mode 100644 spec/models/quickscanpro_file_upload_response_spec.rb create mode 100644 spec/models/quickscanpro_get_scan_result_resource_spec.rb create mode 100644 spec/models/quickscanpro_get_scan_result_response_spec.rb create mode 100644 spec/models/quickscanpro_launch_scan_request_resource_spec.rb create mode 100644 spec/models/quickscanpro_launch_scan_request_spec.rb create mode 100644 spec/models/quickscanpro_launch_scan_resource_spec.rb create mode 100644 spec/models/quickscanpro_launch_scan_response_spec.rb create mode 100644 spec/models/quickscanpro_mitre_attack_parent_spec.rb create mode 100644 spec/models/quickscanpro_mitre_attack_spec.rb create mode 100644 spec/models/quickscanpro_query_scan_results_response_spec.rb create mode 100644 spec/models/quickscanpro_quota_resource_spec.rb create mode 100644 spec/models/quickscanpro_scan_metadata_spec.rb create mode 100644 spec/models/quickscanpro_scan_result_spec.rb create mode 100644 spec/models/quickscanpro_url_result_spec.rb create mode 100644 spec/models/registration_aws_console_url_response_v2_spec.rb rename spec/models/{registration_gcp_account_patch_request_spec.rb => registration_gcp_account_patch_request_v1_spec.rb} (88%) rename spec/models/{registration_gcp_account_patch_spec.rb => registration_gcp_account_patch_v1_spec.rb} (80%) create mode 100644 spec/models/registration_gcp_account_validated_v1_spec.rb create mode 100644 spec/models/registration_gcp_account_validation_req_obj_v1_spec.rb create mode 100644 spec/models/registration_gcp_account_validation_request_v1_spec.rb create mode 100644 spec/models/registration_gcp_account_validation_response_v1_spec.rb create mode 100644 spec/models/registration_gcp_service_account_patch_request_v1_spec.rb create mode 100644 spec/models/registration_gcp_service_account_patch_v1_spec.rb create mode 100644 spec/models/registration_gcp_service_account_validation_request_obj_v1_spec.rb create mode 100644 spec/models/registration_gcp_service_account_validation_request_v1_spec.rb create mode 100644 spec/models/registration_gcp_service_account_validation_response_v1_spec.rb create mode 100644 spec/models/rest_account_product_upsert_request_ext_v1_spec.rb create mode 100644 spec/models/rest_aws_account_create_request_extv1_spec.rb create mode 100644 spec/models/rest_aws_account_create_response_ext_v1_spec.rb create mode 100644 spec/models/rest_aws_account_validated_spec.rb create mode 100644 spec/models/rest_aws_account_validation_response_spec.rb create mode 100644 spec/models/rest_cloud_aws_account_create_ext_v1_spec.rb create mode 100644 spec/models/sadomain_typosquatting_subdomain_spec.rb rename spec/models/{domain_event_entities_response_spec.rb => scanreports_entities_response_spec.rb} (84%) create mode 100644 spec/models/source_endpoint_spec.rb create mode 100644 spec/models/source_user_spec.rb create mode 100644 spec/models/threatgraph_meta_spec.rb rename spec/models/{msaspec_paging_spec.rb => threatgraph_paging_spec.rb} (83%) create mode 100644 spec/models/threatgraph_vertex_details_response_spec.rb create mode 100644 spec/models/threatgraph_vertex_details_spec.rb create mode 100644 spec/models/triggers_trigger_ext_field_spec.rb create mode 100644 spec/models/triggers_trigger_ext_spec.rb create mode 100644 spec/models/triggers_trigger_external_response_spec.rb create mode 100644 spec/models/types_action_run_event_data_spec.rb create mode 100644 spec/models/types_action_run_event_spec.rb create mode 100644 spec/models/types_action_run_metadata_spec.rb create mode 100644 spec/models/types_action_run_spec.rb rename spec/models/{domain_entity_spec.rb => types_artifact_spec.rb} (84%) create mode 100644 spec/models/types_aws_api_gateway_reason_tag_spec.rb create mode 100644 spec/models/types_aws_elastic_ip_reason_tag_spec.rb create mode 100644 spec/models/types_aws_lambda_api_gateway_reason_tag_spec.rb create mode 100644 spec/models/types_aws_load_balancer_reason_tag_spec.rb create mode 100644 spec/models/types_aws_metadata_spec.rb create mode 100644 spec/models/types_azure_application_gateway_reason_tag_spec.rb create mode 100644 spec/models/types_azure_load_balancer_reason_tag_spec.rb create mode 100644 spec/models/types_azure_site_metadata_spec.rb create mode 100644 spec/models/types_azure_vm_metadata_spec.rb create mode 100644 spec/models/types_business_application_spec.rb create mode 100644 spec/models/types_cloud_function_metadata_spec.rb create mode 100644 spec/models/types_composed_schedule_spec.rb create mode 100644 spec/models/types_configuration_spec.rb create mode 100644 spec/models/types_create_integration_request_spec.rb create mode 100644 spec/models/types_create_integration_task_request_spec.rb create mode 100644 spec/models/types_crowd_strike_cloud_security_metadata_spec.rb create mode 100644 spec/models/types_data_type_db_reason_tag_spec.rb create mode 100644 spec/models/types_data_type_mq_reason_tag_spec.rb create mode 100644 spec/models/types_dependency_spec.rb create mode 100644 spec/models/types_deployment_unit_descriptor_spec.rb create mode 100644 spec/models/types_deployment_unit_service_spec.rb create mode 100644 spec/models/types_deployment_units_tuple_filters_spec.rb create mode 100644 spec/models/types_ec2_metadata_spec.rb create mode 100644 spec/models/types_ecs_metadata_spec.rb create mode 100644 spec/models/types_edit_tag_request_spec.rb create mode 100644 spec/models/types_edit_unique_tag_request_spec.rb create mode 100644 spec/models/types_error_message_spec.rb create mode 100644 spec/models/types_executor_node_spec.rb create mode 100644 spec/models/types_framework_spec.rb create mode 100644 spec/models/types_gcp_metadata_spec.rb create mode 100644 spec/models/types_generic_user_facing_request_spec.rb create mode 100644 spec/models/types_get_services_related_entity_filters_spec.rb create mode 100644 spec/models/types_get_services_related_entity_group_by_fields_spec.rb create mode 100644 spec/models/types_get_services_related_entity_spec.rb create mode 100644 spec/models/types_get_services_request_spec.rb create mode 100644 spec/models/types_get_violation_types_response_spec.rb create mode 100644 spec/models/types_host_metadata_spec.rb create mode 100644 spec/models/types_integration_response_spec.rb create mode 100644 spec/models/types_integration_spec.rb create mode 100644 spec/models/types_integration_task_response_spec.rb create mode 100644 spec/models/types_integration_task_spec.rb create mode 100644 spec/models/types_integration_task_test_connection_response_spec.rb create mode 100644 spec/models/types_integration_task_type_spec.rb create mode 100644 spec/models/types_integration_type_spec.rb create mode 100644 spec/models/types_interface_service_spec.rb create mode 100644 spec/models/types_interface_spec.rb create mode 100644 spec/models/types_k8_s_load_balancer_reason_tag_spec.rb create mode 100644 spec/models/types_k8_s_metadata_spec.rb create mode 100644 spec/models/types_k8_s_pod_settings_spec.rb create mode 100644 spec/models/types_key_value_spec.rb create mode 100644 spec/models/types_lambda_metadata_spec.rb create mode 100644 spec/models/types_library_spec.rb create mode 100644 spec/models/types_list_executor_nodes_response_spec.rb create mode 100644 spec/models/types_list_integration_tasks_response_spec.rb create mode 100644 spec/models/types_list_integration_types_response_spec.rb create mode 100644 spec/models/types_list_integrations_response_spec.rb create mode 100644 spec/models/types_order_by_spec.rb create mode 100644 spec/models/types_paginate_spec.rb create mode 100644 spec/models/types_pagination_spec.rb rename spec/models/{domain_vulnerability_report_spec.rb => types_policy_rules_condition_spec.rb} (78%) create mode 100644 spec/models/types_policy_rules_create_body_spec.rb create mode 100644 spec/models/types_query_request_select_fields_spec.rb create mode 100644 spec/models/types_query_request_spec.rb create mode 100644 spec/models/types_query_result_spec.rb create mode 100644 spec/models/types_reason_tag_spec.rb create mode 100644 spec/models/types_remediation_spec.rb create mode 100644 spec/models/types_results_filter_spec.rb create mode 100644 spec/models/types_run_integration_task_request_spec.rb create mode 100644 spec/models/types_service_now_deployment_spec.rb create mode 100644 spec/models/types_service_now_deployments_response_spec.rb create mode 100644 spec/models/types_service_now_service_data_spec.rb create mode 100644 spec/models/types_service_now_service_deployments_spec.rb create mode 100644 spec/models/types_service_now_service_spec.rb create mode 100644 spec/models/types_service_now_services_response_spec.rb create mode 100644 spec/models/types_service_service_artifact_spec.rb create mode 100644 spec/models/types_service_service_business_application_spec.rb create mode 100644 spec/models/types_service_service_configuration_spec.rb create mode 100644 spec/models/types_service_service_dependency_spec.rb create mode 100644 spec/models/types_service_service_framework_spec.rb create mode 100644 spec/models/types_service_service_interface_spec.rb create mode 100644 spec/models/types_service_service_library_spec.rb create mode 100644 spec/models/types_service_service_tag_spec.rb create mode 100644 spec/models/types_service_service_traits_spec.rb create mode 100644 spec/models/types_snyk_metadata_spec.rb create mode 100644 spec/models/types_sonatype_metadata_spec.rb rename spec/models/{v2_condition_parameters_spec.rb => types_struct_spec.rb} (82%) create mode 100644 spec/models/types_tag_data_spec.rb create mode 100644 spec/models/types_tag_entry_spec.rb create mode 100644 spec/models/types_tag_spec.rb create mode 100644 spec/models/types_tags_data_response_spec.rb create mode 100644 spec/models/types_timestamp_spec.rb rename spec/models/{msaspec_error_spec.rb => types_trait_spec.rb} (83%) create mode 100644 spec/models/types_tuple_to_string_spec.rb create mode 100644 spec/models/types_unique_tag_entry_spec.rb create mode 100644 spec/models/types_update_integration_request_spec.rb create mode 100644 spec/models/types_update_integration_task_request_spec.rb create mode 100644 spec/models/types_upsert_business_application_request_spec.rb create mode 100644 spec/models/v2_condition_groups_spec.rb create mode 100644 spec/models/v2_model_spec.rb create mode 100644 spec/models/vulncheck_epss_spec.rb create mode 100644 spec/models/vulncheck_exploit_botnets_spec.rb create mode 100644 spec/models/vulncheck_exploit_counts_spec.rb create mode 100644 spec/models/vulncheck_exploit_cve_reference_spec.rb create mode 100644 spec/models/vulncheck_exploit_details_spec.rb create mode 100644 spec/models/vulncheck_exploit_ransomware_data_spec.rb create mode 100644 spec/models/vulncheck_exploit_ransomware_spec.rb create mode 100644 spec/models/vulncheck_exploit_record_spec.rb create mode 100644 spec/models/vulncheck_exploit_threat_actor_spec.rb create mode 100644 spec/models/vulncheck_exploit_timeline_spec.rb create mode 100644 spec/models/vulncheck_exploit_trending_spec.rb create mode 100644 spec/models/vulncheck_threat_actor_vendor_name_spec.rb create mode 100644 spec/models/workflow_request_spec.rb create mode 100644 spec/models/workflow_response_spec.rb diff --git a/.gitignore b/.gitignore index 6b430a18..afdc9859 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ /tmp/ FILES .openapi-generator/*.json +.openapi-generator/VERSION ## Specific to RubyMotion: .dat* diff --git a/.openapi-generator/VERSION b/.openapi-generator/VERSION deleted file mode 100644 index 3769235d..00000000 --- a/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -7.1.0 \ No newline at end of file diff --git a/README.md b/README.md index 8836a2c3..bd516676 100644 --- a/README.md +++ b/README.md @@ -114,11 +114,195 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**create_executor_node**](docs/ASPMApi.md#create_executor_node) +- **POST**: /aspm-api-gateway/api/v1/executor_nodes +- **Description**: Create a new relay node + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**create_integration**](docs/ASPMApi.md#create_integration) +- **POST**: /aspm-api-gateway/api/v1/integrations +- **Description**: Create a new integration + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**create_integration_task**](docs/ASPMApi.md#create_integration_task) +- **POST**: /aspm-api-gateway/api/v1/integration_tasks +- **Description**: Create new integration task. + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**delete_executor_node**](docs/ASPMApi.md#delete_executor_node) +- **DELETE**: /aspm-api-gateway/api/v1/executor_nodes/{ID} +- **Description**: Delete a relay node + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**delete_integration**](docs/ASPMApi.md#delete_integration) +- **DELETE**: /aspm-api-gateway/api/v1/integrations/{ID} +- **Description**: Delete an existing integration by its ID + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**delete_integration_task**](docs/ASPMApi.md#delete_integration_task) +- **DELETE**: /aspm-api-gateway/api/v1/integration_tasks/{ID} +- **Description**: Delete an existing integration task by its ID + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**delete_tags**](docs/ASPMApi.md#delete_tags) +- **POST**: /aspm-api-gateway/api/v1/tags +- **Description**: Remove existing tags + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**execute_query**](docs/ASPMApi.md#execute_query) +- **POST**: /aspm-api-gateway/api/v1/query +- **Description**: Execute a query. The syntax used is identical to that of the query page. + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**get_executor_nodes**](docs/ASPMApi.md#get_executor_nodes) +- **GET**: /aspm-api-gateway/api/v1/executor_nodes +- **Description**: Get all the relay nodes + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**get_integration_tasks**](docs/ASPMApi.md#get_integration_tasks) +- **GET**: /aspm-api-gateway/api/v1/integration_tasks +- **Description**: Get all the integration tasks + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**get_integration_types**](docs/ASPMApi.md#get_integration_types) +- **GET**: /aspm-api-gateway/api/v1/integration_types +- **Description**: Get all the integration types + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**get_integrations**](docs/ASPMApi.md#get_integrations) +- **GET**: /aspm-api-gateway/api/v1/integrations +- **Description**: Get a list of all the integrations + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**get_service_violation_types**](docs/ASPMApi.md#get_service_violation_types) +- **GET**: /aspm-api-gateway/api/v1/services/violations/types +- **Description**: Get the different types of violation + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**get_services_count**](docs/ASPMApi.md#get_services_count) +- **POST**: /aspm-api-gateway/api/v1/services/count +- **Description**: Get the total amount of existing services + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**get_tags**](docs/ASPMApi.md#get_tags) +- **GET**: /aspm-api-gateway/api/v1/tags +- **Description**: Get all the tags + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**run_integration_task**](docs/ASPMApi.md#run_integration_task) +- **POST**: /aspm-api-gateway/api/v1/integration_tasks/{ID}/run +- **Description**: Run an integration task by its ID + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**service_now_get_deployments**](docs/ASPMApi.md#service_now_get_deployments) +- **GET**: /aspm-api-gateway/api/v1/servicenow/deployments +- **Description**: + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**service_now_get_services**](docs/ASPMApi.md#service_now_get_services) +- **GET**: /aspm-api-gateway/api/v1/servicenow/services +- **Description**: + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**update_executor_node**](docs/ASPMApi.md#update_executor_node) +- **PUT**: /aspm-api-gateway/api/v1/executor_nodes +- **Description**: Update an existing relay node + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**update_integration**](docs/ASPMApi.md#update_integration) +- **PUT**: /aspm-api-gateway/api/v1/integrations/{ID} +- **Description**: Update an existing integration by its ID + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**update_integration_task**](docs/ASPMApi.md#update_integration_task) +- **PUT**: /aspm-api-gateway/api/v1/integration_tasks/{ID} +- **Description**: Update an existing integration task by its ID + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**upsert_business_applications**](docs/ASPMApi.md#upsert_business_applications) +- **PUT**: /aspm-api-gateway/api/v1/business_applications +- **Description**: Create or Update Business Applications + +--- + +**Class**: `Falcon::ASPMApi` + +- **Operation**: [**upsert_tags**](docs/ASPMApi.md#upsert_tags) +- **PUT**: /aspm-api-gateway/api/v1/tags +- **Description**: Create new or update existing tag. You can update unique tags table or regular tags table + +--- + **Class**: `Falcon::AlertsApi` - **Operation**: [**get_queries_alerts_v1**](docs/AlertsApi.md#get_queries_alerts_v1) - **GET**: /alerts/queries/alerts/v1 -- **Description**: retrieves all Alerts ids that match a given query +- **Description**: Deprecated: please use version v2 of this endpoint. Retrieves all Alerts ids that match a given query. --- @@ -126,7 +310,7 @@ We appreciate your interest in our project and look forward to collaborating wit - **Operation**: [**get_queries_alerts_v2**](docs/AlertsApi.md#get_queries_alerts_v2) - **GET**: /alerts/queries/alerts/v2 -- **Description**: retrieves all Alerts ids that match a given query +- **Description**: Retrieves all Alerts ids that match a given query. --- @@ -134,7 +318,7 @@ We appreciate your interest in our project and look forward to collaborating wit - **Operation**: [**patch_entities_alerts_v2**](docs/AlertsApi.md#patch_entities_alerts_v2) - **PATCH**: /alerts/entities/alerts/v2 -- **Description**: Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. +- **Description**: Deprecated: Please use version v3 of this endpoint. Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. --- @@ -150,7 +334,7 @@ We appreciate your interest in our project and look forward to collaborating wit - **Operation**: [**post_aggregates_alerts_v1**](docs/AlertsApi.md#post_aggregates_alerts_v1) - **POST**: /alerts/aggregates/alerts/v1 -- **Description**: retrieves aggregate values for Alerts across all CIDs +- **Description**: Deprecated: Please use version v2 of this endpoint. Retrieves aggregate values for Alerts across all CIDs. --- @@ -158,7 +342,7 @@ We appreciate your interest in our project and look forward to collaborating wit - **Operation**: [**post_aggregates_alerts_v2**](docs/AlertsApi.md#post_aggregates_alerts_v2) - **POST**: /alerts/aggregates/alerts/v2 -- **Description**: retrieves aggregate values for Alerts across all CIDs +- **Description**: Retrieves aggregate values for Alerts across all CIDs. --- @@ -166,7 +350,7 @@ We appreciate your interest in our project and look forward to collaborating wit - **Operation**: [**post_entities_alerts_v1**](docs/AlertsApi.md#post_entities_alerts_v1) - **POST**: /alerts/entities/alerts/v1 -- **Description**: retrieves all Alerts given their ids +- **Description**: Deprecated: please use version v2 of this endpoint. Retrieves all Alerts given their ids. --- @@ -174,7 +358,79 @@ We appreciate your interest in our project and look forward to collaborating wit - **Operation**: [**post_entities_alerts_v2**](docs/AlertsApi.md#post_entities_alerts_v2) - **POST**: /alerts/entities/alerts/v2 -- **Description**: retrieves all Alerts given their composite ids +- **Description**: Retrieves all Alerts given their composite ids. + +--- + +**Class**: `Falcon::ApiIntegrationsApi` + +- **Operation**: [**execute_command**](docs/ApiIntegrationsApi.md#execute_command) +- **POST**: /plugins/entities/execute/v1 +- **Description**: Execute a command. + +--- + +**Class**: `Falcon::ApiIntegrationsApi` + +- **Operation**: [**execute_command_proxy**](docs/ApiIntegrationsApi.md#execute_command_proxy) +- **POST**: /plugins/entities/execute-proxy/v1 +- **Description**: Execute a command and proxy the response directly. + +--- + +**Class**: `Falcon::ApiIntegrationsApi` + +- **Operation**: [**get_combined_plugin_configs**](docs/ApiIntegrationsApi.md#get_combined_plugin_configs) +- **GET**: /plugins/combined/configs/v1 +- **Description**: Queries for config resources and returns details + +--- + +**Class**: `Falcon::CertificateBasedExclusionsApi` + +- **Operation**: [**cb_exclusions_create_v1**](docs/CertificateBasedExclusionsApi.md#cb_exclusions_create_v1) +- **POST**: /exclusions/entities/cert-based-exclusions/v1 +- **Description**: Create new Certificate Based Exclusions. + +--- + +**Class**: `Falcon::CertificateBasedExclusionsApi` + +- **Operation**: [**cb_exclusions_delete_v1**](docs/CertificateBasedExclusionsApi.md#cb_exclusions_delete_v1) +- **DELETE**: /exclusions/entities/cert-based-exclusions/v1 +- **Description**: Delete the exclusions by id + +--- + +**Class**: `Falcon::CertificateBasedExclusionsApi` + +- **Operation**: [**cb_exclusions_get_v1**](docs/CertificateBasedExclusionsApi.md#cb_exclusions_get_v1) +- **GET**: /exclusions/entities/cert-based-exclusions/v1 +- **Description**: Find all exclusion IDs matching the query with filter + +--- + +**Class**: `Falcon::CertificateBasedExclusionsApi` + +- **Operation**: [**cb_exclusions_query_v1**](docs/CertificateBasedExclusionsApi.md#cb_exclusions_query_v1) +- **GET**: /exclusions/queries/cert-based-exclusions/v1 +- **Description**: Search for cert-based exclusions. + +--- + +**Class**: `Falcon::CertificateBasedExclusionsApi` + +- **Operation**: [**cb_exclusions_update_v1**](docs/CertificateBasedExclusionsApi.md#cb_exclusions_update_v1) +- **PATCH**: /exclusions/entities/cert-based-exclusions/v1 +- **Description**: Updates existing Certificate Based Exclusions + +--- + +**Class**: `Falcon::CertificateBasedExclusionsApi` + +- **Operation**: [**certificates_get_v1**](docs/CertificateBasedExclusionsApi.md#certificates_get_v1) +- **GET**: /exclusions/entities/certificates/v1 +- **Description**: Retrieves certificate signing information for a file --- @@ -252,12 +508,140 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CloudSnapshotsApi` +- **Operation**: [**create_deployment_entity**](docs/CloudSnapshotsApi.md#create_deployment_entity) +- **POST**: /snapshots/entities/deployments/v1 +- **Description**: Launch a snapshot scan for a given cloud asset + +--- + +**Class**: `Falcon::CloudSnapshotsApi` + +- **Operation**: [**get_credentials_mixin0_mixin57**](docs/CloudSnapshotsApi.md#get_credentials_mixin0_mixin57) +- **GET**: /snapshots/entities/image-registry-credentials/v1 +- **Description**: Gets the registry credentials + +--- + +**Class**: `Falcon::CloudSnapshotsApi` + +- **Operation**: [**get_scan_report**](docs/CloudSnapshotsApi.md#get_scan_report) +- **GET**: /snapshots/entities/scanreports/v1 +- **Description**: retrieve the scan report for an instance + +--- + +**Class**: `Falcon::CloudSnapshotsApi` + +- **Operation**: [**read_deployments_combined**](docs/CloudSnapshotsApi.md#read_deployments_combined) +- **GET**: /snapshots/combined/deployments/v1 +- **Description**: Retrieve snapshot jobs identified by the provided IDs + +--- + +**Class**: `Falcon::CloudSnapshotsApi` + +- **Operation**: [**read_deployments_entities**](docs/CloudSnapshotsApi.md#read_deployments_entities) +- **GET**: /snapshots/entities/deployments/v1 +- **Description**: Retrieve snapshot jobs identified by the provided IDs + +--- + +**Class**: `Falcon::CloudSnapshotsApi` + - **Operation**: [**register_cspm_snapshot_account**](docs/CloudSnapshotsApi.md#register_cspm_snapshot_account) - **POST**: /snapshots/entities/accounts/v1 - **Description**: Register customer cloud account for snapshot scanning --- +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_cluster_assessments**](docs/ComplianceAssessmentsApi.md#ext_aggregate_cluster_assessments) +- **GET**: /container-compliance/aggregates/compliance-by-clusters/v2 +- **Description**: get the assessments for each cluster + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_failed_containers_by_rules_path**](docs/ComplianceAssessmentsApi.md#ext_aggregate_failed_containers_by_rules_path) +- **GET**: /container-compliance/aggregates/failed-containers-by-rules/v2 +- **Description**: get the containers grouped into rules on which they failed + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_failed_containers_count_by_severity**](docs/ComplianceAssessmentsApi.md#ext_aggregate_failed_containers_count_by_severity) +- **GET**: /container-compliance/aggregates/failed-containers-count-by-severity/v2 +- **Description**: get the failed containers count grouped into severity levels + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_failed_images_by_rules_path**](docs/ComplianceAssessmentsApi.md#ext_aggregate_failed_images_by_rules_path) +- **GET**: /container-compliance/aggregates/failed-images-by-rules/v2 +- **Description**: get the images grouped into rules on which they failed + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_failed_images_count_by_severity**](docs/ComplianceAssessmentsApi.md#ext_aggregate_failed_images_count_by_severity) +- **GET**: /container-compliance/aggregates/failed-images-count-by-severity/v2 +- **Description**: get the failed images count grouped into severity levels + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_failed_rules_by_clusters**](docs/ComplianceAssessmentsApi.md#ext_aggregate_failed_rules_by_clusters) +- **GET**: /container-compliance/aggregates/failed-rules-by-clusters/v2 +- **Description**: get the failed rules for each cluster grouped into severity levels + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_failed_rules_by_images**](docs/ComplianceAssessmentsApi.md#ext_aggregate_failed_rules_by_images) +- **GET**: /container-compliance/aggregates/failed-rules-by-images/v2 +- **Description**: get images with failed rules, rule count grouped by severity for each image + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_failed_rules_count_by_severity**](docs/ComplianceAssessmentsApi.md#ext_aggregate_failed_rules_count_by_severity) +- **GET**: /container-compliance/aggregates/failed-rules-count-by-severity/v2 +- **Description**: get the failed rules count grouped into severity levels + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_image_assessments**](docs/ComplianceAssessmentsApi.md#ext_aggregate_image_assessments) +- **GET**: /container-compliance/aggregates/compliance-by-images/v2 +- **Description**: get the assessments for each image + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_rules_assessments**](docs/ComplianceAssessmentsApi.md#ext_aggregate_rules_assessments) +- **GET**: /container-compliance/aggregates/compliance-by-rules/v2 +- **Description**: get the assessments for each rule + +--- + +**Class**: `Falcon::ComplianceAssessmentsApi` + +- **Operation**: [**ext_aggregate_rules_by_status**](docs/ComplianceAssessmentsApi.md#ext_aggregate_rules_by_status) +- **GET**: /container-compliance/aggregates/rules-by-status/v2 +- **Description**: get the rules grouped by their statuses + +--- + **Class**: `Falcon::ConfigurationAssessmentApi` - **Operation**: [**get_combined_assessments_query**](docs/ConfigurationAssessmentApi.md#get_combined_assessments_query) @@ -388,6 +772,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::ContainerImagesApi` +- **Operation**: [**combined_base_images**](docs/ContainerImagesApi.md#combined_base_images) +- **GET**: /container-security/combined/base-images/v1 +- **Description**: Retrieve base images for provided filter + +--- + +**Class**: `Falcon::ContainerImagesApi` + - **Operation**: [**combined_image_by_vulnerability_count**](docs/ContainerImagesApi.md#combined_image_by_vulnerability_count) - **GET**: /container-security/combined/images/by-vulnerability-count/v1 - **Description**: Retrieve top x images with the most vulnerabilities @@ -420,6 +812,22 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::ContainerImagesApi` +- **Operation**: [**create_base_images_entities**](docs/ContainerImagesApi.md#create_base_images_entities) +- **POST**: /container-security/entities/base-images/v1 +- **Description**: Creates base images using the provided details + +--- + +**Class**: `Falcon::ContainerImagesApi` + +- **Operation**: [**delete_base_images**](docs/ContainerImagesApi.md#delete_base_images) +- **DELETE**: /container-security/entities/base-images/v1 +- **Description**: Delete base images by base image uuid + +--- + +**Class**: `Falcon::ContainerImagesApi` + - **Operation**: [**get_combined_images**](docs/ContainerImagesApi.md#get_combined_images) - **GET**: /container-security/combined/image-assessment/images/v1 - **Description**: Get image assessment results by providing an FQL filter and paging details @@ -554,6 +962,14 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::CspgIacapiApi` + +- **Operation**: [**get_credentials_mixin0**](docs/CspgIacapiApi.md#get_credentials_mixin0) +- **GET**: /iac/entities/image-registry-credentials/v1 +- **Description**: Gets the registry credentials (external endpoint) + +--- + **Class**: `Falcon::CspmRegistrationApi` - **Operation**: [**azure_download_certificate**](docs/CspmRegistrationApi.md#azure_download_certificate) @@ -620,6 +1036,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CspmRegistrationApi` +- **Operation**: [**delete_cspm_azure_management_group**](docs/CspmRegistrationApi.md#delete_cspm_azure_management_group) +- **DELETE**: /cloud-connect-cspm-azure/entities/management-group/v1 +- **Description**: Deletes Azure management groups from the system. + +--- + +**Class**: `Falcon::CspmRegistrationApi` + - **Operation**: [**delete_cspmgcp_account**](docs/CspmRegistrationApi.md#delete_cspmgcp_account) - **DELETE**: /cloud-connect-cspm-gcp/entities/account/v1 - **Description**: Deletes a GCP account from the system. @@ -764,6 +1188,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CspmRegistrationApi` +- **Operation**: [**get_cspmgcp_validate_accounts_ext**](docs/CspmRegistrationApi.md#get_cspmgcp_validate_accounts_ext) +- **POST**: /cloud-connect-cspm-gcp/entities/account/validate/v1 +- **Description**: Run a synchronous health check. + +--- + +**Class**: `Falcon::CspmRegistrationApi` + - **Operation**: [**patch_cspm_aws_account**](docs/CspmRegistrationApi.md#patch_cspm_aws_account) - **PATCH**: /cloud-connect-cspm-aws/entities/account/v1 - **Description**: Patches a existing account in our system for a customer. @@ -818,6 +1250,22 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::CspmRegistrationApi` + +- **Operation**: [**update_cspmgcp_service_accounts_ext**](docs/CspmRegistrationApi.md#update_cspmgcp_service_accounts_ext) +- **PATCH**: /cloud-connect-cspm-gcp/entities/service-accounts/v1 +- **Description**: Patches the service account key for external clients. + +--- + +**Class**: `Falcon::CspmRegistrationApi` + +- **Operation**: [**validate_cspmgcp_service_account_ext**](docs/CspmRegistrationApi.md#validate_cspmgcp_service_account_ext) +- **POST**: /cloud-connect-cspm-gcp/entities/service-accounts/validate/v1 +- **Description**: Validates credentials for a service account + +--- + **Class**: `Falcon::CustomIoaApi` - **Operation**: [**create_rule**](docs/CustomIoaApi.md#create_rule) @@ -844,7 +1292,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CustomIoaApi` -- **Operation**: [**delete_rules**](docs/CustomIoaApi.md#delete_rules) +- **Operation**: [**delete_rules_0**](docs/CustomIoaApi.md#delete_rules_0) - **DELETE**: /ioarules/entities/rules/v1 - **Description**: Delete rules from a rule group by ID. @@ -956,7 +1404,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CustomIoaApi` -- **Operation**: [**update_rules**](docs/CustomIoaApi.md#update_rules) +- **Operation**: [**update_rules_0**](docs/CustomIoaApi.md#update_rules_0) - **PATCH**: /ioarules/entities/rules/v1 - **Description**: Update rules within a rule group. Return the updated rules. @@ -964,6 +1412,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CustomIoaApi` +- **Operation**: [**update_rules_v2**](docs/CustomIoaApi.md#update_rules_v2) +- **PATCH**: /ioarules/entities/rules/v2 +- **Description**: Update name, description, enabled or field_values for individual rules within a rule group. The v1 flavor of this call requires the caller to specify the complete state for all the rules in the rule group, instead the v2 flavor will accept the subset of rules in the rule group and apply the attribute updates to the subset of rules in the rule group.Return the updated rules. + +--- + +**Class**: `Falcon::CustomIoaApi` + - **Operation**: [**validate**](docs/CustomIoaApi.md#validate) - **POST**: /ioarules/entities/rules/validate/v1 - **Description**: Validates field values and checks for matches if a test string is provided. @@ -980,6 +1436,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CustomStorageApi` +- **Operation**: [**delete_versioned_object**](docs/CustomStorageApi.md#delete_versioned_object) +- **DELETE**: /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key} +- **Description**: Delete the specified versioned object + +--- + +**Class**: `Falcon::CustomStorageApi` + - **Operation**: [**get_object**](docs/CustomStorageApi.md#get_object) - **GET**: /customobjects/v1/collections/{collection_name}/objects/{object_key} - **Description**: Get the bytes for the specified object @@ -996,6 +1460,22 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CustomStorageApi` +- **Operation**: [**get_versioned_object**](docs/CustomStorageApi.md#get_versioned_object) +- **GET**: /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key} +- **Description**: Get the bytes for the specified object + +--- + +**Class**: `Falcon::CustomStorageApi` + +- **Operation**: [**get_versioned_object_metadata**](docs/CustomStorageApi.md#get_versioned_object_metadata) +- **GET**: /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}/metadata +- **Description**: Get the metadata for the specified object + +--- + +**Class**: `Falcon::CustomStorageApi` + - **Operation**: [**list_objects**](docs/CustomStorageApi.md#list_objects) - **GET**: /customobjects/v1/collections/{collection_name}/objects - **Description**: List the object keys in the specified collection in alphabetical order @@ -1004,6 +1484,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CustomStorageApi` +- **Operation**: [**list_objects_by_version**](docs/CustomStorageApi.md#list_objects_by_version) +- **GET**: /customobjects/v1/collections/{collection_name}/{collection_version}/objects +- **Description**: List the object keys in the specified collection in alphabetical order + +--- + +**Class**: `Falcon::CustomStorageApi` + - **Operation**: [**put_object**](docs/CustomStorageApi.md#put_object) - **PUT**: /customobjects/v1/collections/{collection_name}/objects/{object_key} - **Description**: Put the specified new object at the given key or overwrite an existing object at the given key @@ -1012,12 +1500,28 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::CustomStorageApi` +- **Operation**: [**put_object_by_version**](docs/CustomStorageApi.md#put_object_by_version) +- **PUT**: /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key} +- **Description**: Put the specified new object at the given key or overwrite an existing object at the given key + +--- + +**Class**: `Falcon::CustomStorageApi` + - **Operation**: [**search_objects**](docs/CustomStorageApi.md#search_objects) - **POST**: /customobjects/v1/collections/{collection_name}/objects - **Description**: Search for objects that match the specified filter criteria (returns metadata, not actual objects) --- +**Class**: `Falcon::CustomStorageApi` + +- **Operation**: [**search_objects_by_version**](docs/CustomStorageApi.md#search_objects_by_version) +- **POST**: /customobjects/v1/collections/{collection_name}/{collection_version}/objects +- **Description**: Search for objects that match the specified filter criteria (returns metadata, not actual objects) + +--- + **Class**: `Falcon::D4cRegistrationApi` - **Operation**: [**connect_d4_cgcp_account**](docs/D4cRegistrationApi.md#connect_d4_cgcp_account) @@ -1036,7 +1540,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::D4cRegistrationApi` -- **Operation**: [**create_d4_cgcp_account**](docs/D4cRegistrationApi.md#create_d4_cgcp_account) +- **Operation**: [**create_d4_c_gcp_account**](docs/D4cRegistrationApi.md#create_d4_c_gcp_account) - **POST**: /cloud-connect-gcp/entities/account/v1 - **Description**: Creates a new account in our system for a customer and generates a new service account for them to add access to in their GCP environment to grant us access. @@ -1092,33 +1596,33 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::D4cRegistrationApi` -- **Operation**: [**get_d4_caws_account_scripts_attachment**](docs/D4cRegistrationApi.md#get_d4_caws_account_scripts_attachment) -- **GET**: /cloud-connect-aws/entities/user-scripts-download/v1 -- **Description**: Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. +- **Operation**: [**get_d4_c_gcp_account**](docs/D4cRegistrationApi.md#get_d4_c_gcp_account) +- **GET**: /cloud-connect-gcp/entities/account/v1 +- **Description**: Returns information about the current status of an GCP account. --- **Class**: `Falcon::D4cRegistrationApi` -- **Operation**: [**get_d4_ccgp_account**](docs/D4cRegistrationApi.md#get_d4_ccgp_account) -- **GET**: /cloud-connect-gcp/entities/account/v1 -- **Description**: Returns information about the current status of an GCP account. +- **Operation**: [**get_d4_c_gcp_user_scripts**](docs/D4cRegistrationApi.md#get_d4_c_gcp_user_scripts) +- **GET**: /cloud-connect-gcp/entities/user-scripts/v1 +- **Description**: Return a script for customer to run in their cloud environment to grant us access to their GCP environment --- **Class**: `Falcon::D4cRegistrationApi` -- **Operation**: [**get_d4_cgcp_service_accounts_ext**](docs/D4cRegistrationApi.md#get_d4_cgcp_service_accounts_ext) -- **GET**: /cloud-connect-gcp/entities/service-accounts/v1 -- **Description**: Returns the service account id and client email for external clients. +- **Operation**: [**get_d4_caws_account_scripts_attachment**](docs/D4cRegistrationApi.md#get_d4_caws_account_scripts_attachment) +- **GET**: /cloud-connect-aws/entities/user-scripts-download/v1 +- **Description**: Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. --- **Class**: `Falcon::D4cRegistrationApi` -- **Operation**: [**get_d4_cgcp_user_scripts**](docs/D4cRegistrationApi.md#get_d4_cgcp_user_scripts) -- **GET**: /cloud-connect-gcp/entities/user-scripts/v1 -- **Description**: Return a script for customer to run in their cloud environment to grant us access to their GCP environment +- **Operation**: [**get_d4_cgcp_service_accounts_ext**](docs/D4cRegistrationApi.md#get_d4_cgcp_service_accounts_ext) +- **GET**: /cloud-connect-gcp/entities/service-accounts/v1 +- **Description**: Returns the service account id and client email for external clients. --- @@ -1172,12 +1676,108 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::D4cRegistrationApi` +- **Operation**: [**update_d4_cgcp_service_accounts_ext**](docs/D4cRegistrationApi.md#update_d4_cgcp_service_accounts_ext) +- **PATCH**: /cloud-connect-gcp/entities/service-accounts/v1 +- **Description**: Patches the service account key for external clients. + +--- + +**Class**: `Falcon::D4cRegistrationApi` + - **Operation**: [**update_discover_cloud_azure_account_client_id**](docs/D4cRegistrationApi.md#update_discover_cloud_azure_account_client_id) - **PATCH**: /cloud-connect-azure/entities/client-id/v1 - **Description**: Update an Azure service account in our system by with the user-created client_id created with the public key we've provided --- +**Class**: `Falcon::DatascannerApi` + +- **Operation**: [**get_data_scanner_tasks**](docs/DatascannerApi.md#get_data_scanner_tasks) +- **GET**: /data-security-dspm/entities/scanner-tasks/v1 +- **Description**: + +--- + +**Class**: `Falcon::DatascannerApi` + +- **Operation**: [**get_image_registry_credentials**](docs/DatascannerApi.md#get_image_registry_credentials) +- **GET**: /data-security-dspm/entities/image-registry-credentials/v1 +- **Description**: + +--- + +**Class**: `Falcon::DatascannerApi` + +- **Operation**: [**update_data_scanner_tasks**](docs/DatascannerApi.md#update_data_scanner_tasks) +- **PATCH**: /data-security-dspm/entities/scanner-tasks/v1 +- **Description**: + +--- + +**Class**: `Falcon::DefaultApi` + +- **Operation**: [**cloud_registration_aws_create_account**](docs/DefaultApi.md#cloud_registration_aws_create_account) +- **POST**: /cloud-security-registration-aws/entities/account/v1 +- **Description**: Creates a new account in our system for a customer. + +--- + +**Class**: `Falcon::DefaultApi` + +- **Operation**: [**cloud_registration_aws_delete_account**](docs/DefaultApi.md#cloud_registration_aws_delete_account) +- **DELETE**: /cloud-security-registration-aws/entities/account/v1 +- **Description**: Deletes an existing AWS account or organization in our system. + +--- + +**Class**: `Falcon::DefaultApi` + +- **Operation**: [**cloud_registration_aws_get_accounts**](docs/DefaultApi.md#cloud_registration_aws_get_accounts) +- **GET**: /cloud-security-registration-aws/entities/account/v1 +- **Description**: Retrieve existing AWS accounts by account IDs + +--- + +**Class**: `Falcon::DefaultApi` + +- **Operation**: [**cloud_registration_aws_query_accounts**](docs/DefaultApi.md#cloud_registration_aws_query_accounts) +- **GET**: /cloud-security-registration-aws/queries/account/v1 +- **Description**: Retrieve existing AWS accounts by account IDs + +--- + +**Class**: `Falcon::DefaultApi` + +- **Operation**: [**cloud_registration_aws_update_account**](docs/DefaultApi.md#cloud_registration_aws_update_account) +- **PATCH**: /cloud-security-registration-aws/entities/account/v1 +- **Description**: Patches a existing account in our system for a customer. + +--- + +**Class**: `Falcon::DefaultApi` + +- **Operation**: [**cloud_registration_aws_validate_accounts**](docs/DefaultApi.md#cloud_registration_aws_validate_accounts) +- **POST**: /cloud-security-registration-aws/entities/account/validate/v1 +- **Description**: Validates the AWS account in our system for a provided CID. For internal clients only. + +--- + +**Class**: `Falcon::DeliverySettingsApi` + +- **Operation**: [**get_delivery_settings**](docs/DeliverySettingsApi.md#get_delivery_settings) +- **GET**: /delivery-settings/entities/delivery-settings/v1 +- **Description**: Get Delivery Settings + +--- + +**Class**: `Falcon::DeliverySettingsApi` + +- **Operation**: [**post_delivery_settings**](docs/DeliverySettingsApi.md#post_delivery_settings) +- **POST**: /delivery-settings/entities/delivery-settings/v1 +- **Description**: Create Delivery Settings + +--- + **Class**: `Falcon::DetectsApi` - **Operation**: [**get_aggregate_detects**](docs/DetectsApi.md#get_aggregate_detects) @@ -1308,6 +1908,22 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::DiscoverApi` +- **Operation**: [**combined_applications**](docs/DiscoverApi.md#combined_applications) +- **GET**: /discover/combined/applications/v1 +- **Description**: Search for applications in your environment by providing an FQL filter and paging details. Returns details on applications which match the filter criteria. + +--- + +**Class**: `Falcon::DiscoverApi` + +- **Operation**: [**combined_hosts**](docs/DiscoverApi.md#combined_hosts) +- **GET**: /discover/combined/hosts/v1 +- **Description**: Search for assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns details on assets which match the filter criteria. + +--- + +**Class**: `Falcon::DiscoverApi` + - **Operation**: [**get_accounts**](docs/DiscoverApi.md#get_accounts) - **GET**: /discover/entities/accounts/v1 - **Description**: Get details on accounts by providing one or more IDs. @@ -1386,6 +2002,30 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::DiscoverIotApi` + +- **Operation**: [**query_iot_hosts_v2**](docs/DiscoverIotApi.md#query_iot_hosts_v2) +- **GET**: /discover/queries/iot-hosts/v2 +- **Description**: Search for IoT assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria. + +--- + +**Class**: `Falcon::DownloadsApiApi` + +- **Operation**: [**download_file**](docs/DownloadsApiApi.md#download_file) +- **GET**: /csdownloads/entities/files/download/v1 +- **Description**: Gets pre-signed URL for the file + +--- + +**Class**: `Falcon::DownloadsApiApi` + +- **Operation**: [**enumerate_file**](docs/DownloadsApiApi.md#enumerate_file) +- **GET**: /csdownloads/entities/files/enumerate/v1 +- **Description**: Enumerates a list of files available for CID + +--- + **Class**: `Falcon::DriftIndicatorsApi` - **Operation**: [**get_drift_indicators_values_by_date**](docs/DriftIndicatorsApi.md#get_drift_indicators_values_by_date) @@ -1466,6 +2106,86 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**aggregate_external_assets**](docs/ExposureManagementApi.md#aggregate_external_assets) +- **POST**: /fem/aggregates/external-assets/v1 +- **Description**: Returns external assets aggregates. + +--- + +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**blob_download_external_assets**](docs/ExposureManagementApi.md#blob_download_external_assets) +- **GET**: /fem/entities/blobs-download/v1 +- **Description**: Download the entire contents of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + +--- + +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**blob_preview_external_assets**](docs/ExposureManagementApi.md#blob_preview_external_assets) +- **GET**: /fem/entities/blobs-preview/v1 +- **Description**: Download a preview of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + +--- + +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**combined_ecosystem_subsidiaries**](docs/ExposureManagementApi.md#combined_ecosystem_subsidiaries) +- **GET**: /fem/combined/ecosystem-subsidiaries/v1 +- **Description**: Retrieves a list of ecosystem subsidiaries with their detailed information. + +--- + +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**delete_external_assets**](docs/ExposureManagementApi.md#delete_external_assets) +- **DELETE**: /fem/entities/external-assets/v1 +- **Description**: Delete multiple external assets. + +--- + +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**get_ecosystem_subsidiaries**](docs/ExposureManagementApi.md#get_ecosystem_subsidiaries) +- **GET**: /fem/entities/ecosystem-subsidiaries/v1 +- **Description**: Retrieves detailed information about ecosystem subsidiaries by ID. + +--- + +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**get_external_assets**](docs/ExposureManagementApi.md#get_external_assets) +- **GET**: /fem/entities/external-assets/v1 +- **Description**: Get details on external assets by providing one or more IDs. + +--- + +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**patch_external_assets**](docs/ExposureManagementApi.md#patch_external_assets) +- **PATCH**: /fem/entities/external-assets/v1 +- **Description**: Update the details of external assets. + +--- + +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**query_ecosystem_subsidiaries**](docs/ExposureManagementApi.md#query_ecosystem_subsidiaries) +- **GET**: /fem/queries/ecosystem-subsidiaries/v1 +- **Description**: Retrieves a list of IDs for ecosystem subsidiaries. Use these IDs with the /entities/ecosystem-subsidiaries/v1 endpoints. + +--- + +**Class**: `Falcon::ExposureManagementApi` + +- **Operation**: [**query_external_assets**](docs/ExposureManagementApi.md#query_external_assets) +- **GET**: /fem/queries/external-assets/v1 +- **Description**: Get a list of external asset IDs that match the provided filter conditions. Use these IDs with the /entities/external-assets/v1 endpoints + +--- + **Class**: `Falcon::FalconCompleteDashboardApi` - **Operation**: [**aggregate_alerts**](docs/FalconCompleteDashboardApi.md#aggregate_alerts) @@ -1548,6 +2268,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FalconCompleteDashboardApi` +- **Operation**: [**aggregate_support_issues**](docs/FalconCompleteDashboardApi.md#aggregate_support_issues) +- **POST**: /falcon-complete-dashboards/aggregates/support-issues/v1 +- **Description**: Retrieve aggregate support issue ticket values based on the matched filter + +--- + +**Class**: `Falcon::FalconCompleteDashboardApi` + - **Operation**: [**aggregate_total_device_counts**](docs/FalconCompleteDashboardApi.md#aggregate_total_device_counts) - **POST**: /falcon-complete-dashboards/aggregates/total-device-counts/v1 - **Description**: Retrieve aggregate total host/devices based on the matched filter @@ -1620,33 +2348,65 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FalconContainerApi` -- **Operation**: [**get_credentials**](docs/FalconContainerApi.md#get_credentials) -- **GET**: /container-security/entities/image-registry-credentials/v1 -- **Description**: Gets the registry credentials +- **Operation**: [**get_credentials**](docs/FalconContainerApi.md#get_credentials) +- **GET**: /container-security/entities/image-registry-credentials/v1 +- **Description**: Gets the registry credentials + +--- + +**Class**: `Falcon::FalconContainerCliApi` + +- **Operation**: [**read_image_vulnerabilities**](docs/FalconContainerCliApi.md#read_image_vulnerabilities) +- **POST**: /image-assessment/combined/vulnerability-lookups/v1 +- **Description**: Retrieve known vulnerabilities for the provided image + +--- + +**Class**: `Falcon::FalconContainerImageApi` + +- **Operation**: [**create_registry_entities**](docs/FalconContainerImageApi.md#create_registry_entities) +- **POST**: /container-security/entities/registries/v1 +- **Description**: Create a registry entity using the provided details + +--- + +**Class**: `Falcon::FalconContainerImageApi` + +- **Operation**: [**delete_registry_entities**](docs/FalconContainerImageApi.md#delete_registry_entities) +- **DELETE**: /container-security/entities/registries/v1 +- **Description**: Delete the registry entity identified by the entity UUID + +--- + +**Class**: `Falcon::FalconContainerImageApi` + +- **Operation**: [**download_export_file**](docs/FalconContainerImageApi.md#download_export_file) +- **GET**: /container-security/entities/exports/files/v1 +- **Description**: Download an export file --- -**Class**: `Falcon::FalconContainerCliApi` +**Class**: `Falcon::FalconContainerImageApi` -- **Operation**: [**read_image_vulnerabilities**](docs/FalconContainerCliApi.md#read_image_vulnerabilities) -- **POST**: /image-assessment/combined/vulnerability-lookups/v1 -- **Description**: Retrieve known vulnerabilities for the provided image +- **Operation**: [**launch_export_job**](docs/FalconContainerImageApi.md#launch_export_job) +- **POST**: /container-security/entities/exports/v1 +- **Description**: Launch an export job of a Container Security resource. Maximum of 1 job in progress per resource --- **Class**: `Falcon::FalconContainerImageApi` -- **Operation**: [**create_registry_entities**](docs/FalconContainerImageApi.md#create_registry_entities) -- **POST**: /container-security/entities/registries/v1 -- **Description**: Create a registry entity using the provided details +- **Operation**: [**query_export_jobs**](docs/FalconContainerImageApi.md#query_export_jobs) +- **GET**: /container-security/queries/exports/v1 +- **Description**: Query export jobs entities --- **Class**: `Falcon::FalconContainerImageApi` -- **Operation**: [**delete_registry_entities**](docs/FalconContainerImageApi.md#delete_registry_entities) -- **DELETE**: /container-security/entities/registries/v1 -- **Description**: Delete the registry entity identified by the entity UUID +- **Operation**: [**read_export_jobs**](docs/FalconContainerImageApi.md#read_export_jobs) +- **GET**: /container-security/entities/exports/v1 +- **Description**: Read export jobs entities --- @@ -1772,7 +2532,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FalconxSandboxApi` -- **Operation**: [**query_submissions**](docs/FalconxSandboxApi.md#query_submissions) +- **Operation**: [**query_submissions_mixin0**](docs/FalconxSandboxApi.md#query_submissions_mixin0) - **GET**: /falconx/queries/submissions/v1 - **Description**: Find submission IDs for uploaded files by providing an FQL filter and paging details. Returns a set of submission IDs that match your criteria. @@ -1812,7 +2572,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FilevantageApi` -- **Operation**: [**create_policies**](docs/FilevantageApi.md#create_policies) +- **Operation**: [**create_policies_0**](docs/FilevantageApi.md#create_policies_0) - **POST**: /filevantage/entities/policies/v1 - **Description**: Creates a new policy of the specified type. New policies are always added at the end of the precedence list for the provided policy type. @@ -1876,6 +2636,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FilevantageApi` +- **Operation**: [**get_actions_mixin0**](docs/FilevantageApi.md#get_actions_mixin0) +- **GET**: /filevantage/entities/actions/v1 +- **Description**: Retrieves the processing results for 1 or more actions. + +--- + +**Class**: `Falcon::FilevantageApi` + - **Operation**: [**get_changes**](docs/FilevantageApi.md#get_changes) - **GET**: /filevantage/entities/changes/v2 - **Description**: Retrieve information on changes @@ -1884,6 +2652,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FilevantageApi` +- **Operation**: [**get_contents**](docs/FilevantageApi.md#get_contents) +- **GET**: /filevantage/entities/change-content/v1 +- **Description**: Retrieves the content captured for the provided change id + +--- + +**Class**: `Falcon::FilevantageApi` + - **Operation**: [**get_policies**](docs/FilevantageApi.md#get_policies) - **GET**: /filevantage/entities/policies/v1 - **Description**: Retrieves the configuration for 1 or more policies. @@ -1924,6 +2700,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FilevantageApi` +- **Operation**: [**query_actions_mixin0**](docs/FilevantageApi.md#query_actions_mixin0) +- **GET**: /filevantage/queries/actions/v1 +- **Description**: Returns one or more action ids + +--- + +**Class**: `Falcon::FilevantageApi` + - **Operation**: [**query_changes**](docs/FilevantageApi.md#query_changes) - **GET**: /filevantage/queries/changes/v2 - **Description**: Returns 1 or more change ids @@ -1956,7 +2740,23 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FilevantageApi` -- **Operation**: [**update_policies**](docs/FilevantageApi.md#update_policies) +- **Operation**: [**signal_changes_external**](docs/FilevantageApi.md#signal_changes_external) +- **POST**: /filevantage/entities/workflow/v1 +- **Description**: Initiates workflows for the provided change ids + +--- + +**Class**: `Falcon::FilevantageApi` + +- **Operation**: [**start_actions**](docs/FilevantageApi.md#start_actions) +- **POST**: /filevantage/entities/actions/v1 +- **Description**: Initiates the specified action on the provided change ids + +--- + +**Class**: `Falcon::FilevantageApi` + +- **Operation**: [**update_policies_0**](docs/FilevantageApi.md#update_policies_0) - **PATCH**: /filevantage/entities/policies/v1 - **Description**: Updates the general information of the provided policy. @@ -1972,7 +2772,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FilevantageApi` -- **Operation**: [**update_policy_precedence**](docs/FilevantageApi.md#update_policy_precedence) +- **Operation**: [**update_policy_precedence_0**](docs/FilevantageApi.md#update_policy_precedence_0) - **PATCH**: /filevantage/entities/policies-precedence/v1 - **Description**: Updates the policy precedence for all policies of a specific type. @@ -2084,7 +2884,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FirewallManagementApi` -- **Operation**: [**delete_rule_groups**](docs/FirewallManagementApi.md#delete_rule_groups) +- **Operation**: [**delete_rule_groups_0**](docs/FirewallManagementApi.md#delete_rule_groups_0) - **DELETE**: /fwmgr/entities/rule-groups/v1 - **Description**: Delete rule group entities by ID @@ -2140,7 +2940,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FirewallManagementApi` -- **Operation**: [**get_rule_groups**](docs/FirewallManagementApi.md#get_rule_groups) +- **Operation**: [**get_rule_groups_0**](docs/FirewallManagementApi.md#get_rule_groups_0) - **GET**: /fwmgr/entities/rule-groups/v1 - **Description**: Get rule group entities by ID. These groups do not contain their rule entites, just the rule IDs in precedence order. @@ -2148,7 +2948,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FirewallManagementApi` -- **Operation**: [**get_rules**](docs/FirewallManagementApi.md#get_rules) +- **Operation**: [**get_rules_0**](docs/FirewallManagementApi.md#get_rules_0) - **GET**: /fwmgr/entities/rules/v1 - **Description**: Get rule entities by ID (64-bit unsigned int as decimal string) or Family ID (32-character hexadecimal string) @@ -2196,7 +2996,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FirewallManagementApi` -- **Operation**: [**query_rule_groups**](docs/FirewallManagementApi.md#query_rule_groups) +- **Operation**: [**query_rule_groups_0**](docs/FirewallManagementApi.md#query_rule_groups_0) - **GET**: /fwmgr/queries/rule-groups/v1 - **Description**: Find all rule group IDs matching the query with filter @@ -2444,9 +3244,17 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::FoundryLogscaleApi` +- **Operation**: [**ingest_data_async_v1**](docs/FoundryLogscaleApi.md#ingest_data_async_v1) +- **POST**: /loggingapi/entities/data-ingestion/ingest-async/v1 +- **Description**: Asynchronously ingest data into the application repository + +--- + +**Class**: `Falcon::FoundryLogscaleApi` + - **Operation**: [**ingest_data_v1**](docs/FoundryLogscaleApi.md#ingest_data_v1) - **POST**: /loggingapi/entities/data-ingestion/ingest/v1 -- **Description**: Ingest data into the application repository +- **Description**: Synchronously ingest data into the application repository --- @@ -2466,6 +3274,14 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::HandleApi` + +- **Operation**: [**handle**](docs/HandleApi.md#handle) +- **POST**: /data-security-dspm/entities/kafka-rest-produce/v1 +- **Description**: + +--- + **Class**: `Falcon::HostGroupApi` - **Operation**: [**create_host_groups**](docs/HostGroupApi.md#create_host_groups) @@ -2538,6 +3354,86 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**create_migration_v1**](docs/HostMigrationApi.md#create_migration_v1) +- **POST**: /host-migration/entities/migrations/v1 +- **Description**: Create a device migration job. + +--- + +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**get_host_migration_ids_v1**](docs/HostMigrationApi.md#get_host_migration_ids_v1) +- **GET**: /host-migration/queries/host-migrations/v1 +- **Description**: Query host migration IDs. + +--- + +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**get_host_migrations_v1**](docs/HostMigrationApi.md#get_host_migrations_v1) +- **POST**: /host-migration/entities/host-migrations/GET/v1 +- **Description**: Get host migration details. + +--- + +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**get_migration_destinations_v1**](docs/HostMigrationApi.md#get_migration_destinations_v1) +- **POST**: /host-migration/entities/migration-destinations/GET/v1 +- **Description**: Get destinations for a migration. + +--- + +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**get_migration_ids_v1**](docs/HostMigrationApi.md#get_migration_ids_v1) +- **GET**: /host-migration/queries/migrations/v1 +- **Description**: Query migration jobs. + +--- + +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**get_migrations_v1**](docs/HostMigrationApi.md#get_migrations_v1) +- **GET**: /host-migration/entities/migrations/v1 +- **Description**: Get migration job details. + +--- + +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**host_migration_aggregates_v1**](docs/HostMigrationApi.md#host_migration_aggregates_v1) +- **POST**: /host-migration/aggregates/host-migrations/v1 +- **Description**: Get host migration aggregates as specified via json in request body. + +--- + +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**host_migrations_actions_v1**](docs/HostMigrationApi.md#host_migrations_actions_v1) +- **POST**: /host-migration/entities/host-migrations-actions/v1 +- **Description**: Perform an action on host migrations. + +--- + +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**migration_aggregates_v1**](docs/HostMigrationApi.md#migration_aggregates_v1) +- **POST**: /host-migration/aggregates/migrations/v1 +- **Description**: Get migration aggregates as specified via json in request body. + +--- + +**Class**: `Falcon::HostMigrationApi` + +- **Operation**: [**migrations_actions_v1**](docs/HostMigrationApi.md#migrations_actions_v1) +- **POST**: /host-migration/entities/migrations-actions/v1 +- **Description**: Perform an action on a migration job. + +--- + **Class**: `Falcon::HostsApi` - **Operation**: [**entities_perform_action**](docs/HostsApi.md#entities_perform_action) @@ -2634,6 +3530,62 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::HumioAuthProxyApi` + +- **Operation**: [**get_lookup_from_package_v1**](docs/HumioAuthProxyApi.md#get_lookup_from_package_v1) +- **GET**: /humio/api/v1/repositories/{repository}/files/{package}/{filename} +- **Description**: Download lookup file in package from NGSIEM + +--- + +**Class**: `Falcon::HumioAuthProxyApi` + +- **Operation**: [**get_lookup_from_package_with_namespace_v1**](docs/HumioAuthProxyApi.md#get_lookup_from_package_with_namespace_v1) +- **GET**: /humio/api/v1/repositories/{repository}/files/{namespace}/{package}/{filename} +- **Description**: Download lookup file in namespaced package from NGSIEM + +--- + +**Class**: `Falcon::HumioAuthProxyApi` + +- **Operation**: [**get_lookup_v1**](docs/HumioAuthProxyApi.md#get_lookup_v1) +- **GET**: /humio/api/v1/repositories/{repository}/files/{filename} +- **Description**: Download lookup file from NGSIEM + +--- + +**Class**: `Falcon::HumioAuthProxyApi` + +- **Operation**: [**get_search_status_v1**](docs/HumioAuthProxyApi.md#get_search_status_v1) +- **GET**: /humio/api/v1/repositories/{repository}/queryjobs/{id} +- **Description**: Get status of search + +--- + +**Class**: `Falcon::HumioAuthProxyApi` + +- **Operation**: [**start_search_v1**](docs/HumioAuthProxyApi.md#start_search_v1) +- **POST**: /humio/api/v1/repositories/{repository}/queryjobs +- **Description**: Initiate search + +--- + +**Class**: `Falcon::HumioAuthProxyApi` + +- **Operation**: [**stop_search_v1**](docs/HumioAuthProxyApi.md#stop_search_v1) +- **DELETE**: /humio/api/v1/repositories/{repository}/queryjobs/{id} +- **Description**: Stop search + +--- + +**Class**: `Falcon::HumioAuthProxyApi` + +- **Operation**: [**upload_lookup_v1**](docs/HumioAuthProxyApi.md#upload_lookup_v1) +- **POST**: /humio/api/v1/repositories/{repository}/files +- **Description**: Upload file to NGSIEM + +--- + **Class**: `Falcon::IdentityEntitiesApi` - **Operation**: [**get_sensor_aggregates**](docs/IdentityEntitiesApi.md#get_sensor_aggregates) @@ -2660,12 +3612,44 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::IdentityProtectionApi` +- **Operation**: [**api_preempt_proxy_delete_policy_rules**](docs/IdentityProtectionApi.md#api_preempt_proxy_delete_policy_rules) +- **DELETE**: /identity-protection/entities/policy-rules/v1 +- **Description**: Delete policy rules + +--- + +**Class**: `Falcon::IdentityProtectionApi` + +- **Operation**: [**api_preempt_proxy_get_policy_rules**](docs/IdentityProtectionApi.md#api_preempt_proxy_get_policy_rules) +- **GET**: /identity-protection/entities/policy-rules/v1 +- **Description**: Get policy rules + +--- + +**Class**: `Falcon::IdentityProtectionApi` + +- **Operation**: [**api_preempt_proxy_get_policy_rules_query**](docs/IdentityProtectionApi.md#api_preempt_proxy_get_policy_rules_query) +- **GET**: /identity-protection/queries/policy-rules/v1 +- **Description**: Query policy rule IDs + +--- + +**Class**: `Falcon::IdentityProtectionApi` + - **Operation**: [**api_preempt_proxy_post_graphql**](docs/IdentityProtectionApi.md#api_preempt_proxy_post_graphql) - **POST**: /identity-protection/combined/graphql/v1 - **Description**: Identity Protection GraphQL API. Allows to retrieve entities, timeline activities, identity-based incidents and security assessment. Allows to perform actions on entities and identity-based incidents. --- +**Class**: `Falcon::IdentityProtectionApi` + +- **Operation**: [**api_preempt_proxy_post_policy_rules**](docs/IdentityProtectionApi.md#api_preempt_proxy_post_policy_rules) +- **POST**: /identity-protection/entities/policy-rules/v1 +- **Description**: Create policy rule + +--- + **Class**: `Falcon::ImageAssessmentPoliciesApi` - **Operation**: [**create_policies**](docs/ImageAssessmentPoliciesApi.md#create_policies) @@ -2932,6 +3916,22 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::IntelApi` +- **Operation**: [**get_malware_entities**](docs/IntelApi.md#get_malware_entities) +- **GET**: /intel/entities/malware/v1 +- **Description**: Get malware entities for specified ids. + +--- + +**Class**: `Falcon::IntelApi` + +- **Operation**: [**get_malware_mitre_report**](docs/IntelApi.md#get_malware_mitre_report) +- **GET**: /intel/entities/malware-mitre-reports/v1 +- **Description**: Export Mitre ATT&CK information for a given malware family. + +--- + +**Class**: `Falcon::IntelApi` + - **Operation**: [**get_mitre_report**](docs/IntelApi.md#get_mitre_report) - **GET**: /intel/entities/mitre-reports/v1 - **Description**: Export Mitre ATT&CK information for a given actor. @@ -3012,6 +4012,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::IntelApi` +- **Operation**: [**query_malware**](docs/IntelApi.md#query_malware) +- **GET**: /intel/queries/malware/v1 +- **Description**: Get malware family names that match provided FQL filters. + +--- + +**Class**: `Falcon::IntelApi` + - **Operation**: [**query_mitre_attacks**](docs/IntelApi.md#query_mitre_attacks) - **GET**: /intel/queries/mitre/v1 - **Description**: Gets MITRE tactics and techniques for the given actor, returning concatenation of id and tactic and technique ids, example: fancy-bear_TA0011_T1071 @@ -3020,6 +4028,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::IntelApi` +- **Operation**: [**query_mitre_attacks_for_malware**](docs/IntelApi.md#query_mitre_attacks_for_malware) +- **GET**: /intel/queries/mitre-malware/v1 +- **Description**: Gets MITRE tactics and techniques for the given malware + +--- + +**Class**: `Falcon::IntelApi` + - **Operation**: [**query_vulnerabilities**](docs/IntelApi.md#query_vulnerabilities) - **GET**: /intel/queries/vulnerabilities/v1 - **Description**: Get vulnerabilities IDs @@ -3564,6 +4580,22 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::KubernetesProtectionApi` +- **Operation**: [**read_namespace_count**](docs/KubernetesProtectionApi.md#read_namespace_count) +- **GET**: /container-security/aggregates/namespaces/count/v1 +- **Description**: Retrieve namespace counts + +--- + +**Class**: `Falcon::KubernetesProtectionApi` + +- **Operation**: [**read_namespaces_by_date_range_count**](docs/KubernetesProtectionApi.md#read_namespaces_by_date_range_count) +- **GET**: /container-security/aggregates/namespaces/count-by-date/v1 +- **Description**: Retrieve namespaces by date range counts + +--- + +**Class**: `Falcon::KubernetesProtectionApi` + - **Operation**: [**read_node_combined**](docs/KubernetesProtectionApi.md#read_node_combined) - **GET**: /container-security/combined/nodes/v1 - **Description**: Retrieve kubernetes nodes identified by the provided filter criteria @@ -3898,6 +4930,14 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::MobileEnrollmentApi` + +- **Operation**: [**request_device_enrollment_v4**](docs/MobileEnrollmentApi.md#request_device_enrollment_v4) +- **POST**: /enrollments/entities/details/v4 +- **Description**: Trigger on-boarding process for a mobile device + +--- + **Class**: `Falcon::MsspApi` - **Operation**: [**add_cid_group_members**](docs/MsspApi.md#add_cid_group_members) @@ -4402,14 +5442,6 @@ We appreciate your interest in our project and look forward to collaborating wit --- -**Class**: `Falcon::ProvisionApi` - -- **Operation**: [**get_credentials_mixin0**](docs/ProvisionApi.md#get_credentials_mixin0) -- **GET**: /snapshots/entities/image-registry-credentials/v1 -- **Description**: Gets the registry credentials - ---- - **Class**: `Falcon::QuarantineApi` - **Operation**: [**action_update_count**](docs/QuarantineApi.md#action_update_count) @@ -4476,7 +5508,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::QuickScanApi` -- **Operation**: [**query_submissions_mixin0**](docs/QuickScanApi.md#query_submissions_mixin0) +- **Operation**: [**query_submissions**](docs/QuickScanApi.md#query_submissions) - **GET**: /scanner/queries/scans/v1 - **Description**: Find IDs for submitted scans by providing an FQL filter and paging details. Returns a set of volume IDs that match your criteria. @@ -4490,6 +5522,54 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::QuickScanProApi` + +- **Operation**: [**delete_file**](docs/QuickScanProApi.md#delete_file) +- **DELETE**: /quickscanpro/entities/files/v1 +- **Description**: Deletes file by its sha256 identifier. + +--- + +**Class**: `Falcon::QuickScanProApi` + +- **Operation**: [**delete_scan_result**](docs/QuickScanProApi.md#delete_scan_result) +- **DELETE**: /quickscanpro/entities/scans/v1 +- **Description**: Deletes the result of an QuickScan Pro scan. + +--- + +**Class**: `Falcon::QuickScanProApi` + +- **Operation**: [**get_scan_result**](docs/QuickScanProApi.md#get_scan_result) +- **GET**: /quickscanpro/entities/scans/v1 +- **Description**: Gets the result of an QuickScan Pro scan. + +--- + +**Class**: `Falcon::QuickScanProApi` + +- **Operation**: [**launch_scan**](docs/QuickScanProApi.md#launch_scan) +- **POST**: /quickscanpro/entities/scans/v1 +- **Description**: Starts scanning a file uploaded through '/quickscanpro/entities/files/v1'. + +--- + +**Class**: `Falcon::QuickScanProApi` + +- **Operation**: [**query_scan_results**](docs/QuickScanProApi.md#query_scan_results) +- **GET**: /quickscanpro/queries/scans/v1 +- **Description**: FQL query specifying the filter parameters + +--- + +**Class**: `Falcon::QuickScanProApi` + +- **Operation**: [**upload_file_quick_scan_pro**](docs/QuickScanProApi.md#upload_file_quick_scan_pro) +- **POST**: /quickscanpro/entities/files/v1 +- **Description**: Uploads a file to be further analyzed with QuickScan Pro. The samples expire after 90 days. + +--- + **Class**: `Falcon::RealTimeResponseApi` - **Operation**: [**batch_active_responder_cmd**](docs/RealTimeResponseApi.md#batch_active_responder_cmd) @@ -4910,7 +5990,7 @@ We appreciate your interest in our project and look forward to collaborating wit - **Operation**: [**get_notifications_detailed_translated_v1**](docs/ReconApi.md#get_notifications_detailed_translated_v1) - **GET**: /recon/entities/notifications-detailed-translated/v1 -- **Description**: Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match.This endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request +- **Description**: Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. --- @@ -4918,7 +5998,7 @@ We appreciate your interest in our project and look forward to collaborating wit - **Operation**: [**get_notifications_detailed_v1**](docs/ReconApi.md#get_notifications_detailed_v1) - **GET**: /recon/entities/notifications-detailed/v1 -- **Description**: Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match. +- **Description**: Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. --- @@ -5022,7 +6102,7 @@ We appreciate your interest in our project and look forward to collaborating wit - **Operation**: [**report_executions_download_get**](docs/ReportExecutionsApi.md#report_executions_download_get) - **GET**: /reports/entities/report-executions-download/v1 -- **Description**: Get report entity download +- **Description**: Get report entity download. Returns either a JSON object or a CSV string. --- @@ -5260,6 +6340,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::SensorDownloadApi` +- **Operation**: [**download_sensor_installer_by_id_v2**](docs/SensorDownloadApi.md#download_sensor_installer_by_id_v2) +- **GET**: /sensors/entities/download-installer/v2 +- **Description**: Download sensor installer by SHA256 ID + +--- + +**Class**: `Falcon::SensorDownloadApi` + - **Operation**: [**get_combined_sensor_installers_by_query**](docs/SensorDownloadApi.md#get_combined_sensor_installers_by_query) - **GET**: /sensors/combined/installers/v1 - **Description**: Get sensor installer details by provided query @@ -5268,6 +6356,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::SensorDownloadApi` +- **Operation**: [**get_combined_sensor_installers_by_query_v2**](docs/SensorDownloadApi.md#get_combined_sensor_installers_by_query_v2) +- **GET**: /sensors/combined/installers/v2 +- **Description**: Get sensor installer details by provided query + +--- + +**Class**: `Falcon::SensorDownloadApi` + - **Operation**: [**get_sensor_installers_by_query**](docs/SensorDownloadApi.md#get_sensor_installers_by_query) - **GET**: /sensors/queries/installers/v1 - **Description**: Get sensor installer IDs by provided query @@ -5276,6 +6372,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::SensorDownloadApi` +- **Operation**: [**get_sensor_installers_by_query_v2**](docs/SensorDownloadApi.md#get_sensor_installers_by_query_v2) +- **GET**: /sensors/queries/installers/v2 +- **Description**: Get sensor installer IDs by provided query + +--- + +**Class**: `Falcon::SensorDownloadApi` + - **Operation**: [**get_sensor_installers_ccidby_query**](docs/SensorDownloadApi.md#get_sensor_installers_ccidby_query) - **GET**: /sensors/queries/installers/ccid/v1 - **Description**: Get CCID to use with sensor installers @@ -5290,6 +6394,14 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::SensorDownloadApi` + +- **Operation**: [**get_sensor_installers_entities_v2**](docs/SensorDownloadApi.md#get_sensor_installers_entities_v2) +- **GET**: /sensors/entities/installers/v2 +- **Description**: Get sensor installer details by provided SHA256 IDs + +--- + **Class**: `Falcon::SensorUpdatePoliciesApi` - **Operation**: [**create_sensor_update_policies**](docs/SensorUpdatePoliciesApi.md#create_sensor_update_policies) @@ -5381,7 +6493,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::SensorUpdatePoliciesApi` - **Operation**: [**query_sensor_update_kernels_distinct**](docs/SensorUpdatePoliciesApi.md#query_sensor_update_kernels_distinct) -- **GET**: /policy/queries/sensor-update-kernels/{distinct-field}/v1 +- **GET**: /policy/queries/sensor-update-kernels/{distinct_field}/v1 - **Description**: Retrieve kernel compatibility info for Sensor Update Builds --- @@ -5434,6 +6546,14 @@ We appreciate your interest in our project and look forward to collaborating wit --- +**Class**: `Falcon::SensorUsageApiApi` + +- **Operation**: [**get_sensor_usage_weekly**](docs/SensorUsageApiApi.md#get_sensor_usage_weekly) +- **GET**: /billing-dashboards-usage/aggregates/weekly-average/v1 +- **Description**: Fetches weekly average. Each data point represents the average of how many unique AIDs were seen per week for the previous 28 days. + +--- + **Class**: `Falcon::SensorVisibilityExclusionsApi` - **Operation**: [**create_sv_exclusions_v1**](docs/SensorVisibilityExclusionsApi.md#create_sv_exclusions_v1) @@ -5516,7 +6636,7 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::SpotlightVulnerabilitiesApi` -- **Operation**: [**get_vulnerabilities**](docs/SpotlightVulnerabilitiesApi.md#get_vulnerabilities) +- **Operation**: [**get_vulnerabilities_0**](docs/SpotlightVulnerabilitiesApi.md#get_vulnerabilities_0) - **GET**: /spotlight/entities/vulnerabilities/v2 - **Description**: Get details on vulnerabilities by providing one or more IDs @@ -5524,49 +6644,57 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::SpotlightVulnerabilitiesApi` -- **Operation**: [**query_vulnerabilities**](docs/SpotlightVulnerabilitiesApi.md#query_vulnerabilities) +- **Operation**: [**query_vulnerabilities_0**](docs/SpotlightVulnerabilitiesApi.md#query_vulnerabilities_0) - **GET**: /spotlight/queries/vulnerabilities/v1 - **Description**: Search for Vulnerabilities in your environment by providing an FQL filter and paging details. Returns a set of Vulnerability IDs which match the filter criteria --- -**Class**: `Falcon::TailoredIntelligenceApi` +**Class**: `Falcon::ThreatgraphApi` + +- **Operation**: [**combined_edges_get**](docs/ThreatgraphApi.md#combined_edges_get) +- **GET**: /threatgraph/combined/edges/v1 +- **Description**: Retrieve edges for a given vertex id. One edge type must be specified + +--- + +**Class**: `Falcon::ThreatgraphApi` -- **Operation**: [**get_events_body**](docs/TailoredIntelligenceApi.md#get_events_body) -- **GET**: /ti/events/entities/events-full-body/v2 -- **Description**: Get event body for the provided event ID +- **Operation**: [**combined_ran_on_get**](docs/ThreatgraphApi.md#combined_ran_on_get) +- **GET**: /threatgraph/combined/ran-on/v1 +- **Description**: Look up instances of indicators such as hashes, domain names, and ip addresses that have been seen on devices in your environment. --- -**Class**: `Falcon::TailoredIntelligenceApi` +**Class**: `Falcon::ThreatgraphApi` -- **Operation**: [**get_events_entities**](docs/TailoredIntelligenceApi.md#get_events_entities) -- **POST**: /ti/events/entities/events/GET/v2 -- **Description**: Get events entities for specified ids. +- **Operation**: [**combined_summary_get**](docs/ThreatgraphApi.md#combined_summary_get) +- **GET**: /threatgraph/combined/{vertex-type}/summary/v1 +- **Description**: Retrieve summary for a given vertex ID --- -**Class**: `Falcon::TailoredIntelligenceApi` +**Class**: `Falcon::ThreatgraphApi` -- **Operation**: [**get_rules_entities**](docs/TailoredIntelligenceApi.md#get_rules_entities) -- **POST**: /ti/rules/entities/rules/GET/v2 -- **Description**: Get rules entities for specified ids. +- **Operation**: [**entities_vertices_get**](docs/ThreatgraphApi.md#entities_vertices_get) +- **GET**: /threatgraph/entities/{vertex-type}/v1 +- **Description**: Retrieve metadata for a given vertex ID. Note: This is a legacy endpoint used by CrowdStrike Store partners prior to release of the ThreatGraph OAuth 2.0 APIs. If you’re not currently using this endpoint, use the /v2 endpoint instead. --- -**Class**: `Falcon::TailoredIntelligenceApi` +**Class**: `Falcon::ThreatgraphApi` -- **Operation**: [**query_events**](docs/TailoredIntelligenceApi.md#query_events) -- **GET**: /ti/events/queries/events/v2 -- **Description**: Get events ids that match the provided filter criteria. +- **Operation**: [**entities_vertices_getv2**](docs/ThreatgraphApi.md#entities_vertices_getv2) +- **GET**: /threatgraph/entities/{vertex-type}/v2 +- **Description**: Retrieve metadata for a given vertex ID --- -**Class**: `Falcon::TailoredIntelligenceApi` +**Class**: `Falcon::ThreatgraphApi` -- **Operation**: [**query_rules**](docs/TailoredIntelligenceApi.md#query_rules) -- **GET**: /ti/rules/queries/rules/v2 -- **Description**: Get rules ids that match the provided filter criteria. +- **Operation**: [**queries_edgetypes_get**](docs/ThreatgraphApi.md#queries_edgetypes_get) +- **GET**: /threatgraph/queries/edge-types/v1 +- **Description**: Show all available edge types --- @@ -5772,17 +6900,17 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::WorkflowsApi` -- **Operation**: [**workflow_definitions_combined**](docs/WorkflowsApi.md#workflow_definitions_combined) -- **GET**: /workflows/combined/definitions/v1 -- **Description**: Search workflow definitions based on the provided filter +- **Operation**: [**workflow_activities_combined**](docs/WorkflowsApi.md#workflow_activities_combined) +- **GET**: /workflows/combined/activities/v1 +- **Description**: Search for activities by name. Returns all supported activities if no filter specified --- **Class**: `Falcon::WorkflowsApi` -- **Operation**: [**workflow_definitions_create**](docs/WorkflowsApi.md#workflow_definitions_create) -- **POST**: /workflows/entities/definitions/v1 -- **Description**: Creates a workflow definition based on the provided model +- **Operation**: [**workflow_definitions_combined**](docs/WorkflowsApi.md#workflow_definitions_combined) +- **GET**: /workflows/combined/definitions/v1 +- **Description**: Search workflow definitions based on the provided filter --- @@ -5820,6 +6948,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::WorkflowsApi` +- **Operation**: [**workflow_execute_internal**](docs/WorkflowsApi.md#workflow_execute_internal) +- **POST**: /workflows/entities/execute/internal/v1 +- **Description**: Executes an on-demand Workflow - internal workflows permitted, the body is JSON used to trigger the execution, the response the execution ID(s) + +--- + +**Class**: `Falcon::WorkflowsApi` + - **Operation**: [**workflow_execution_results**](docs/WorkflowsApi.md#workflow_execution_results) - **GET**: /workflows/entities/execution-results/v1 - **Description**: Get execution result of a given execution @@ -5852,6 +6988,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::WorkflowsApi` +- **Operation**: [**workflow_mock_execute**](docs/WorkflowsApi.md#workflow_mock_execute) +- **POST**: /workflows/entities/mock-executions/v1 +- **Description**: Executes a workflow definition with mocks + +--- + +**Class**: `Falcon::WorkflowsApi` + - **Operation**: [**workflow_system_definitions_de_provision**](docs/WorkflowsApi.md#workflow_system_definitions_de_provision) - **POST**: /workflows/system-definitions/deprovision/v1 - **Description**: Deprovisions a system definition that was previously provisioned on the target CID @@ -5876,6 +7020,14 @@ We appreciate your interest in our project and look forward to collaborating wit **Class**: `Falcon::WorkflowsApi` +- **Operation**: [**workflow_triggers_combined**](docs/WorkflowsApi.md#workflow_triggers_combined) +- **GET**: /workflows/combined/triggers/v1 +- **Description**: Search for triggers by namespaced identifier, i.e. FalconAudit, Detection, or FalconAudit/Detection/Status. Returns all triggers if no filter specified + +--- + +**Class**: `Falcon::WorkflowsApi` + - **Operation**: [**workflow_update_human_input_v1**](docs/WorkflowsApi.md#workflow_update_human_input_v1) - **PATCH**: /workflows/entities/human-inputs/v1 - **Description**: Provides an input in response to a human input action. Depending on action configuration, one or more of Approve, Decline, and/or Escalate are permitted. diff --git a/crimson-falcon.gemspec b/crimson-falcon.gemspec index 09e16b27..761f61b9 100644 --- a/crimson-falcon.gemspec +++ b/crimson-falcon.gemspec @@ -41,7 +41,7 @@ Gem::Specification.new do |s| s.homepage = "https://github.com/CrowdStrike/crimson-falcon" s.summary = "CrowdStrike Falcon" s.description = "Use CrowdStrike Falcon APIs to interact with Falcon platform." - s.license = "MIT License" + s.license = "MIT" s.required_ruby_version = ">= 2.7" s.metadata = { "documentation_uri" => "https://github.com/CrowdStrike/crimson-falcon/blob/main/README.md#crimson-falcon-api-docs" diff --git a/docs/ASPMApi.md b/docs/ASPMApi.md new file mode 100644 index 00000000..ba3a2bb0 --- /dev/null +++ b/docs/ASPMApi.md @@ -0,0 +1,1659 @@ +# Falcon::ASPMApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**create_executor_node**](ASPMApi.md#create_executor_node) | **POST** /aspm-api-gateway/api/v1/executor_nodes | Create a new relay node | +| [**create_integration**](ASPMApi.md#create_integration) | **POST** /aspm-api-gateway/api/v1/integrations | Create a new integration | +| [**create_integration_task**](ASPMApi.md#create_integration_task) | **POST** /aspm-api-gateway/api/v1/integration_tasks | Create new integration task. | +| [**delete_executor_node**](ASPMApi.md#delete_executor_node) | **DELETE** /aspm-api-gateway/api/v1/executor_nodes/{ID} | Delete a relay node | +| [**delete_integration**](ASPMApi.md#delete_integration) | **DELETE** /aspm-api-gateway/api/v1/integrations/{ID} | Delete an existing integration by its ID | +| [**delete_integration_task**](ASPMApi.md#delete_integration_task) | **DELETE** /aspm-api-gateway/api/v1/integration_tasks/{ID} | Delete an existing integration task by its ID | +| [**delete_tags**](ASPMApi.md#delete_tags) | **POST** /aspm-api-gateway/api/v1/tags | Remove existing tags | +| [**execute_query**](ASPMApi.md#execute_query) | **POST** /aspm-api-gateway/api/v1/query | Execute a query. The syntax used is identical to that of the query page. | +| [**get_executor_nodes**](ASPMApi.md#get_executor_nodes) | **GET** /aspm-api-gateway/api/v1/executor_nodes | Get all the relay nodes | +| [**get_integration_tasks**](ASPMApi.md#get_integration_tasks) | **GET** /aspm-api-gateway/api/v1/integration_tasks | Get all the integration tasks | +| [**get_integration_types**](ASPMApi.md#get_integration_types) | **GET** /aspm-api-gateway/api/v1/integration_types | Get all the integration types | +| [**get_integrations**](ASPMApi.md#get_integrations) | **GET** /aspm-api-gateway/api/v1/integrations | Get a list of all the integrations | +| [**get_service_violation_types**](ASPMApi.md#get_service_violation_types) | **GET** /aspm-api-gateway/api/v1/services/violations/types | Get the different types of violation | +| [**get_services_count**](ASPMApi.md#get_services_count) | **POST** /aspm-api-gateway/api/v1/services/count | Get the total amount of existing services | +| [**get_tags**](ASPMApi.md#get_tags) | **GET** /aspm-api-gateway/api/v1/tags | Get all the tags | +| [**run_integration_task**](ASPMApi.md#run_integration_task) | **POST** /aspm-api-gateway/api/v1/integration_tasks/{ID}/run | Run an integration task by its ID | +| [**service_now_get_deployments**](ASPMApi.md#service_now_get_deployments) | **GET** /aspm-api-gateway/api/v1/servicenow/deployments | | +| [**service_now_get_services**](ASPMApi.md#service_now_get_services) | **GET** /aspm-api-gateway/api/v1/servicenow/services | | +| [**update_executor_node**](ASPMApi.md#update_executor_node) | **PUT** /aspm-api-gateway/api/v1/executor_nodes | Update an existing relay node | +| [**update_integration**](ASPMApi.md#update_integration) | **PUT** /aspm-api-gateway/api/v1/integrations/{ID} | Update an existing integration by its ID | +| [**update_integration_task**](ASPMApi.md#update_integration_task) | **PUT** /aspm-api-gateway/api/v1/integration_tasks/{ID} | Update an existing integration task by its ID | +| [**upsert_business_applications**](ASPMApi.md#upsert_business_applications) | **PUT** /aspm-api-gateway/api/v1/business_applications | Create or Update Business Applications | +| [**upsert_tags**](ASPMApi.md#upsert_tags) | **PUT** /aspm-api-gateway/api/v1/tags | Create new or update existing tag. You can update unique tags table or regular tags table | + + +## create_executor_node + +> create_executor_node(body) + +Create a new relay node + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesExecutorNode.new # TypesExecutorNode | + +begin + # Create a new relay node + result = api_instance.create_executor_node(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->create_executor_node: #{e}" +end +``` + +#### Using the create_executor_node_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> create_executor_node_with_http_info(body) + +```ruby +begin + # Create a new relay node + data, status_code, headers = api_instance.create_executor_node_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->create_executor_node_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesExecutorNode**](TypesExecutorNode.md) | | | + +### Return type + +[**TypesExecutorNode**](TypesExecutorNode.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## create_integration + +> create_integration(body) + +Create a new integration + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesCreateIntegrationRequest.new # TypesCreateIntegrationRequest | + +begin + # Create a new integration + result = api_instance.create_integration(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->create_integration: #{e}" +end +``` + +#### Using the create_integration_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> create_integration_with_http_info(body) + +```ruby +begin + # Create a new integration + data, status_code, headers = api_instance.create_integration_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->create_integration_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesCreateIntegrationRequest**](TypesCreateIntegrationRequest.md) | | | + +### Return type + +[**TypesIntegrationResponse**](TypesIntegrationResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## create_integration_task + +> create_integration_task(body) + +Create new integration task. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesCreateIntegrationTaskRequest.new # TypesCreateIntegrationTaskRequest | + +begin + # Create new integration task. + result = api_instance.create_integration_task(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->create_integration_task: #{e}" +end +``` + +#### Using the create_integration_task_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> create_integration_task_with_http_info(body) + +```ruby +begin + # Create new integration task. + data, status_code, headers = api_instance.create_integration_task_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->create_integration_task_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesCreateIntegrationTaskRequest**](TypesCreateIntegrationTaskRequest.md) | | | + +### Return type + +[**TypesIntegrationTaskResponse**](TypesIntegrationTaskResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## delete_executor_node + +> delete_executor_node(id) + +Delete a relay node + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +id = 56 # Integer | + +begin + # Delete a relay node + api_instance.delete_executor_node(id) +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->delete_executor_node: #{e}" +end +``` + +#### Using the delete_executor_node_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> delete_executor_node_with_http_info(id) + +```ruby +begin + # Delete a relay node + data, status_code, headers = api_instance.delete_executor_node_with_http_info(id) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->delete_executor_node_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## delete_integration + +> delete_integration(id) + +Delete an existing integration by its ID + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +id = 56 # Integer | + +begin + # Delete an existing integration by its ID + api_instance.delete_integration(id) +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->delete_integration: #{e}" +end +``` + +#### Using the delete_integration_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> delete_integration_with_http_info(id) + +```ruby +begin + # Delete an existing integration by its ID + data, status_code, headers = api_instance.delete_integration_with_http_info(id) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->delete_integration_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## delete_integration_task + +> delete_integration_task(id) + +Delete an existing integration task by its ID + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +id = 56 # Integer | + +begin + # Delete an existing integration task by its ID + api_instance.delete_integration_task(id) +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->delete_integration_task: #{e}" +end +``` + +#### Using the delete_integration_task_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> delete_integration_task_with_http_info(id) + +```ruby +begin + # Delete an existing integration task by its ID + data, status_code, headers = api_instance.delete_integration_task_with_http_info(id) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->delete_integration_task_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## delete_tags + +> delete_tags(body) + +Remove existing tags + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesEditTagRequest.new({entries: [Falcon::TypesTagEntry.new({persistent_signature: 'persistent_signature_example'})], name: 'name_example'}) # TypesEditTagRequest | + +begin + # Remove existing tags + api_instance.delete_tags(body) +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->delete_tags: #{e}" +end +``` + +#### Using the delete_tags_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> delete_tags_with_http_info(body) + +```ruby +begin + # Remove existing tags + data, status_code, headers = api_instance.delete_tags_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->delete_tags_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesEditTagRequest**](TypesEditTagRequest.md) | | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## execute_query + +> execute_query(body) + +Execute a query. The syntax used is identical to that of the query page. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesQueryRequest.new({query: 'query_example'}) # TypesQueryRequest | **params details:** - selectFields: - **fields** - For filtering relevant fields only. - **withoutServices** - Default is set to **true**, you will not receive information about the services. If you want to get the relevant service, set to **false**. - **serviceFields**- For filtering relevant fields of the service (if you chose to get it) + +begin + # Execute a query. The syntax used is identical to that of the query page. + result = api_instance.execute_query(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->execute_query: #{e}" +end +``` + +#### Using the execute_query_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> execute_query_with_http_info(body) + +```ruby +begin + # Execute a query. The syntax used is identical to that of the query page. + data, status_code, headers = api_instance.execute_query_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->execute_query_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesQueryRequest**](TypesQueryRequest.md) | **params details:** - selectFields: - **fields** - For filtering relevant fields only. - **withoutServices** - Default is set to **true**, you will not receive information about the services. If you want to get the relevant service, set to **false**. - **serviceFields**- For filtering relevant fields of the service (if you chose to get it) | | + +### Return type + +[**TypesQueryResult**](TypesQueryResult.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_executor_nodes + +> get_executor_nodes(node_type, opts) + +Get all the relay nodes + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +node_type = 'node_type_example' # String | +opts = { + integration_type: 56 # Integer | +} + +begin + # Get all the relay nodes + result = api_instance.get_executor_nodes(node_type, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_executor_nodes: #{e}" +end +``` + +#### Using the get_executor_nodes_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_executor_nodes_with_http_info(node_type, opts) + +```ruby +begin + # Get all the relay nodes + data, status_code, headers = api_instance.get_executor_nodes_with_http_info(node_type, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_executor_nodes_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **node_type** | **String** | | | +| **integration_type** | **Integer** | | [optional] | + +### Return type + +[**TypesListExecutorNodesResponse**](TypesListExecutorNodesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_integration_tasks + +> get_integration_tasks(opts) + +Get all the integration tasks + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +opts = { + integration_task_type: 56, # Integer | + category: 'category_example' # String | +} + +begin + # Get all the integration tasks + result = api_instance.get_integration_tasks(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_integration_tasks: #{e}" +end +``` + +#### Using the get_integration_tasks_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_integration_tasks_with_http_info(opts) + +```ruby +begin + # Get all the integration tasks + data, status_code, headers = api_instance.get_integration_tasks_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_integration_tasks_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integration_task_type** | **Integer** | | [optional] | +| **category** | **String** | | [optional] | + +### Return type + +[**TypesListIntegrationTasksResponse**](TypesListIntegrationTasksResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_integration_types + +> get_integration_types + +Get all the integration types + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new + +begin + # Get all the integration types + result = api_instance.get_integration_types + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_integration_types: #{e}" +end +``` + +#### Using the get_integration_types_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_integration_types_with_http_info + +```ruby +begin + # Get all the integration types + data, status_code, headers = api_instance.get_integration_types_with_http_info + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_integration_types_with_http_info: #{e}" +end +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**TypesListIntegrationTypesResponse**](TypesListIntegrationTypesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_integrations + +> get_integrations(opts) + +Get a list of all the integrations + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +opts = { + integration_type: 56, # Integer | + category: 'category_example' # String | +} + +begin + # Get a list of all the integrations + result = api_instance.get_integrations(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_integrations: #{e}" +end +``` + +#### Using the get_integrations_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_integrations_with_http_info(opts) + +```ruby +begin + # Get a list of all the integrations + data, status_code, headers = api_instance.get_integrations_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_integrations_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integration_type** | **Integer** | | [optional] | +| **category** | **String** | | [optional] | + +### Return type + +[**TypesListIntegrationsResponse**](TypesListIntegrationsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_service_violation_types + +> get_service_violation_types(body) + +Get the different types of violation + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesGenericUserFacingRequest.new # TypesGenericUserFacingRequest | + +begin + # Get the different types of violation + result = api_instance.get_service_violation_types(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_service_violation_types: #{e}" +end +``` + +#### Using the get_service_violation_types_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_service_violation_types_with_http_info(body) + +```ruby +begin + # Get the different types of violation + data, status_code, headers = api_instance.get_service_violation_types_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_service_violation_types_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesGenericUserFacingRequest**](TypesGenericUserFacingRequest.md) | | | + +### Return type + +[**TypesGetViolationTypesResponse**](TypesGetViolationTypesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_services_count + +> get_services_count(body) + +Get the total amount of existing services + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesGetServicesRequest.new # TypesGetServicesRequest | + +begin + # Get the total amount of existing services + api_instance.get_services_count(body) +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_services_count: #{e}" +end +``` + +#### Using the get_services_count_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> get_services_count_with_http_info(body) + +```ruby +begin + # Get the total amount of existing services + data, status_code, headers = api_instance.get_services_count_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_services_count_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesGetServicesRequest**](TypesGetServicesRequest.md) | | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_tags + +> get_tags(opts) + +Get all the tags + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +opts = { + is_unique: true, # Boolean | + tag_name: 'tag_name_example', # String | + limit: 56, # Integer | + offset: 56, # Integer | + name: ['inner_example'] # Array | +} + +begin + # Get all the tags + result = api_instance.get_tags(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_tags: #{e}" +end +``` + +#### Using the get_tags_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_tags_with_http_info(opts) + +```ruby +begin + # Get all the tags + data, status_code, headers = api_instance.get_tags_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->get_tags_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **is_unique** | **Boolean** | | [optional] | +| **tag_name** | **String** | | [optional] | +| **limit** | **Integer** | | [optional] | +| **offset** | **Integer** | | [optional] | +| **name** | [**Array<String>**](String.md) | | [optional] | + +### Return type + +[**TypesTagsDataResponse**](TypesTagsDataResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## run_integration_task + +> run_integration_task(id, body, opts) + +Run an integration task by its ID + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +id = 56 # Integer | +body = Falcon::TypesRunIntegrationTaskRequest.new # TypesRunIntegrationTaskRequest | +opts = { + category: 'category_example' # String | +} + +begin + # Run an integration task by its ID + result = api_instance.run_integration_task(id, body, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->run_integration_task: #{e}" +end +``` + +#### Using the run_integration_task_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> run_integration_task_with_http_info(id, body, opts) + +```ruby +begin + # Run an integration task by its ID + data, status_code, headers = api_instance.run_integration_task_with_http_info(id, body, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->run_integration_task_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | | +| **body** | [**TypesRunIntegrationTaskRequest**](TypesRunIntegrationTaskRequest.md) | | | +| **category** | **String** | | [optional] | + +### Return type + +[**TypesIntegrationTaskTestConnectionResponse**](TypesIntegrationTaskTestConnectionResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## service_now_get_deployments + +> service_now_get_deployments(opts) + + + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +opts = { + ql_filters: 'ql_filters_example', # String | + limit: 56, # Integer | + offset: 56, # Integer | + order_by: 'order_by_example', # String | + direction: 'direction_example' # String | +} + +begin + + result = api_instance.service_now_get_deployments(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->service_now_get_deployments: #{e}" +end +``` + +#### Using the service_now_get_deployments_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> service_now_get_deployments_with_http_info(opts) + +```ruby +begin + + data, status_code, headers = api_instance.service_now_get_deployments_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->service_now_get_deployments_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ql_filters** | **String** | | [optional] | +| **limit** | **Integer** | | [optional] | +| **offset** | **Integer** | | [optional] | +| **order_by** | **String** | | [optional] | +| **direction** | **String** | | [optional] | + +### Return type + +[**TypesServiceNowDeploymentsResponse**](TypesServiceNowDeploymentsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## service_now_get_services + +> service_now_get_services(opts) + + + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +opts = { + ql_filters: 'ql_filters_example', # String | + limit: 56, # Integer | + offset: 56, # Integer | + order_by: 'order_by_example', # String | + direction: 'direction_example' # String | +} + +begin + + result = api_instance.service_now_get_services(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->service_now_get_services: #{e}" +end +``` + +#### Using the service_now_get_services_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> service_now_get_services_with_http_info(opts) + +```ruby +begin + + data, status_code, headers = api_instance.service_now_get_services_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->service_now_get_services_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ql_filters** | **String** | | [optional] | +| **limit** | **Integer** | | [optional] | +| **offset** | **Integer** | | [optional] | +| **order_by** | **String** | | [optional] | +| **direction** | **String** | | [optional] | + +### Return type + +[**TypesServiceNowServicesResponse**](TypesServiceNowServicesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## update_executor_node + +> update_executor_node(body) + +Update an existing relay node + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesExecutorNode.new # TypesExecutorNode | + +begin + # Update an existing relay node + result = api_instance.update_executor_node(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->update_executor_node: #{e}" +end +``` + +#### Using the update_executor_node_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> update_executor_node_with_http_info(body) + +```ruby +begin + # Update an existing relay node + data, status_code, headers = api_instance.update_executor_node_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->update_executor_node_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesExecutorNode**](TypesExecutorNode.md) | | | + +### Return type + +[**TypesExecutorNode**](TypesExecutorNode.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## update_integration + +> update_integration(id, body) + +Update an existing integration by its ID + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +id = 56 # Integer | +body = Falcon::TypesUpdateIntegrationRequest.new # TypesUpdateIntegrationRequest | + +begin + # Update an existing integration by its ID + result = api_instance.update_integration(id, body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->update_integration: #{e}" +end +``` + +#### Using the update_integration_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> update_integration_with_http_info(id, body) + +```ruby +begin + # Update an existing integration by its ID + data, status_code, headers = api_instance.update_integration_with_http_info(id, body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->update_integration_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | | +| **body** | [**TypesUpdateIntegrationRequest**](TypesUpdateIntegrationRequest.md) | | | + +### Return type + +[**TypesIntegrationResponse**](TypesIntegrationResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## update_integration_task + +> update_integration_task(id, body) + +Update an existing integration task by its ID + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +id = 56 # Integer | +body = Falcon::TypesUpdateIntegrationTaskRequest.new # TypesUpdateIntegrationTaskRequest | + +begin + # Update an existing integration task by its ID + result = api_instance.update_integration_task(id, body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->update_integration_task: #{e}" +end +``` + +#### Using the update_integration_task_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> update_integration_task_with_http_info(id, body) + +```ruby +begin + # Update an existing integration task by its ID + data, status_code, headers = api_instance.update_integration_task_with_http_info(id, body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->update_integration_task_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | | +| **body** | [**TypesUpdateIntegrationTaskRequest**](TypesUpdateIntegrationTaskRequest.md) | | | + +### Return type + +[**TypesIntegrationTaskResponse**](TypesIntegrationTaskResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## upsert_business_applications + +> upsert_business_applications(body) + +Create or Update Business Applications + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesUpsertBusinessApplicationRequest.new({name: 'name_example', persistent_signatures: ['persistent_signatures_example']}) # TypesUpsertBusinessApplicationRequest | + +begin + # Create or Update Business Applications + api_instance.upsert_business_applications(body) +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->upsert_business_applications: #{e}" +end +``` + +#### Using the upsert_business_applications_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> upsert_business_applications_with_http_info(body) + +```ruby +begin + # Create or Update Business Applications + data, status_code, headers = api_instance.upsert_business_applications_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->upsert_business_applications_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesUpsertBusinessApplicationRequest**](TypesUpsertBusinessApplicationRequest.md) | | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## upsert_tags + +> upsert_tags(body) + +Create new or update existing tag. You can update unique tags table or regular tags table + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ASPMApi.new +body = Falcon::TypesEditUniqueTagRequest.new({entries: [Falcon::TypesUniqueTagEntry.new]}) # TypesEditUniqueTagRequest | + +begin + # Create new or update existing tag. You can update unique tags table or regular tags table + api_instance.upsert_tags(body) +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->upsert_tags: #{e}" +end +``` + +#### Using the upsert_tags_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> upsert_tags_with_http_info(body) + +```ruby +begin + # Create new or update existing tag. You can update unique tags table or regular tags table + data, status_code, headers = api_instance.upsert_tags_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ASPMApi->upsert_tags_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**TypesEditUniqueTagRequest**](TypesEditUniqueTagRequest.md) | | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + diff --git a/docs/ActionsAction.md b/docs/ActionsAction.md new file mode 100644 index 00000000..5ac38715 --- /dev/null +++ b/docs/ActionsAction.md @@ -0,0 +1,34 @@ +# Falcon::ActionsAction + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **expected_change_count** | **Integer** | | | +| **id** | **String** | | | +| **operation_type** | **String** | Possible values: SUPPRESS, PURGE, UNSUPPRESS. | | +| **previous_change_count** | **Integer** | | | +| **reason** | **String** | | [optional] | +| **status** | **String** | Possible values: RUNNING, DONE, FAILED | | +| **total_change_count** | **Integer** | | | +| **updated_by** | **String** | | | +| **updated_date** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ActionsAction.new( + expected_change_count: null, + id: null, + operation_type: null, + previous_change_count: null, + reason: null, + status: null, + total_change_count: null, + updated_by: null, + updated_date: null +) +``` + diff --git a/docs/ActionsActionResponse.md b/docs/ActionsActionResponse.md new file mode 100644 index 00000000..667aebe7 --- /dev/null +++ b/docs/ActionsActionResponse.md @@ -0,0 +1,22 @@ +# Falcon::ActionsActionResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **action_id** | **String** | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ActionsActionResponse.new( + action_id: null, + errors: null, + meta: null +) +``` + diff --git a/docs/ActionsCreateActionRequest.md b/docs/ActionsCreateActionRequest.md new file mode 100644 index 00000000..9dc2306a --- /dev/null +++ b/docs/ActionsCreateActionRequest.md @@ -0,0 +1,22 @@ +# Falcon::ActionsCreateActionRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **change_ids** | **Array<String>** | | | +| **comment** | **String** | | [optional] | +| **operation** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ActionsCreateActionRequest.new( + change_ids: null, + comment: null, + operation: null +) +``` + diff --git a/docs/ActionsGetActionResponse.md b/docs/ActionsGetActionResponse.md new file mode 100644 index 00000000..330b8a45 --- /dev/null +++ b/docs/ActionsGetActionResponse.md @@ -0,0 +1,22 @@ +# Falcon::ActionsGetActionResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ActionsAction>**](ActionsAction.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ActionsGetActionResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ActivitiesActivity.md b/docs/ActivitiesActivity.md new file mode 100644 index 00000000..3a5e8538 --- /dev/null +++ b/docs/ActivitiesActivity.md @@ -0,0 +1,56 @@ +# Falcon::ActivitiesActivity + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **api_scope** | **String** | Required api scope to use this activity. | [optional] | +| **app_id** | **String** | Optional ID if the activity is exposed through an app from Store | [optional] | +| **cid** | **String** | The CID that owns this activity, if this is empty it is a global activity | | +| **_class** | **String** | Activity class to identify how it should be orchestrated. E.g. External, Break, CreateVariable and UpdateVariable | [optional] | +| **description** | **String** | A detailed description of what this action does | | +| **disruptive** | **Boolean** | A flag indicating whether the activity is potentially disruptive/destructive | | +| **has_permission** | **Boolean** | Indicates whether an activity is available for the caller | | +| **id** | **String** | Unique ID of the activity, auto-generated by the API service | | +| **input_fields** | [**Array<ActivitiesActivityExtField>**](ActivitiesActivityExtField.md) | Input fields required for configuring activity | [optional] | +| **input_schema** | [**JsonschemaSchema**](JsonschemaSchema.md) | | [optional] | +| **mock_output** | **Object** | | [optional] | +| **name** | **String** | UI name for displaying the activity to a user | | +| **namespace** | **String** | Unique namespace for the activity. | [optional] | +| **output_fields** | [**Array<ActivitiesActivityExtField>**](ActivitiesActivityExtField.md) | Output fields of the activity once executed | [optional] | +| **output_schema** | [**JsonschemaSchema**](JsonschemaSchema.md) | | [optional] | +| **tag_ids** | **Array<String>** | Tag IDs assigned to this activity | [optional] | +| **updated** | **Time** | Timestamp of when the activity was last updated | [optional] | +| **use_cases** | **Array<String>** | UseCases used by this activity | [optional] | +| **vendor** | **String** | Vendors used by this activity | [optional] | +| **version** | **Integer** | An incrementing version number | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ActivitiesActivity.new( + api_scope: null, + app_id: null, + cid: null, + _class: null, + description: null, + disruptive: null, + has_permission: null, + id: null, + input_fields: null, + input_schema: null, + mock_output: null, + name: null, + namespace: null, + output_fields: null, + output_schema: null, + tag_ids: null, + updated: null, + use_cases: null, + vendor: null, + version: null +) +``` + diff --git a/docs/ActivitiesActivityExtField.md b/docs/ActivitiesActivityExtField.md new file mode 100644 index 00000000..fcb83b67 --- /dev/null +++ b/docs/ActivitiesActivityExtField.md @@ -0,0 +1,32 @@ +# Falcon::ActivitiesActivityExtField + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **description** | **String** | Description for the field. | [optional] | +| **display** | **String** | User friendly display name for the field | | +| **example** | **Object** | | [optional] | +| **fields** | [**Array<ActivitiesActivityExtField>**](ActivitiesActivityExtField.md) | Nested fields of this object, only set when field type is complex | [optional] | +| **name** | **String** | Name of the field as it should be passed back to the API through conditions or data mapping. | | +| **source** | [**FielddataFieldSource**](FielddataFieldSource.md) | | [optional] | +| **type** | **String** | Underlying type for the field, can be a primitive json schema type or signal field type. | [optional] | +| **x_cs_not_parameterizable** | **Boolean** | This property is set if the notPramaterizable is set to true. | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ActivitiesActivityExtField.new( + description: null, + display: null, + example: null, + fields: null, + name: null, + source: null, + type: null, + x_cs_not_parameterizable: null +) +``` + diff --git a/docs/ActivitiesActivityExternalResponse.md b/docs/ActivitiesActivityExternalResponse.md new file mode 100644 index 00000000..bc2d6767 --- /dev/null +++ b/docs/ActivitiesActivityExternalResponse.md @@ -0,0 +1,22 @@ +# Falcon::ActivitiesActivityExternalResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ActivitiesActivity>**](ActivitiesActivity.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ActivitiesActivityExternalResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/Activity.md b/docs/Activity.md new file mode 100644 index 00000000..ae861c4a --- /dev/null +++ b/docs/Activity.md @@ -0,0 +1,20 @@ +# Falcon::Activity + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **access_type** | [**TypesPolicyRulesCondition**](TypesPolicyRulesCondition.md) | | [optional] | +| **access_type_custom** | [**TypesPolicyRulesCondition**](TypesPolicyRulesCondition.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::Activity.new( + access_type: null, + access_type_custom: null +) +``` + diff --git a/docs/AlertsApi.md b/docs/AlertsApi.md index 23009d27..63e1c09e 100644 --- a/docs/AlertsApi.md +++ b/docs/AlertsApi.md @@ -1,24 +1,24 @@ # Falcon::AlertsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | -| [**get_queries_alerts_v1**](AlertsApi.md#get_queries_alerts_v1) | **GET** /alerts/queries/alerts/v1 | retrieves all Alerts ids that match a given query | -| [**get_queries_alerts_v2**](AlertsApi.md#get_queries_alerts_v2) | **GET** /alerts/queries/alerts/v2 | retrieves all Alerts ids that match a given query | -| [**patch_entities_alerts_v2**](AlertsApi.md#patch_entities_alerts_v2) | **PATCH** /alerts/entities/alerts/v2 | Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. | +| [**get_queries_alerts_v1**](AlertsApi.md#get_queries_alerts_v1) | **GET** /alerts/queries/alerts/v1 | Deprecated: please use version v2 of this endpoint. Retrieves all Alerts ids that match a given query. | +| [**get_queries_alerts_v2**](AlertsApi.md#get_queries_alerts_v2) | **GET** /alerts/queries/alerts/v2 | Retrieves all Alerts ids that match a given query. | +| [**patch_entities_alerts_v2**](AlertsApi.md#patch_entities_alerts_v2) | **PATCH** /alerts/entities/alerts/v2 | Deprecated: Please use version v3 of this endpoint. Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. | | [**patch_entities_alerts_v3**](AlertsApi.md#patch_entities_alerts_v3) | **PATCH** /alerts/entities/alerts/v3 | Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. | -| [**post_aggregates_alerts_v1**](AlertsApi.md#post_aggregates_alerts_v1) | **POST** /alerts/aggregates/alerts/v1 | retrieves aggregate values for Alerts across all CIDs | -| [**post_aggregates_alerts_v2**](AlertsApi.md#post_aggregates_alerts_v2) | **POST** /alerts/aggregates/alerts/v2 | retrieves aggregate values for Alerts across all CIDs | -| [**post_entities_alerts_v1**](AlertsApi.md#post_entities_alerts_v1) | **POST** /alerts/entities/alerts/v1 | retrieves all Alerts given their ids | -| [**post_entities_alerts_v2**](AlertsApi.md#post_entities_alerts_v2) | **POST** /alerts/entities/alerts/v2 | retrieves all Alerts given their composite ids | +| [**post_aggregates_alerts_v1**](AlertsApi.md#post_aggregates_alerts_v1) | **POST** /alerts/aggregates/alerts/v1 | Deprecated: Please use version v2 of this endpoint. Retrieves aggregate values for Alerts across all CIDs. | +| [**post_aggregates_alerts_v2**](AlertsApi.md#post_aggregates_alerts_v2) | **POST** /alerts/aggregates/alerts/v2 | Retrieves aggregate values for Alerts across all CIDs. | +| [**post_entities_alerts_v1**](AlertsApi.md#post_entities_alerts_v1) | **POST** /alerts/entities/alerts/v1 | Deprecated: please use version v2 of this endpoint. Retrieves all Alerts given their ids. | +| [**post_entities_alerts_v2**](AlertsApi.md#post_entities_alerts_v2) | **POST** /alerts/entities/alerts/v2 | Retrieves all Alerts given their composite ids. | ## get_queries_alerts_v1 > get_queries_alerts_v1(opts) -retrieves all Alerts ids that match a given query +Deprecated: please use version v2 of this endpoint. Retrieves all Alerts ids that match a given query. ### Examples @@ -39,11 +39,11 @@ opts = { limit: 56, # Integer | The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. sort: 'sort_example', # String | Sort parameter takes the form . Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering filter: 'filter_example', # String | Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). - q: 'q_example' # String | Search all detection metadata for the provided string + q: 'q_example' # String | Search all alert metadata for the provided string } begin - # retrieves all Alerts ids that match a given query + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts ids that match a given query. result = api_instance.get_queries_alerts_v1(opts) p result rescue Falcon::ApiError => e @@ -59,7 +59,7 @@ This returns an Array which contains the response data, status code and headers. ```ruby begin - # retrieves all Alerts ids that match a given query + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts ids that match a given query. data, status_code, headers = api_instance.get_queries_alerts_v1_with_http_info(opts) p status_code # => 2xx p headers # => { ... } @@ -77,7 +77,7 @@ end | **limit** | **Integer** | The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. | [optional] | | **sort** | **String** | Sort parameter takes the form <field|direction>. Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering | [optional] | | **filter** | **String** | Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). | [optional] | -| **q** | **String** | Search all detection metadata for the provided string | [optional] | +| **q** | **String** | Search all alert metadata for the provided string | [optional] | ### Return type @@ -97,7 +97,7 @@ end > get_queries_alerts_v2(opts) -retrieves all Alerts ids that match a given query +Retrieves all Alerts ids that match a given query. ### Examples @@ -119,11 +119,11 @@ opts = { limit: 56, # Integer | The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. sort: 'sort_example', # String | Sort parameter takes the form . Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering filter: 'filter_example', # String | Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). - q: 'q_example' # String | Search all detection metadata for the provided string + q: 'q_example' # String | Search all alert metadata for the provided string } begin - # retrieves all Alerts ids that match a given query + # Retrieves all Alerts ids that match a given query. result = api_instance.get_queries_alerts_v2(opts) p result rescue Falcon::ApiError => e @@ -139,7 +139,7 @@ This returns an Array which contains the response data, status code and headers. ```ruby begin - # retrieves all Alerts ids that match a given query + # Retrieves all Alerts ids that match a given query. data, status_code, headers = api_instance.get_queries_alerts_v2_with_http_info(opts) p status_code # => 2xx p headers # => { ... } @@ -158,7 +158,7 @@ end | **limit** | **Integer** | The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. | [optional] | | **sort** | **String** | Sort parameter takes the form <field|direction>. Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering | [optional] | | **filter** | **String** | Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). | [optional] | -| **q** | **String** | Search all detection metadata for the provided string | [optional] | +| **q** | **String** | Search all alert metadata for the provided string | [optional] | ### Return type @@ -178,7 +178,7 @@ end > patch_entities_alerts_v2(body) -Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. +Deprecated: Please use version v3 of this endpoint. Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. ### Examples @@ -194,10 +194,10 @@ Falcon.configure do |config| end api_instance = Falcon::AlertsApi.new -body = Falcon::DetectsapiPatchEntitiesAlertsV2Request.new({ids: ['ids_example']}) # DetectsapiPatchEntitiesAlertsV2Request | request body takes a list of action parameter request that is applied against all \"ids\" provided +body = Falcon::DetectsapiPatchEntitiesAlertsV2Request.new({ids: ['ids_example']}) # DetectsapiPatchEntitiesAlertsV2Request | `ids` - IDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. begin - # Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. + # Deprecated: Please use version v3 of this endpoint. Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. result = api_instance.patch_entities_alerts_v2(body) p result rescue Falcon::ApiError => e @@ -213,7 +213,7 @@ This returns an Array which contains the response data, status code and headers. ```ruby begin - # Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. + # Deprecated: Please use version v3 of this endpoint. Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. data, status_code, headers = api_instance.patch_entities_alerts_v2_with_http_info(body) p status_code # => 2xx p headers # => { ... } @@ -227,7 +227,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**DetectsapiPatchEntitiesAlertsV2Request**](DetectsapiPatchEntitiesAlertsV2Request.md) | request body takes a list of action parameter request that is applied against all \"ids\" provided | | +| **body** | [**DetectsapiPatchEntitiesAlertsV2Request**](DetectsapiPatchEntitiesAlertsV2Request.md) | `ids` - IDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. | | ### Return type @@ -263,7 +263,7 @@ Falcon.configure do |config| end api_instance = Falcon::AlertsApi.new -body = Falcon::DetectsapiPatchEntitiesAlertsV3Request.new({composite_ids: ['composite_ids_example']}) # DetectsapiPatchEntitiesAlertsV3Request | request body takes a list of action parameter request that is applied against all \"ids\" provided +body = Falcon::DetectsapiPatchEntitiesAlertsV3Request.new({composite_ids: ['composite_ids_example']}) # DetectsapiPatchEntitiesAlertsV3Request | `composite_ids` - CompositeIDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. opts = { include_hidden: true # Boolean | allows previously hidden alerts to be retrieved } @@ -299,7 +299,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**DetectsapiPatchEntitiesAlertsV3Request**](DetectsapiPatchEntitiesAlertsV3Request.md) | request body takes a list of action parameter request that is applied against all \"ids\" provided | | +| **body** | [**DetectsapiPatchEntitiesAlertsV3Request**](DetectsapiPatchEntitiesAlertsV3Request.md) | `composite_ids` - CompositeIDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. | | | **include_hidden** | **Boolean** | allows previously hidden alerts to be retrieved | [optional][default to true] | ### Return type @@ -320,7 +320,7 @@ end > post_aggregates_alerts_v1(body) -retrieves aggregate values for Alerts across all CIDs +Deprecated: Please use version v2 of this endpoint. Retrieves aggregate values for Alerts across all CIDs. ### Examples @@ -339,7 +339,7 @@ api_instance = Falcon::AlertsApi.new body = [Falcon::DetectsapiAggregateAlertQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [Falcon::DetectsapiAggregateAlertQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [], time_zone: 'time_zone_example', type: 'type_example'})], time_zone: 'time_zone_example', type: 'type_example'})] # Array | request body takes a list of aggregate-alert query requests begin - # retrieves aggregate values for Alerts across all CIDs + # Deprecated: Please use version v2 of this endpoint. Retrieves aggregate values for Alerts across all CIDs. result = api_instance.post_aggregates_alerts_v1(body) p result rescue Falcon::ApiError => e @@ -355,7 +355,7 @@ This returns an Array which contains the response data, status code and headers. ```ruby begin - # retrieves aggregate values for Alerts across all CIDs + # Deprecated: Please use version v2 of this endpoint. Retrieves aggregate values for Alerts across all CIDs. data, status_code, headers = api_instance.post_aggregates_alerts_v1_with_http_info(body) p status_code # => 2xx p headers # => { ... } @@ -389,7 +389,7 @@ end > post_aggregates_alerts_v2(body, opts) -retrieves aggregate values for Alerts across all CIDs +Retrieves aggregate values for Alerts across all CIDs. ### Examples @@ -411,7 +411,7 @@ opts = { } begin - # retrieves aggregate values for Alerts across all CIDs + # Retrieves aggregate values for Alerts across all CIDs. result = api_instance.post_aggregates_alerts_v2(body, opts) p result rescue Falcon::ApiError => e @@ -427,7 +427,7 @@ This returns an Array which contains the response data, status code and headers. ```ruby begin - # retrieves aggregate values for Alerts across all CIDs + # Retrieves aggregate values for Alerts across all CIDs. data, status_code, headers = api_instance.post_aggregates_alerts_v2_with_http_info(body, opts) p status_code # => 2xx p headers # => { ... } @@ -460,9 +460,9 @@ end ## post_entities_alerts_v1 -> post_entities_alerts_v1(body) +> post_entities_alerts_v1(body) -retrieves all Alerts given their ids +Deprecated: please use version v2 of this endpoint. Retrieves all Alerts given their ids. ### Examples @@ -481,7 +481,7 @@ api_instance = Falcon::AlertsApi.new body = Falcon::DetectsapiPostEntitiesAlertsV1Request.new({ids: ['ids_example']}) # DetectsapiPostEntitiesAlertsV1Request | begin - # retrieves all Alerts given their ids + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts given their ids. result = api_instance.post_entities_alerts_v1(body) p result rescue Falcon::ApiError => e @@ -493,15 +493,15 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> post_entities_alerts_v1_with_http_info(body) +> , Integer, Hash)> post_entities_alerts_v1_with_http_info(body) ```ruby begin - # retrieves all Alerts given their ids + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts given their ids. data, status_code, headers = api_instance.post_entities_alerts_v1_with_http_info(body) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling AlertsApi->post_entities_alerts_v1_with_http_info: #{e}" end @@ -515,7 +515,7 @@ end ### Return type -[**DetectsapiPostEntitiesAlertsV1Response**](DetectsapiPostEntitiesAlertsV1Response.md) +[**DetectsapiPostEntitiesAlertsV1ResponseSwagger**](DetectsapiPostEntitiesAlertsV1ResponseSwagger.md) ### Authorization @@ -529,9 +529,9 @@ end ## post_entities_alerts_v2 -> post_entities_alerts_v2(body, opts) +> post_entities_alerts_v2(body, opts) -retrieves all Alerts given their composite ids +Retrieves all Alerts given their composite ids. ### Examples @@ -553,7 +553,7 @@ opts = { } begin - # retrieves all Alerts given their composite ids + # Retrieves all Alerts given their composite ids. result = api_instance.post_entities_alerts_v2(body, opts) p result rescue Falcon::ApiError => e @@ -565,15 +565,15 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> post_entities_alerts_v2_with_http_info(body, opts) +> , Integer, Hash)> post_entities_alerts_v2_with_http_info(body, opts) ```ruby begin - # retrieves all Alerts given their composite ids + # Retrieves all Alerts given their composite ids. data, status_code, headers = api_instance.post_entities_alerts_v2_with_http_info(body, opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling AlertsApi->post_entities_alerts_v2_with_http_info: #{e}" end @@ -588,7 +588,7 @@ end ### Return type -[**DetectsapiPostEntitiesAlertsV2Response**](DetectsapiPostEntitiesAlertsV2Response.md) +[**DetectsapiPostEntitiesAlertsV2ResponseSwagger**](DetectsapiPostEntitiesAlertsV2ResponseSwagger.md) ### Authorization diff --git a/docs/AlertsContainerAlertsCountValue.md b/docs/AlertsContainerAlertsCountValue.md index 6fcdfd7a..b151922b 100644 --- a/docs/AlertsContainerAlertsCountValue.md +++ b/docs/AlertsContainerAlertsCountValue.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<CommonCountAsResource>**](CommonCountAsResource.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::AlertsContainerAlertsCountValue.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/AlertsContainerAlertsEntityResponse.md b/docs/AlertsContainerAlertsEntityResponse.md index 212d91fd..d22dbc02 100644 --- a/docs/AlertsContainerAlertsEntityResponse.md +++ b/docs/AlertsContainerAlertsEntityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIContainerAlert>**](ModelsAPIContainerAlert.md) | | | ## Example diff --git a/docs/ApiActionRespV1.md b/docs/ApiActionRespV1.md index c461e2b1..718bd450 100644 --- a/docs/ApiActionRespV1.md +++ b/docs/ApiActionRespV1.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**ApiIndicatorsQueryMeta**](ApiIndicatorsQueryMeta.md) | | | | **resources** | [**Array<ApiActionV1>**](ApiActionV1.md) | | | diff --git a/docs/ApiAuditEventDetailsResponseV1.md b/docs/ApiAuditEventDetailsResponseV1.md index 01af2ab2..736b8784 100644 --- a/docs/ApiAuditEventDetailsResponseV1.md +++ b/docs/ApiAuditEventDetailsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApiAuditEventDetailsResourceV1>**](ApiAuditEventDetailsResourceV1.md) | | | ## Example diff --git a/docs/ApiCertBasedExclusionCreateReqV1.md b/docs/ApiCertBasedExclusionCreateReqV1.md new file mode 100644 index 00000000..2581e494 --- /dev/null +++ b/docs/ApiCertBasedExclusionCreateReqV1.md @@ -0,0 +1,40 @@ +# Falcon::ApiCertBasedExclusionCreateReqV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **applied_globally** | **Boolean** | | [optional] | +| **certificate** | [**ApiCertificateReqV1**](ApiCertificateReqV1.md) | | [optional] | +| **children_cids** | **Array<String>** | | [optional] | +| **comment** | **String** | | [optional] | +| **created_by** | **String** | | [optional] | +| **created_on** | **Time** | | [optional] | +| **description** | **String** | | [optional] | +| **host_groups** | **Array<String>** | | [optional] | +| **modified_by** | **String** | | [optional] | +| **modified_on** | **Time** | | [optional] | +| **name** | **String** | | | +| **status** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCertBasedExclusionCreateReqV1.new( + applied_globally: null, + certificate: null, + children_cids: null, + comment: null, + created_by: null, + created_on: null, + description: null, + host_groups: null, + modified_by: null, + modified_on: null, + name: null, + status: null +) +``` + diff --git a/docs/ApiCertBasedExclusionRespV1.md b/docs/ApiCertBasedExclusionRespV1.md new file mode 100644 index 00000000..dafc8d88 --- /dev/null +++ b/docs/ApiCertBasedExclusionRespV1.md @@ -0,0 +1,22 @@ +# Falcon::ApiCertBasedExclusionRespV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ApiCertBasedExclusionV1>**](ApiCertBasedExclusionV1.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCertBasedExclusionRespV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ApiCertBasedExclusionUpdateReqV1.md b/docs/ApiCertBasedExclusionUpdateReqV1.md new file mode 100644 index 00000000..cbcd55e1 --- /dev/null +++ b/docs/ApiCertBasedExclusionUpdateReqV1.md @@ -0,0 +1,42 @@ +# Falcon::ApiCertBasedExclusionUpdateReqV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **applied_globally** | **Boolean** | | [optional] | +| **certificate** | [**ApiCertificateReqV1**](ApiCertificateReqV1.md) | | [optional] | +| **children_cids** | **Array<String>** | | [optional] | +| **comment** | **String** | | [optional] | +| **created_by** | **String** | | [optional] | +| **created_on** | **Time** | | [optional] | +| **description** | **String** | | [optional] | +| **host_groups** | **Array<String>** | | [optional] | +| **id** | **String** | | | +| **modified_by** | **String** | | [optional] | +| **modified_on** | **Time** | | [optional] | +| **name** | **String** | | [optional] | +| **status** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCertBasedExclusionUpdateReqV1.new( + applied_globally: null, + certificate: null, + children_cids: null, + comment: null, + created_by: null, + created_on: null, + description: null, + host_groups: null, + id: null, + modified_by: null, + modified_on: null, + name: null, + status: null +) +``` + diff --git a/docs/ApiCertBasedExclusionV1.md b/docs/ApiCertBasedExclusionV1.md new file mode 100644 index 00000000..a71d9e61 --- /dev/null +++ b/docs/ApiCertBasedExclusionV1.md @@ -0,0 +1,44 @@ +# Falcon::ApiCertBasedExclusionV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **applied_globally** | **Boolean** | | [optional] | +| **certificate** | [**ApiCertificateV1**](ApiCertificateV1.md) | | [optional] | +| **children_cids** | **Array<String>** | | [optional] | +| **cid** | **String** | | | +| **comment** | **String** | | [optional] | +| **created_by** | **String** | | [optional] | +| **created_on** | **Time** | | [optional] | +| **description** | **String** | | [optional] | +| **host_groups** | **Array<String>** | | [optional] | +| **id** | **String** | | | +| **modified_by** | **String** | | [optional] | +| **modified_on** | **Time** | | [optional] | +| **name** | **String** | | [optional] | +| **status** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCertBasedExclusionV1.new( + applied_globally: null, + certificate: null, + children_cids: null, + cid: null, + comment: null, + created_by: null, + created_on: null, + description: null, + host_groups: null, + id: null, + modified_by: null, + modified_on: null, + name: null, + status: null +) +``` + diff --git a/docs/ApiCertBasedExclusionsCreateReqV1.md b/docs/ApiCertBasedExclusionsCreateReqV1.md new file mode 100644 index 00000000..8f64e14f --- /dev/null +++ b/docs/ApiCertBasedExclusionsCreateReqV1.md @@ -0,0 +1,18 @@ +# Falcon::ApiCertBasedExclusionsCreateReqV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **exclusions** | [**Array<ApiCertBasedExclusionCreateReqV1>**](ApiCertBasedExclusionCreateReqV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCertBasedExclusionsCreateReqV1.new( + exclusions: null +) +``` + diff --git a/docs/ApiCertBasedExclusionsUpdateReqV1.md b/docs/ApiCertBasedExclusionsUpdateReqV1.md new file mode 100644 index 00000000..a8ad3e2e --- /dev/null +++ b/docs/ApiCertBasedExclusionsUpdateReqV1.md @@ -0,0 +1,18 @@ +# Falcon::ApiCertBasedExclusionsUpdateReqV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **exclusions** | [**Array<ApiCertBasedExclusionUpdateReqV1>**](ApiCertBasedExclusionUpdateReqV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCertBasedExclusionsUpdateReqV1.new( + exclusions: null +) +``` + diff --git a/docs/ApiCertificateReqV1.md b/docs/ApiCertificateReqV1.md new file mode 100644 index 00000000..b86ad8ac --- /dev/null +++ b/docs/ApiCertificateReqV1.md @@ -0,0 +1,28 @@ +# Falcon::ApiCertificateReqV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **issuer** | **String** | | | +| **serial** | **String** | | | +| **subject** | **String** | | | +| **thumbprint** | **String** | | | +| **valid_from** | **Time** | | | +| **valid_to** | **Time** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCertificateReqV1.new( + issuer: null, + serial: null, + subject: null, + thumbprint: null, + valid_from: null, + valid_to: null +) +``` + diff --git a/docs/ApiCertificateV1.md b/docs/ApiCertificateV1.md new file mode 100644 index 00000000..3a587550 --- /dev/null +++ b/docs/ApiCertificateV1.md @@ -0,0 +1,28 @@ +# Falcon::ApiCertificateV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **issuer** | **String** | | | +| **serial** | **String** | | | +| **subject** | **String** | | | +| **thumbprint** | **String** | | | +| **valid_from** | **Time** | | | +| **valid_to** | **Time** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCertificateV1.new( + issuer: null, + serial: null, + subject: null, + thumbprint: null, + valid_from: null, + valid_to: null +) +``` + diff --git a/docs/ApiCertificatesResponseV1.md b/docs/ApiCertificatesResponseV1.md new file mode 100644 index 00000000..ba62150d --- /dev/null +++ b/docs/ApiCertificatesResponseV1.md @@ -0,0 +1,18 @@ +# Falcon::ApiCertificatesResponseV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **certificates** | [**Array<ApiCertificateV1>**](ApiCertificateV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCertificatesResponseV1.new( + certificates: null +) +``` + diff --git a/docs/ApiCreateMigrationRequestV1.md b/docs/ApiCreateMigrationRequestV1.md new file mode 100644 index 00000000..a88081e4 --- /dev/null +++ b/docs/ApiCreateMigrationRequestV1.md @@ -0,0 +1,24 @@ +# Falcon::ApiCreateMigrationRequestV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **device_ids** | **Array<String>** | | | +| **filter** | **String** | | | +| **name** | **String** | | | +| **target_cid** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCreateMigrationRequestV1.new( + device_ids: null, + filter: null, + name: null, + target_cid: null +) +``` + diff --git a/docs/ApiCreateMigrationResponseV1.md b/docs/ApiCreateMigrationResponseV1.md new file mode 100644 index 00000000..61faebb8 --- /dev/null +++ b/docs/ApiCreateMigrationResponseV1.md @@ -0,0 +1,22 @@ +# Falcon::ApiCreateMigrationResponseV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ApiMigrateHostsInfo>**](ApiMigrateHostsInfo.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiCreateMigrationResponseV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ApiCustomerSettingsResponseV1.md b/docs/ApiCustomerSettingsResponseV1.md index fae846e8..87e45cb3 100644 --- a/docs/ApiCustomerSettingsResponseV1.md +++ b/docs/ApiCustomerSettingsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApiCustomerSettingsResourceV1>**](ApiCustomerSettingsResourceV1.md) | | | ## Example diff --git a/docs/ApiDeviceCountRespV1.md b/docs/ApiDeviceCountRespV1.md index 93d80041..b52627f0 100644 --- a/docs/ApiDeviceCountRespV1.md +++ b/docs/ApiDeviceCountRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | [optional] | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | [optional] | | **resources** | [**Array<ApiDeviceCountV1>**](ApiDeviceCountV1.md) | | | ## Example diff --git a/docs/ApiDevicesRanOnRespV1.md b/docs/ApiDevicesRanOnRespV1.md index 88780f43..b592a721 100644 --- a/docs/ApiDevicesRanOnRespV1.md +++ b/docs/ApiDevicesRanOnRespV1.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**ApiDetectsQueryMeta**](ApiDetectsQueryMeta.md) | | [optional] | | **resources** | **Array<String>** | | | diff --git a/docs/ApiEntitiesResponse.md b/docs/ApiEntitiesResponse.md index 759e2647..a537122e 100644 --- a/docs/ApiEntitiesResponse.md +++ b/docs/ApiEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Object** | | | ## Example diff --git a/docs/ApiEvent.md b/docs/ApiEvent.md new file mode 100644 index 00000000..012c338f --- /dev/null +++ b/docs/ApiEvent.md @@ -0,0 +1,26 @@ +# Falcon::ApiEvent + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **action** | **String** | | [optional] | +| **ids** | **Array<String>** | | [optional] | +| **reason** | **String** | | [optional] | +| **time** | **Time** | | | +| **user** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiEvent.new( + action: null, + ids: null, + reason: null, + time: null, + user: null +) +``` + diff --git a/docs/ApiExecutionResultsResponse.md b/docs/ApiExecutionResultsResponse.md index a8497899..acb822a7 100644 --- a/docs/ApiExecutionResultsResponse.md +++ b/docs/ApiExecutionResultsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ExecutionsExecutionResult>**](ExecutionsExecutionResult.md) | | | ## Example diff --git a/docs/ApiGetHostMigrationResponseV1.md b/docs/ApiGetHostMigrationResponseV1.md new file mode 100644 index 00000000..260d3261 --- /dev/null +++ b/docs/ApiGetHostMigrationResponseV1.md @@ -0,0 +1,22 @@ +# Falcon::ApiGetHostMigrationResponseV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ApiHostMigration>**](ApiHostMigration.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiGetHostMigrationResponseV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ApiGetMigrationDestinationsRequestBodyV1.md b/docs/ApiGetMigrationDestinationsRequestBodyV1.md new file mode 100644 index 00000000..d3cf1c25 --- /dev/null +++ b/docs/ApiGetMigrationDestinationsRequestBodyV1.md @@ -0,0 +1,20 @@ +# Falcon::ApiGetMigrationDestinationsRequestBodyV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **device_ids** | **Array<String>** | | | +| **filter** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiGetMigrationDestinationsRequestBodyV1.new( + device_ids: null, + filter: null +) +``` + diff --git a/docs/ApiGetMigrationDestinationsResponseV1.md b/docs/ApiGetMigrationDestinationsResponseV1.md new file mode 100644 index 00000000..9467a908 --- /dev/null +++ b/docs/ApiGetMigrationDestinationsResponseV1.md @@ -0,0 +1,22 @@ +# Falcon::ApiGetMigrationDestinationsResponseV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<DestinationsMigrationDestination>**](DestinationsMigrationDestination.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiGetMigrationDestinationsResponseV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ApiGetMigrationsResponseV1.md b/docs/ApiGetMigrationsResponseV1.md new file mode 100644 index 00000000..754adb64 --- /dev/null +++ b/docs/ApiGetMigrationsResponseV1.md @@ -0,0 +1,22 @@ +# Falcon::ApiGetMigrationsResponseV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ApiMigration>**](ApiMigration.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiGetMigrationsResponseV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ApiHostMigration.md b/docs/ApiHostMigration.md new file mode 100644 index 00000000..0ffa54a8 --- /dev/null +++ b/docs/ApiHostMigration.md @@ -0,0 +1,44 @@ +# Falcon::ApiHostMigration + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **created_time** | **Time** | | | +| **events** | [**Array<ApiEvent>**](ApiEvent.md) | | [optional] | +| **host_migration_id** | **String** | | | +| **hostgroups** | **Array<String>** | assigned static hostgroups, may need more details here | | +| **hostname** | **String** | hostname at the time of migration | | +| **migration_id** | **String** | | | +| **platform** | **String** | platform at the time of migration | | +| **source_cid** | **String** | | | +| **source_device_id** | **String** | device_id in the source cid | | +| **status** | **String** | | | +| **status_details** | **String** | | | +| **target_cid** | **String** | not sure if this is necessary since it's common | | +| **target_device_id** | **String** | device_id in the target cid. This may change while the migration is incomplete. | | +| **updated_time** | **Time** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiHostMigration.new( + created_time: null, + events: null, + host_migration_id: null, + hostgroups: null, + hostname: null, + migration_id: null, + platform: null, + source_cid: null, + source_device_id: null, + status: null, + status_details: null, + target_cid: null, + target_device_id: null, + updated_time: null +) +``` + diff --git a/docs/ApiHourlyAverageResponse.md b/docs/ApiHourlyAverageResponse.md new file mode 100644 index 00000000..8cf4a2b8 --- /dev/null +++ b/docs/ApiHourlyAverageResponse.md @@ -0,0 +1,22 @@ +# Falcon::ApiHourlyAverageResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<EntitiesRollingAverage>**](EntitiesRollingAverage.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiHourlyAverageResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ApiIndicatorQueryRespV1.md b/docs/ApiIndicatorQueryRespV1.md index 9347fdfa..5d918f69 100644 --- a/docs/ApiIndicatorQueryRespV1.md +++ b/docs/ApiIndicatorQueryRespV1.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**ApiIndicatorsQueryMeta**](ApiIndicatorsQueryMeta.md) | | | | **resources** | **Array<String>** | | | diff --git a/docs/ApiIndicatorRespV1.md b/docs/ApiIndicatorRespV1.md index 34623668..bc465c4b 100644 --- a/docs/ApiIndicatorRespV1.md +++ b/docs/ApiIndicatorRespV1.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**ApiIndicatorsQueryMeta**](ApiIndicatorsQueryMeta.md) | | | | **resources** | [**Array<ApiIndicatorV1>**](ApiIndicatorV1.md) | | | diff --git a/docs/ApiIntegrationsApi.md b/docs/ApiIntegrationsApi.md new file mode 100644 index 00000000..482b8164 --- /dev/null +++ b/docs/ApiIntegrationsApi.md @@ -0,0 +1,225 @@ +# Falcon::ApiIntegrationsApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**execute_command**](ApiIntegrationsApi.md#execute_command) | **POST** /plugins/entities/execute/v1 | Execute a command. | +| [**execute_command_proxy**](ApiIntegrationsApi.md#execute_command_proxy) | **POST** /plugins/entities/execute-proxy/v1 | Execute a command and proxy the response directly. | +| [**get_combined_plugin_configs**](ApiIntegrationsApi.md#get_combined_plugin_configs) | **GET** /plugins/combined/configs/v1 | Queries for config resources and returns details | + + +## execute_command + +> execute_command(resources) + +Execute a command. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ApiIntegrationsApi.new +resources = [Falcon::DomainExecuteCommandV1.new({config_auth_type: 'config_auth_type_example', config_id: 'config_id_example', definition_id: 'definition_id_example', id: 'id_example', operation_id: 'operation_id_example', request: Falcon::DomainRequest.new({description: 'description_example'}), version: 37})] # Array | List of commands to execute + +begin + # Execute a command. + result = api_instance.execute_command(resources) + p result +rescue Falcon::ApiError => e + puts "Error when calling ApiIntegrationsApi->execute_command: #{e}" +end +``` + +#### Using the execute_command_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> execute_command_with_http_info(resources) + +```ruby +begin + # Execute a command. + data, status_code, headers = api_instance.execute_command_with_http_info(resources) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ApiIntegrationsApi->execute_command_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<DomainExecuteCommandV1>**](DomainExecuteCommandV1.md) | List of commands to execute | | + +### Return type + +[**DomainExecuteCommandResultsV1**](DomainExecuteCommandResultsV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: multipart/form-data, application/json +- **Accept**: application/json + + +## execute_command_proxy + +> Object execute_command_proxy(body) + +Execute a command and proxy the response directly. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ApiIntegrationsApi.new +body = Falcon::DomainExecuteCommandRequestV1.new({resources: [Falcon::DomainExecuteCommandV1.new({config_auth_type: 'config_auth_type_example', config_id: 'config_id_example', definition_id: 'definition_id_example', id: 'id_example', operation_id: 'operation_id_example', request: Falcon::DomainRequest.new({description: 'description_example'}), version: 37})]}) # DomainExecuteCommandRequestV1 | + +begin + # Execute a command and proxy the response directly. + result = api_instance.execute_command_proxy(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ApiIntegrationsApi->execute_command_proxy: #{e}" +end +``` + +#### Using the execute_command_proxy_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> execute_command_proxy_with_http_info(body) + +```ruby +begin + # Execute a command and proxy the response directly. + data, status_code, headers = api_instance.execute_command_proxy_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => Object +rescue Falcon::ApiError => e + puts "Error when calling ApiIntegrationsApi->execute_command_proxy_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**DomainExecuteCommandRequestV1**](DomainExecuteCommandRequestV1.md) | | | + +### Return type + +**Object** + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_combined_plugin_configs + +> get_combined_plugin_configs(opts) + +Queries for config resources and returns details + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ApiIntegrationsApi.new +opts = { + filter: 'filter_example', # String | Filter items using a query in Falcon Query Language (FQL). + limit: 56, # Integer | The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + offset: 56, # Integer | The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + sort: 'sort_example' # String | Sort items using their properties. +} + +begin + # Queries for config resources and returns details + result = api_instance.get_combined_plugin_configs(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ApiIntegrationsApi->get_combined_plugin_configs: #{e}" +end +``` + +#### Using the get_combined_plugin_configs_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_combined_plugin_configs_with_http_info(opts) + +```ruby +begin + # Queries for config resources and returns details + data, status_code, headers = api_instance.get_combined_plugin_configs_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ApiIntegrationsApi->get_combined_plugin_configs_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter items using a query in Falcon Query Language (FQL). | [optional] | +| **limit** | **Integer** | The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. | [optional][default to 100] | +| **offset** | **Integer** | The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. | [optional] | +| **sort** | **String** | Sort items using their properties. | [optional] | + +### Return type + +[**DomainConfigsV1**](DomainConfigsV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/ApiMFAResourceIDsResponse.md b/docs/ApiMFAResourceIDsResponse.md new file mode 100644 index 00000000..90115675 --- /dev/null +++ b/docs/ApiMFAResourceIDsResponse.md @@ -0,0 +1,24 @@ +# Falcon::ApiMFAResourceIDsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **_next** | **Object** | | [optional] | +| **resources** | **Array<String>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiMFAResourceIDsResponse.new( + errors: null, + meta: null, + _next: null, + resources: null +) +``` + diff --git a/docs/ApiMessageCenterActivityResponse.md b/docs/ApiMessageCenterActivityResponse.md index ce76e54a..73fa9d92 100644 --- a/docs/ApiMessageCenterActivityResponse.md +++ b/docs/ApiMessageCenterActivityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<MessagesActivity>**](MessagesActivity.md) | | | ## Example diff --git a/docs/ApiMessageCenterAttachmentUploadResponse.md b/docs/ApiMessageCenterAttachmentUploadResponse.md index a77adc64..29dbc7fb 100644 --- a/docs/ApiMessageCenterAttachmentUploadResponse.md +++ b/docs/ApiMessageCenterAttachmentUploadResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<MessagesAttachment>**](MessagesAttachment.md) | | | ## Example diff --git a/docs/ApiMessageCenterCasesResponse.md b/docs/ApiMessageCenterCasesResponse.md index 13ab2d62..4799e48b 100644 --- a/docs/ApiMessageCenterCasesResponse.md +++ b/docs/ApiMessageCenterCasesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<MessagesCase>**](MessagesCase.md) | | | ## Example diff --git a/docs/ApiMigrateHostsInfo.md b/docs/ApiMigrateHostsInfo.md new file mode 100644 index 00000000..2991a589 --- /dev/null +++ b/docs/ApiMigrateHostsInfo.md @@ -0,0 +1,22 @@ +# Falcon::ApiMigrateHostsInfo + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **hosts_errored** | **Integer** | | | +| **hosts_queued** | **Integer** | | | +| **migration_id** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiMigrateHostsInfo.new( + hosts_errored: null, + hosts_queued: null, + migration_id: null +) +``` + diff --git a/docs/ApiMigration.md b/docs/ApiMigration.md new file mode 100644 index 00000000..c0a9f849 --- /dev/null +++ b/docs/ApiMigration.md @@ -0,0 +1,40 @@ +# Falcon::ApiMigration + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **canceled_by** | **String** | | [optional] | +| **completed_time** | **Time** | | [optional] | +| **created_by** | **String** | | | +| **created_time** | **Time** | | | +| **migration_id** | **String** | | | +| **migration_status** | **String** | | | +| **name** | **String** | | | +| **started_time** | **Time** | | [optional] | +| **target_cid** | **String** | | | +| **total_hosts** | **Integer** | | | +| **updated_by** | **String** | | | +| **updated_time** | **Time** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiMigration.new( + canceled_by: null, + completed_time: null, + created_by: null, + created_time: null, + migration_id: null, + migration_status: null, + name: null, + started_time: null, + target_cid: null, + total_hosts: null, + updated_by: null, + updated_time: null +) +``` + diff --git a/docs/ApiNotificationExposedDataRecordEntitiesResponseV1.md b/docs/ApiNotificationExposedDataRecordEntitiesResponseV1.md index f83dcdc1..40780b09 100644 --- a/docs/ApiNotificationExposedDataRecordEntitiesResponseV1.md +++ b/docs/ApiNotificationExposedDataRecordEntitiesResponseV1.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<DomainReconAPIError>**](DomainReconAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApiNotificationExposedDataRecordV1>**](ApiNotificationExposedDataRecordV1.md) | | | ## Example diff --git a/docs/ApiObjectMetadata.md b/docs/ApiObjectMetadata.md index 5ec7751d..c4e0e2ed 100644 --- a/docs/ApiObjectMetadata.md +++ b/docs/ApiObjectMetadata.md @@ -5,6 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **collection_name** | **String** | | | +| **collection_version** | **String** | | [optional] | | **last_modified_time** | **Time** | | [optional] | | **namespace** | **String** | | | | **object_key** | **String** | | | @@ -17,6 +18,7 @@ require 'crimson-falcon' instance = Falcon::ApiObjectMetadata.new( collection_name: null, + collection_version: null, last_modified_time: null, namespace: null, object_key: null, diff --git a/docs/ApiPatternsResponse.md b/docs/ApiPatternsResponse.md index ce7f5e8d..711b776d 100644 --- a/docs/ApiPatternsResponse.md +++ b/docs/ApiPatternsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApiPatternV1>**](ApiPatternV1.md) | | | ## Example diff --git a/docs/ApiPlatformsResponse.md b/docs/ApiPlatformsResponse.md index a6bbbf85..b12f7193 100644 --- a/docs/ApiPlatformsResponse.md +++ b/docs/ApiPlatformsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainPlatform>**](DomainPlatform.md) | | | ## Example diff --git a/docs/ApiPostEnrollmentDetailsResponse.md b/docs/ApiPostEnrollmentDetailsResponse.md index cf87f602..3f442ad9 100644 --- a/docs/ApiPostEnrollmentDetailsResponse.md +++ b/docs/ApiPostEnrollmentDetailsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/ApiPostEnrollmentDetailsV4.md b/docs/ApiPostEnrollmentDetailsV4.md new file mode 100644 index 00000000..11509d91 --- /dev/null +++ b/docs/ApiPostEnrollmentDetailsV4.md @@ -0,0 +1,22 @@ +# Falcon::ApiPostEnrollmentDetailsV4 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **email_addresses** | **Array<String>** | | | +| **enrollment_type** | **String** | | | +| **expires_at** | **Time** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiPostEnrollmentDetailsV4.new( + email_addresses: null, + enrollment_type: null, + expires_at: null +) +``` + diff --git a/docs/ApiProcessesRanOnRespV1.md b/docs/ApiProcessesRanOnRespV1.md index f2f491c6..48f298d0 100644 --- a/docs/ApiProcessesRanOnRespV1.md +++ b/docs/ApiProcessesRanOnRespV1.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**ApiDetectsQueryMeta**](ApiDetectsQueryMeta.md) | | [optional] | | **resources** | **Array<String>** | | | diff --git a/docs/ApiResourceIDsResponse.md b/docs/ApiResourceIDsResponse.md index 98aed4ff..fe77106f 100644 --- a/docs/ApiResourceIDsResponse.md +++ b/docs/ApiResourceIDsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/ApiRespCertificatesV1.md b/docs/ApiRespCertificatesV1.md new file mode 100644 index 00000000..57c605ac --- /dev/null +++ b/docs/ApiRespCertificatesV1.md @@ -0,0 +1,22 @@ +# Falcon::ApiRespCertificatesV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ApiCertificatesResponseV1>**](ApiCertificatesResponseV1.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiRespCertificatesV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ApiResponsePagination.md b/docs/ApiResponsePagination.md index 051a7df2..1901af4d 100644 --- a/docs/ApiResponsePagination.md +++ b/docs/ApiResponsePagination.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **offset** | **Object** | | [optional] | +| **offset** | **String** | Encoded state used for pagination | [optional] | | **total** | **Integer** | The total number of elements | | ## Example diff --git a/docs/ApiRuleGroupsResponse.md b/docs/ApiRuleGroupsResponse.md index 059e06cc..c8f9c03b 100644 --- a/docs/ApiRuleGroupsResponse.md +++ b/docs/ApiRuleGroupsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApiRuleGroupV1>**](ApiRuleGroupV1.md) | | | ## Example diff --git a/docs/ApiRuleTypesResponse.md b/docs/ApiRuleTypesResponse.md index a1fdec20..92092cfc 100644 --- a/docs/ApiRuleTypesResponse.md +++ b/docs/ApiRuleTypesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApiRuleTypeV1>**](ApiRuleTypeV1.md) | | | ## Example diff --git a/docs/ApiRuleUpdateV2.md b/docs/ApiRuleUpdateV2.md new file mode 100644 index 00000000..e668f248 --- /dev/null +++ b/docs/ApiRuleUpdateV2.md @@ -0,0 +1,32 @@ +# Falcon::ApiRuleUpdateV2 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **description** | **String** | | | +| **disposition_id** | **Integer** | | | +| **enabled** | **Boolean** | | | +| **field_values** | [**Array<DomainFieldValue>**](DomainFieldValue.md) | | | +| **instance_id** | **String** | | | +| **name** | **String** | | | +| **pattern_severity** | **String** | | | +| **rulegroup_version** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiRuleUpdateV2.new( + description: null, + disposition_id: null, + enabled: null, + field_values: null, + instance_id: null, + name: null, + pattern_severity: null, + rulegroup_version: null +) +``` + diff --git a/docs/ApiRuleUpdatesRequestV2.md b/docs/ApiRuleUpdatesRequestV2.md new file mode 100644 index 00000000..20136f8c --- /dev/null +++ b/docs/ApiRuleUpdatesRequestV2.md @@ -0,0 +1,24 @@ +# Falcon::ApiRuleUpdatesRequestV2 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **comment** | **String** | | | +| **rule_updates** | [**Array<ApiRuleUpdateV2>**](ApiRuleUpdateV2.md) | | | +| **rulegroup_id** | **String** | | | +| **rulegroup_version** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiRuleUpdatesRequestV2.new( + comment: null, + rule_updates: null, + rulegroup_id: null, + rulegroup_version: null +) +``` + diff --git a/docs/ApiRulesResponse.md b/docs/ApiRulesResponse.md index be9a18dd..bdc9143c 100644 --- a/docs/ApiRulesResponse.md +++ b/docs/ApiRulesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApiRuleV1>**](ApiRuleV1.md) | | | ## Example diff --git a/docs/ApiSensorDetailsResponseSwagger.md b/docs/ApiSensorDetailsResponseSwagger.md index cd3c725e..4a89d0e9 100644 --- a/docs/ApiSensorDetailsResponseSwagger.md +++ b/docs/ApiSensorDetailsResponseSwagger.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<InternalSensorStatus>**](InternalSensorStatus.md) | | | ## Example diff --git a/docs/ApiTokenDetailsResponseV1.md b/docs/ApiTokenDetailsResponseV1.md index acbd6857..f8bfd231 100644 --- a/docs/ApiTokenDetailsResponseV1.md +++ b/docs/ApiTokenDetailsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApiTokenDetailsResourceV1>**](ApiTokenDetailsResourceV1.md) | | | ## Example diff --git a/docs/ApiUserMetadataResponse.md b/docs/ApiUserMetadataResponse.md index bdfe8ba6..017f5a7f 100644 --- a/docs/ApiUserMetadataResponse.md +++ b/docs/ApiUserMetadataResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainUserMetadata>**](DomainUserMetadata.md) | | | ## Example diff --git a/docs/ApiUserRoleIDsResponse.md b/docs/ApiUserRoleIDsResponse.md index 4451217e..371b52bf 100644 --- a/docs/ApiUserRoleIDsResponse.md +++ b/docs/ApiUserRoleIDsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/ApiUserRoleResponse.md b/docs/ApiUserRoleResponse.md index 3492a9f0..66ea026b 100644 --- a/docs/ApiUserRoleResponse.md +++ b/docs/ApiUserRoleResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainUserRole>**](DomainUserRole.md) | | | ## Example diff --git a/docs/ApiValidationResponseV1.md b/docs/ApiValidationResponseV1.md index 89eb6cc6..30a92e38 100644 --- a/docs/ApiValidationResponseV1.md +++ b/docs/ApiValidationResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainFieldValidation>**](DomainFieldValidation.md) | | | ## Example diff --git a/docs/ApiWeeklyAverageResponse.md b/docs/ApiWeeklyAverageResponse.md new file mode 100644 index 00000000..8c01b059 --- /dev/null +++ b/docs/ApiWeeklyAverageResponse.md @@ -0,0 +1,22 @@ +# Falcon::ApiWeeklyAverageResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<EntitiesRollingAverage>**](EntitiesRollingAverage.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ApiWeeklyAverageResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ApidomainQueryResponseV1.md b/docs/ApidomainQueryResponseV1.md index c50cde92..074276a7 100644 --- a/docs/ApidomainQueryResponseV1.md +++ b/docs/ApidomainQueryResponseV1.md @@ -7,6 +7,7 @@ | **event_count** | **Integer** | | | | **events** | **Array<Object>** | | | | **fields** | [**Array<ClientField>**](ClientField.md) | | [optional] | +| **filtered_event_count** | **Integer** | | | | **job_status** | [**ClientJobStatus**](ClientJobStatus.md) | | [optional] | | **meta_data** | [**ClientQueryResultMetadata**](ClientQueryResultMetadata.md) | | [optional] | | **schemas** | [**ClientQueryResponseSchemasV1**](ClientQueryResponseSchemasV1.md) | | [optional] | @@ -20,6 +21,7 @@ instance = Falcon::ApidomainQueryResponseV1.new( event_count: null, events: null, fields: null, + filtered_event_count: null, job_status: null, meta_data: null, schemas: null diff --git a/docs/ApidomainQueryResponseWrapperV1.md b/docs/ApidomainQueryResponseWrapperV1.md index 9379aee7..6700dbdd 100644 --- a/docs/ApidomainQueryResponseWrapperV1.md +++ b/docs/ApidomainQueryResponseWrapperV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApidomainQueryResponseV1>**](ApidomainQueryResponseV1.md) | | | ## Example diff --git a/docs/ApidomainRepoViewListItemWrapperV1.md b/docs/ApidomainRepoViewListItemWrapperV1.md index 2e20756e..1662182b 100644 --- a/docs/ApidomainRepoViewListItemWrapperV1.md +++ b/docs/ApidomainRepoViewListItemWrapperV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ApidomainRepoViewListItemV1>**](ApidomainRepoViewListItemV1.md) | | | ## Example diff --git a/docs/ApidomainSavedSearchExecuteRequestV1.md b/docs/ApidomainSavedSearchExecuteRequestV1.md index 9998c642..3b148743 100644 --- a/docs/ApidomainSavedSearchExecuteRequestV1.md +++ b/docs/ApidomainSavedSearchExecuteRequestV1.md @@ -4,11 +4,16 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **extra_rename** | **String** | | | +| **extra_search** | **String** | | | +| **extra_sort** | **String** | | | +| **extra_where** | **String** | | | +| **parameters** | **Hash<String, String>** | | | | **_end** | **String** | | [optional] | +| **fql_statements** | [**Hash<String, ClientFQLStatement>**](ClientFQLStatement.md) | | | | **id** | **String** | | [optional] | | **mode** | **String** | | [optional] | | **name** | **String** | | [optional] | -| **parameters** | **Object** | | [optional] | | **start** | **String** | | [optional] | | **version** | **String** | | [optional] | | **with_in** | [**ClientExtraIn**](ClientExtraIn.md) | | [optional] | @@ -22,11 +27,16 @@ require 'crimson-falcon' instance = Falcon::ApidomainSavedSearchExecuteRequestV1.new( + extra_rename: null, + extra_search: null, + extra_sort: null, + extra_where: null, + parameters: null, _end: null, + fql_statements: null, id: null, mode: null, name: null, - parameters: null, start: null, version: null, with_in: null, diff --git a/docs/BasePolicyMembersRespV1.md b/docs/BasePolicyMembersRespV1.md index cd13b802..9f475ded 100644 --- a/docs/BasePolicyMembersRespV1.md +++ b/docs/BasePolicyMembersRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DeviceDevice>**](DeviceDevice.md) | A collection of device details | | ## Example diff --git a/docs/BinservapiMsaPutFileResponse.md b/docs/BinservapiMsaPutFileResponse.md index 6bed8183..9c505f23 100644 --- a/docs/BinservapiMsaPutFileResponse.md +++ b/docs/BinservapiMsaPutFileResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/CertificateBasedExclusionsApi.md b/docs/CertificateBasedExclusionsApi.md new file mode 100644 index 00000000..3e66aeda --- /dev/null +++ b/docs/CertificateBasedExclusionsApi.md @@ -0,0 +1,439 @@ +# Falcon::CertificateBasedExclusionsApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**cb_exclusions_create_v1**](CertificateBasedExclusionsApi.md#cb_exclusions_create_v1) | **POST** /exclusions/entities/cert-based-exclusions/v1 | Create new Certificate Based Exclusions. | +| [**cb_exclusions_delete_v1**](CertificateBasedExclusionsApi.md#cb_exclusions_delete_v1) | **DELETE** /exclusions/entities/cert-based-exclusions/v1 | Delete the exclusions by id | +| [**cb_exclusions_get_v1**](CertificateBasedExclusionsApi.md#cb_exclusions_get_v1) | **GET** /exclusions/entities/cert-based-exclusions/v1 | Find all exclusion IDs matching the query with filter | +| [**cb_exclusions_query_v1**](CertificateBasedExclusionsApi.md#cb_exclusions_query_v1) | **GET** /exclusions/queries/cert-based-exclusions/v1 | Search for cert-based exclusions. | +| [**cb_exclusions_update_v1**](CertificateBasedExclusionsApi.md#cb_exclusions_update_v1) | **PATCH** /exclusions/entities/cert-based-exclusions/v1 | Updates existing Certificate Based Exclusions | +| [**certificates_get_v1**](CertificateBasedExclusionsApi.md#certificates_get_v1) | **GET** /exclusions/entities/certificates/v1 | Retrieves certificate signing information for a file | + + +## cb_exclusions_create_v1 + +> cb_exclusions_create_v1(body) + +Create new Certificate Based Exclusions. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CertificateBasedExclusionsApi.new +body = Falcon::ApiCertBasedExclusionsCreateReqV1.new({exclusions: [Falcon::ApiCertBasedExclusionCreateReqV1.new({name: 'name_example'})]}) # ApiCertBasedExclusionsCreateReqV1 | + +begin + # Create new Certificate Based Exclusions. + result = api_instance.cb_exclusions_create_v1(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_create_v1: #{e}" +end +``` + +#### Using the cb_exclusions_create_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cb_exclusions_create_v1_with_http_info(body) + +```ruby +begin + # Create new Certificate Based Exclusions. + data, status_code, headers = api_instance.cb_exclusions_create_v1_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_create_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ApiCertBasedExclusionsCreateReqV1**](ApiCertBasedExclusionsCreateReqV1.md) | | | + +### Return type + +[**ApiCertBasedExclusionRespV1**](ApiCertBasedExclusionRespV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## cb_exclusions_delete_v1 + +> cb_exclusions_delete_v1(ids, opts) + +Delete the exclusions by id + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CertificateBasedExclusionsApi.new +ids = ['inner_example'] # Array | The ids of the exclusions to delete +opts = { + comment: 'comment_example' # String | The comment why these exclusions were deleted +} + +begin + # Delete the exclusions by id + result = api_instance.cb_exclusions_delete_v1(ids, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_delete_v1: #{e}" +end +``` + +#### Using the cb_exclusions_delete_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cb_exclusions_delete_v1_with_http_info(ids, opts) + +```ruby +begin + # Delete the exclusions by id + data, status_code, headers = api_instance.cb_exclusions_delete_v1_with_http_info(ids, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_delete_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | The ids of the exclusions to delete | | +| **comment** | **String** | The comment why these exclusions were deleted | [optional] | + +### Return type + +[**ApiCertBasedExclusionRespV1**](ApiCertBasedExclusionRespV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## cb_exclusions_get_v1 + +> cb_exclusions_get_v1(ids) + +Find all exclusion IDs matching the query with filter + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CertificateBasedExclusionsApi.new +ids = ['inner_example'] # Array | The ids of the exclusions to retrieve + +begin + # Find all exclusion IDs matching the query with filter + result = api_instance.cb_exclusions_get_v1(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_get_v1: #{e}" +end +``` + +#### Using the cb_exclusions_get_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cb_exclusions_get_v1_with_http_info(ids) + +```ruby +begin + # Find all exclusion IDs matching the query with filter + data, status_code, headers = api_instance.cb_exclusions_get_v1_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_get_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | The ids of the exclusions to retrieve | | + +### Return type + +[**ApiCertBasedExclusionRespV1**](ApiCertBasedExclusionRespV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## cb_exclusions_query_v1 + +> cb_exclusions_query_v1(opts) + +Search for cert-based exclusions. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CertificateBasedExclusionsApi.new +opts = { + filter: 'filter_example', # String | The filter expression that should be used to limit the results. + offset: 56, # Integer | The offset to start retrieving records from + limit: 56, # Integer | The maximum records to return. [1-100] + sort: 'created_by' # String | The sort expression that should be used to sort the results. +} + +begin + # Search for cert-based exclusions. + result = api_instance.cb_exclusions_query_v1(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_query_v1: #{e}" +end +``` + +#### Using the cb_exclusions_query_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cb_exclusions_query_v1_with_http_info(opts) + +```ruby +begin + # Search for cert-based exclusions. + data, status_code, headers = api_instance.cb_exclusions_query_v1_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_query_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | The filter expression that should be used to limit the results. | [optional] | +| **offset** | **Integer** | The offset to start retrieving records from | [optional] | +| **limit** | **Integer** | The maximum records to return. [1-100] | [optional] | +| **sort** | **String** | The sort expression that should be used to sort the results. | [optional] | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## cb_exclusions_update_v1 + +> cb_exclusions_update_v1(body) + +Updates existing Certificate Based Exclusions + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CertificateBasedExclusionsApi.new +body = Falcon::ApiCertBasedExclusionsUpdateReqV1.new({exclusions: [Falcon::ApiCertBasedExclusionUpdateReqV1.new({id: 'id_example'})]}) # ApiCertBasedExclusionsUpdateReqV1 | + +begin + # Updates existing Certificate Based Exclusions + result = api_instance.cb_exclusions_update_v1(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_update_v1: #{e}" +end +``` + +#### Using the cb_exclusions_update_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cb_exclusions_update_v1_with_http_info(body) + +```ruby +begin + # Updates existing Certificate Based Exclusions + data, status_code, headers = api_instance.cb_exclusions_update_v1_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->cb_exclusions_update_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ApiCertBasedExclusionsUpdateReqV1**](ApiCertBasedExclusionsUpdateReqV1.md) | | | + +### Return type + +[**ApiCertBasedExclusionRespV1**](ApiCertBasedExclusionRespV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## certificates_get_v1 + +> certificates_get_v1(ids) + +Retrieves certificate signing information for a file + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CertificateBasedExclusionsApi.new +ids = 'ids_example' # String | The SHA256 Hash of the file to retrieve certificate signing info for + +begin + # Retrieves certificate signing information for a file + result = api_instance.certificates_get_v1(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->certificates_get_v1: #{e}" +end +``` + +#### Using the certificates_get_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> certificates_get_v1_with_http_info(ids) + +```ruby +begin + # Retrieves certificate signing information for a file + data, status_code, headers = api_instance.certificates_get_v1_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CertificateBasedExclusionsApi->certificates_get_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | **String** | The SHA256 Hash of the file to retrieve certificate signing info for | | + +### Return type + +[**ApiRespCertificatesV1**](ApiRespCertificatesV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/ChangesChange.md b/docs/ChangesChange.md index 696642ff..1d9dbba0 100644 --- a/docs/ChangesChange.md +++ b/docs/ChangesChange.md @@ -14,16 +14,18 @@ | **entity_path** | **String** | | | | **entity_path_new** | **String** | | [optional] | | **entity_type** | **String** | Possible values: UNKNOWN, FILE, DIR, REGKEY, REGVAL. | | +| **file_size** | **Integer** | | | | **grandparent_process_image_file_name** | **String** | | [optional] | | **host** | [**ChangesHost**](ChangesHost.md) | | [optional] | | **id** | **String** | | | | **ingestion_timestamp** | **String** | | | -| **is_from_different_mount_namespace** | **Boolean** | | [optional] | +| **is_from_different_mount_namespace** | **Boolean** | | | | **is_suppressed** | **Boolean** | | | | **oci_container_id** | **String** | | [optional] | | **parent_process_image_file_name** | **String** | | [optional] | | **permissions** | [**ChangesPermissions**](ChangesPermissions.md) | | [optional] | | **permissions_lin** | [**ChangesPermissionsLin**](ChangesPermissionsLin.md) | | [optional] | +| **permissions_mac** | [**ChangesPermissionsMac**](ChangesPermissionsMac.md) | | [optional] | | **platform_name** | **String** | | | | **policy** | [**ChangesPolicy**](ChangesPolicy.md) | | [optional] | | **prevalence** | [**ChangesPrevalence**](ChangesPrevalence.md) | | [optional] | @@ -51,6 +53,7 @@ instance = Falcon::ChangesChange.new( entity_path: null, entity_path_new: null, entity_type: null, + file_size: null, grandparent_process_image_file_name: null, host: null, id: null, @@ -61,6 +64,7 @@ instance = Falcon::ChangesChange.new( parent_process_image_file_name: null, permissions: null, permissions_lin: null, + permissions_mac: null, platform_name: null, policy: null, prevalence: null, diff --git a/docs/ChangesHighVolumeQueryResponse.md b/docs/ChangesHighVolumeQueryResponse.md index aa6f84fc..f8d13229 100644 --- a/docs/ChangesHighVolumeQueryResponse.md +++ b/docs/ChangesHighVolumeQueryResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | | **meta** | [**ChangesHighVolumeQueryMeta**](ChangesHighVolumeQueryMeta.md) | | | | **resources** | **Array<String>** | | | diff --git a/docs/ChangesHost.md b/docs/ChangesHost.md index 7e4c1eec..4466da76 100644 --- a/docs/ChangesHost.md +++ b/docs/ChangesHost.md @@ -11,6 +11,7 @@ | **local_ip** | **String** | | [optional] | | **name** | **String** | | [optional] | | **os_version** | **String** | | [optional] | +| **tags** | **Array<String>** | | [optional] | ## Example @@ -24,7 +25,8 @@ instance = Falcon::ChangesHost.new( groups: null, local_ip: null, name: null, - os_version: null + os_version: null, + tags: null ) ``` diff --git a/docs/ChangesPermissionsMac.md b/docs/ChangesPermissionsMac.md new file mode 100644 index 00000000..eb3afbf4 --- /dev/null +++ b/docs/ChangesPermissionsMac.md @@ -0,0 +1,28 @@ +# Falcon::ChangesPermissionsMac + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **acl** | **Boolean** | | [optional] | +| **basic** | [**Array<ChangesBasic>**](ChangesBasic.md) | | [optional] | +| **common_attributes** | **Array<String>** | | [optional] | +| **group** | [**ChangesGroup**](ChangesGroup.md) | | [optional] | +| **owner** | [**ChangesOwner**](ChangesOwner.md) | | [optional] | +| **security_info** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ChangesPermissionsMac.new( + acl: null, + basic: null, + common_attributes: null, + group: null, + owner: null, + security_info: null +) +``` + diff --git a/docs/ClientArchiveCreateResponseV1.md b/docs/ClientArchiveCreateResponseV1.md index edb43f37..d9a75367 100644 --- a/docs/ClientArchiveCreateResponseV1.md +++ b/docs/ClientArchiveCreateResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ClientArchiveWithFilesV1>**](ClientArchiveWithFilesV1.md) | | | ## Example diff --git a/docs/ClientArchiveListFilesResponseV1.md b/docs/ClientArchiveListFilesResponseV1.md index ad8ddb0a..dd5481ba 100644 --- a/docs/ClientArchiveListFilesResponseV1.md +++ b/docs/ClientArchiveListFilesResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/ClientDataIngestResponseWrapperV1.md b/docs/ClientDataIngestResponseWrapperV1.md index 8a4ff107..2080ede9 100644 --- a/docs/ClientDataIngestResponseWrapperV1.md +++ b/docs/ClientDataIngestResponseWrapperV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ClientDataIngestResponseV1>**](ClientDataIngestResponseV1.md) | | | ## Example diff --git a/docs/ClientExtractionCreateResponseV1.md b/docs/ClientExtractionCreateResponseV1.md index f045597a..657082b3 100644 --- a/docs/ClientExtractionCreateResponseV1.md +++ b/docs/ClientExtractionCreateResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ClientExtractionWithFilesV1>**](ClientExtractionWithFilesV1.md) | | | ## Example diff --git a/docs/ClientExtractionListFilesResponseV1.md b/docs/ClientExtractionListFilesResponseV1.md index 0a7e9106..c2f661a0 100644 --- a/docs/ClientExtractionListFilesResponseV1.md +++ b/docs/ClientExtractionListFilesResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ClientExtractionFileResultV1>**](ClientExtractionFileResultV1.md) | | | ## Example diff --git a/docs/ClientFQLStatement.md b/docs/ClientFQLStatement.md new file mode 100644 index 00000000..61a6e3fd --- /dev/null +++ b/docs/ClientFQLStatement.md @@ -0,0 +1,22 @@ +# Falcon::ClientFQLStatement + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **op** | **String** | | | +| **prop** | **String** | | | +| **value** | **Object** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ClientFQLStatement.new( + op: null, + prop: null, + value: null +) +``` + diff --git a/docs/ClientJobStatus.md b/docs/ClientJobStatus.md index 339f8c7a..10531fc3 100644 --- a/docs/ClientJobStatus.md +++ b/docs/ClientJobStatus.md @@ -9,6 +9,7 @@ | **digest_hex** | **String** | | [optional] | | **event_count** | **Integer** | | [optional] | | **file_link** | **String** | | [optional] | +| **filtered_event_count** | **Integer** | | [optional] | | **job_id** | **String** | | | | **job_url** | **String** | | [optional] | | **message** | **String** | | [optional] | @@ -28,6 +29,7 @@ instance = Falcon::ClientJobStatus.new( digest_hex: null, event_count: null, file_link: null, + filtered_event_count: null, job_id: null, job_url: null, message: null, diff --git a/docs/ClientSampleMetadataResponseV2.md b/docs/ClientSampleMetadataResponseV2.md index 3c89c556..5caa72c4 100644 --- a/docs/ClientSampleMetadataResponseV2.md +++ b/docs/ClientSampleMetadataResponseV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ClientSampleMetadataV2>**](ClientSampleMetadataV2.md) | | | ## Example diff --git a/docs/ClientSystemDefinitionCreateResponse.md b/docs/ClientSystemDefinitionCreateResponse.md index cf4e332f..387a6904 100644 --- a/docs/ClientSystemDefinitionCreateResponse.md +++ b/docs/ClientSystemDefinitionCreateResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/CloudConnectAwsApi.md b/docs/CloudConnectAwsApi.md index 79b9209d..3b56f697 100644 --- a/docs/CloudConnectAwsApi.md +++ b/docs/CloudConnectAwsApi.md @@ -1,6 +1,6 @@ # Falcon::CloudConnectAwsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/CloudSnapshotsApi.md b/docs/CloudSnapshotsApi.md index 541997f8..353c081b 100644 --- a/docs/CloudSnapshotsApi.md +++ b/docs/CloudSnapshotsApi.md @@ -1,12 +1,369 @@ # Falcon::CloudSnapshotsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | +| [**create_deployment_entity**](CloudSnapshotsApi.md#create_deployment_entity) | **POST** /snapshots/entities/deployments/v1 | Launch a snapshot scan for a given cloud asset | +| [**get_credentials_mixin0_mixin57**](CloudSnapshotsApi.md#get_credentials_mixin0_mixin57) | **GET** /snapshots/entities/image-registry-credentials/v1 | Gets the registry credentials | +| [**get_scan_report**](CloudSnapshotsApi.md#get_scan_report) | **GET** /snapshots/entities/scanreports/v1 | retrieve the scan report for an instance | +| [**read_deployments_combined**](CloudSnapshotsApi.md#read_deployments_combined) | **GET** /snapshots/combined/deployments/v1 | Retrieve snapshot jobs identified by the provided IDs | +| [**read_deployments_entities**](CloudSnapshotsApi.md#read_deployments_entities) | **GET** /snapshots/entities/deployments/v1 | Retrieve snapshot jobs identified by the provided IDs | | [**register_cspm_snapshot_account**](CloudSnapshotsApi.md#register_cspm_snapshot_account) | **POST** /snapshots/entities/accounts/v1 | Register customer cloud account for snapshot scanning | +## create_deployment_entity + +> create_deployment_entity(body) + +Launch a snapshot scan for a given cloud asset + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CloudSnapshotsApi.new +body = Falcon::ModelsCreateDeploymentInput.new({resources: [Falcon::ModelsDeploymentResource.new({account_id: 'account_id_example', asset_identifier: 'asset_identifier_example', cloud_provider: 'cloud_provider_example', region: 'region_example'})]}) # ModelsCreateDeploymentInput | + +begin + # Launch a snapshot scan for a given cloud asset + result = api_instance.create_deployment_entity(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->create_deployment_entity: #{e}" +end +``` + +#### Using the create_deployment_entity_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> create_deployment_entity_with_http_info(body) + +```ruby +begin + # Launch a snapshot scan for a given cloud asset + data, status_code, headers = api_instance.create_deployment_entity_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->create_deployment_entity_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ModelsCreateDeploymentInput**](ModelsCreateDeploymentInput.md) | | | + +### Return type + +[**DeploymentsEntityResponse**](DeploymentsEntityResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_credentials_mixin0_mixin57 + +> get_credentials_mixin0_mixin57 + +Gets the registry credentials + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CloudSnapshotsApi.new + +begin + # Gets the registry credentials + result = api_instance.get_credentials_mixin0_mixin57 + p result +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->get_credentials_mixin0_mixin57: #{e}" +end +``` + +#### Using the get_credentials_mixin0_mixin57_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_credentials_mixin0_mixin57_with_http_info + +```ruby +begin + # Gets the registry credentials + data, status_code, headers = api_instance.get_credentials_mixin0_mixin57_with_http_info + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->get_credentials_mixin0_mixin57_with_http_info: #{e}" +end +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ModelsRegistryCredentialsResponse**](ModelsRegistryCredentialsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_scan_report + +> get_scan_report(ids) + +retrieve the scan report for an instance + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CloudSnapshotsApi.new +ids = ['inner_example'] # Array | the instance identifiers to fetch the report for + +begin + # retrieve the scan report for an instance + result = api_instance.get_scan_report(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->get_scan_report: #{e}" +end +``` + +#### Using the get_scan_report_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_scan_report_with_http_info(ids) + +```ruby +begin + # retrieve the scan report for an instance + data, status_code, headers = api_instance.get_scan_report_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->get_scan_report_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | the instance identifiers to fetch the report for | | + +### Return type + +[**ScanreportsEntitiesResponse**](ScanreportsEntitiesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## read_deployments_combined + +> read_deployments_combined(opts) + +Retrieve snapshot jobs identified by the provided IDs + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CloudSnapshotsApi.new +opts = { + filter: 'filter_example', # String | Search snapshot jobs using a query in Falcon Query Language (FQL). Supported filters: account_id,asset_identifier,cloud_provider,region,status + limit: 56, # Integer | The upper-bound on the number of records to retrieve. + offset: 56, # Integer | The offset from where to begin. + sort: 'sort_example' # String | The fields to sort the records on. Supported columns: [account_id asset_identifier cloud_provider instance_type last_updated_timestamp region status] +} + +begin + # Retrieve snapshot jobs identified by the provided IDs + result = api_instance.read_deployments_combined(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->read_deployments_combined: #{e}" +end +``` + +#### Using the read_deployments_combined_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> read_deployments_combined_with_http_info(opts) + +```ruby +begin + # Retrieve snapshot jobs identified by the provided IDs + data, status_code, headers = api_instance.read_deployments_combined_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->read_deployments_combined_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Search snapshot jobs using a query in Falcon Query Language (FQL). Supported filters: account_id,asset_identifier,cloud_provider,region,status | [optional] | +| **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | +| **offset** | **Integer** | The offset from where to begin. | [optional] | +| **sort** | **String** | The fields to sort the records on. Supported columns: [account_id asset_identifier cloud_provider instance_type last_updated_timestamp region status] | [optional] | + +### Return type + +[**DeploymentsEntityResponse**](DeploymentsEntityResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## read_deployments_entities + +> read_deployments_entities(opts) + +Retrieve snapshot jobs identified by the provided IDs + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CloudSnapshotsApi.new +opts = { + ids: ['inner_example'] # Array | Search snapshot jobs by ids - The maximum amount is 100 IDs +} + +begin + # Retrieve snapshot jobs identified by the provided IDs + result = api_instance.read_deployments_entities(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->read_deployments_entities: #{e}" +end +``` + +#### Using the read_deployments_entities_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> read_deployments_entities_with_http_info(opts) + +```ruby +begin + # Retrieve snapshot jobs identified by the provided IDs + data, status_code, headers = api_instance.read_deployments_entities_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CloudSnapshotsApi->read_deployments_entities_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | Search snapshot jobs by ids - The maximum amount is 100 IDs | [optional] | + +### Return type + +[**DeploymentsEntityResponse**](DeploymentsEntityResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## register_cspm_snapshot_account > register_cspm_snapshot_account(body) diff --git a/docs/CommonCountAsResource.md b/docs/CommonCountAsResource.md index 7f089ae1..848c7643 100644 --- a/docs/CommonCountAsResource.md +++ b/docs/CommonCountAsResource.md @@ -5,7 +5,6 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **count** | **Integer** | | | -| **label** | **String** | | | ## Example @@ -13,8 +12,7 @@ require 'crimson-falcon' instance = Falcon::CommonCountAsResource.new( - count: null, - label: null + count: null ) ``` diff --git a/docs/CommonCountResponse.md b/docs/CommonCountResponse.md index 8a1fb2bd..92beff94 100644 --- a/docs/CommonCountResponse.md +++ b/docs/CommonCountResponse.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<CommonCountAsResource>**](CommonCountAsResource.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::CommonCountResponse.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/CommonCredentials.md b/docs/CommonCredentials.md new file mode 100644 index 00000000..058a3d84 --- /dev/null +++ b/docs/CommonCredentials.md @@ -0,0 +1,18 @@ +# Falcon::CommonCredentials + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **token** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::CommonCredentials.new( + token: null +) +``` + diff --git a/docs/CommonEntitiesResponse.md b/docs/CommonEntitiesResponse.md new file mode 100644 index 00000000..34e4f68e --- /dev/null +++ b/docs/CommonEntitiesResponse.md @@ -0,0 +1,22 @@ +# Falcon::CommonEntitiesResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | **Object** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::CommonEntitiesResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/CommonGenericEntityResponseString.md b/docs/CommonGenericEntityResponseString.md index 78885e6d..3ecd1f63 100644 --- a/docs/CommonGenericEntityResponseString.md +++ b/docs/CommonGenericEntityResponseString.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/CommonRegistryCredentialsResponse.md b/docs/CommonRegistryCredentialsResponse.md new file mode 100644 index 00000000..d9ff8b03 --- /dev/null +++ b/docs/CommonRegistryCredentialsResponse.md @@ -0,0 +1,22 @@ +# Falcon::CommonRegistryCredentialsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**CommonCredentials**](CommonCredentials.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::CommonRegistryCredentialsResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ComplianceAssessmentsApi.md b/docs/ComplianceAssessmentsApi.md new file mode 100644 index 00000000..eb6c6c31 --- /dev/null +++ b/docs/ComplianceAssessmentsApi.md @@ -0,0 +1,803 @@ +# Falcon::ComplianceAssessmentsApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**ext_aggregate_cluster_assessments**](ComplianceAssessmentsApi.md#ext_aggregate_cluster_assessments) | **GET** /container-compliance/aggregates/compliance-by-clusters/v2 | get the assessments for each cluster | +| [**ext_aggregate_failed_containers_by_rules_path**](ComplianceAssessmentsApi.md#ext_aggregate_failed_containers_by_rules_path) | **GET** /container-compliance/aggregates/failed-containers-by-rules/v2 | get the containers grouped into rules on which they failed | +| [**ext_aggregate_failed_containers_count_by_severity**](ComplianceAssessmentsApi.md#ext_aggregate_failed_containers_count_by_severity) | **GET** /container-compliance/aggregates/failed-containers-count-by-severity/v2 | get the failed containers count grouped into severity levels | +| [**ext_aggregate_failed_images_by_rules_path**](ComplianceAssessmentsApi.md#ext_aggregate_failed_images_by_rules_path) | **GET** /container-compliance/aggregates/failed-images-by-rules/v2 | get the images grouped into rules on which they failed | +| [**ext_aggregate_failed_images_count_by_severity**](ComplianceAssessmentsApi.md#ext_aggregate_failed_images_count_by_severity) | **GET** /container-compliance/aggregates/failed-images-count-by-severity/v2 | get the failed images count grouped into severity levels | +| [**ext_aggregate_failed_rules_by_clusters**](ComplianceAssessmentsApi.md#ext_aggregate_failed_rules_by_clusters) | **GET** /container-compliance/aggregates/failed-rules-by-clusters/v2 | get the failed rules for each cluster grouped into severity levels | +| [**ext_aggregate_failed_rules_by_images**](ComplianceAssessmentsApi.md#ext_aggregate_failed_rules_by_images) | **GET** /container-compliance/aggregates/failed-rules-by-images/v2 | get images with failed rules, rule count grouped by severity for each image | +| [**ext_aggregate_failed_rules_count_by_severity**](ComplianceAssessmentsApi.md#ext_aggregate_failed_rules_count_by_severity) | **GET** /container-compliance/aggregates/failed-rules-count-by-severity/v2 | get the failed rules count grouped into severity levels | +| [**ext_aggregate_image_assessments**](ComplianceAssessmentsApi.md#ext_aggregate_image_assessments) | **GET** /container-compliance/aggregates/compliance-by-images/v2 | get the assessments for each image | +| [**ext_aggregate_rules_assessments**](ComplianceAssessmentsApi.md#ext_aggregate_rules_assessments) | **GET** /container-compliance/aggregates/compliance-by-rules/v2 | get the assessments for each rule | +| [**ext_aggregate_rules_by_status**](ComplianceAssessmentsApi.md#ext_aggregate_rules_by_status) | **GET** /container-compliance/aggregates/rules-by-status/v2 | get the rules grouped by their statuses | + + +## ext_aggregate_cluster_assessments + +> ext_aggregate_cluster_assessments(opts) + +get the assessments for each cluster + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name cloud_info.namespace: Kubernetes namespace cid: Customer ID cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) +} + +begin + # get the assessments for each cluster + result = api_instance.ext_aggregate_cluster_assessments(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_cluster_assessments: #{e}" +end +``` + +#### Using the ext_aggregate_cluster_assessments_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_cluster_assessments_with_http_info(opts) + +```ruby +begin + # get the assessments for each cluster + data, status_code, headers = api_instance.ext_aggregate_cluster_assessments_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_cluster_assessments_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name cloud_info.namespace: Kubernetes namespace cid: Customer ID cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) | [optional] | + +### Return type + +[**DomainAggregateClusterAssessmentsResponse**](DomainAggregateClusterAssessmentsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_failed_containers_by_rules_path + +> ext_aggregate_failed_containers_by_rules_path(opts) + +get the containers grouped into rules on which they failed + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name cloud_info.namespace: Kubernetes namespace cloud_info.cloud_provider: Cloud provider compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_digest: Image digest (sha256 digest) cloud_info.cloud_region: Cloud region image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository cid: Customer ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name +} + +begin + # get the containers grouped into rules on which they failed + result = api_instance.ext_aggregate_failed_containers_by_rules_path(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_containers_by_rules_path: #{e}" +end +``` + +#### Using the ext_aggregate_failed_containers_by_rules_path_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_failed_containers_by_rules_path_with_http_info(opts) + +```ruby +begin + # get the containers grouped into rules on which they failed + data, status_code, headers = api_instance.ext_aggregate_failed_containers_by_rules_path_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_containers_by_rules_path_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name cloud_info.namespace: Kubernetes namespace cloud_info.cloud_provider: Cloud provider compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_digest: Image digest (sha256 digest) cloud_info.cloud_region: Cloud region image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository cid: Customer ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name | [optional] | + +### Return type + +[**DomainAggregateFailedAssetsByRulesResponse**](DomainAggregateFailedAssetsByRulesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_failed_containers_count_by_severity + +> ext_aggregate_failed_containers_count_by_severity(opts) + +get the failed containers count grouped into severity levels + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.namespace: Kubernetes namespace compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider image_repository: Image repository cid: Customer ID image_tag: Image tag image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region image_id: Image ID compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID +} + +begin + # get the failed containers count grouped into severity levels + result = api_instance.ext_aggregate_failed_containers_count_by_severity(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_containers_count_by_severity: #{e}" +end +``` + +#### Using the ext_aggregate_failed_containers_count_by_severity_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_failed_containers_count_by_severity_with_http_info(opts) + +```ruby +begin + # get the failed containers count grouped into severity levels + data, status_code, headers = api_instance.ext_aggregate_failed_containers_count_by_severity_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_containers_count_by_severity_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.namespace: Kubernetes namespace compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider image_repository: Image repository cid: Customer ID image_tag: Image tag image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region image_id: Image ID compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID | [optional] | + +### Return type + +[**DomainAggregateFailedAssetCountBySeverityResponse**](DomainAggregateFailedAssetCountBySeverityResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_failed_images_by_rules_path + +> ext_aggregate_failed_images_by_rules_path(opts) + +get the images grouped into rules on which they failed + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.id: Compliance finding ID compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.namespace: Kubernetes namespace image_repository: Image repository image_digest: Image digest (sha256 digest) image_tag: Image tag image_id: Image ID image_registry: Image registry cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider +} + +begin + # get the images grouped into rules on which they failed + result = api_instance.ext_aggregate_failed_images_by_rules_path(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_images_by_rules_path: #{e}" +end +``` + +#### Using the ext_aggregate_failed_images_by_rules_path_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_failed_images_by_rules_path_with_http_info(opts) + +```ruby +begin + # get the images grouped into rules on which they failed + data, status_code, headers = api_instance.ext_aggregate_failed_images_by_rules_path_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_images_by_rules_path_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.id: Compliance finding ID compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.namespace: Kubernetes namespace image_repository: Image repository image_digest: Image digest (sha256 digest) image_tag: Image tag image_id: Image ID image_registry: Image registry cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider | [optional] | + +### Return type + +[**DomainAggregateFailedAssetsByRulesResponse**](DomainAggregateFailedAssetsByRulesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_failed_images_count_by_severity + +> ext_aggregate_failed_images_count_by_severity(opts) + +get the failed images count grouped into severity levels + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name image_registry: Image registry cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository cid: Customer ID +} + +begin + # get the failed images count grouped into severity levels + result = api_instance.ext_aggregate_failed_images_count_by_severity(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_images_count_by_severity: #{e}" +end +``` + +#### Using the ext_aggregate_failed_images_count_by_severity_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_failed_images_count_by_severity_with_http_info(opts) + +```ruby +begin + # get the failed images count grouped into severity levels + data, status_code, headers = api_instance.ext_aggregate_failed_images_count_by_severity_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_images_count_by_severity_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name image_registry: Image registry cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository cid: Customer ID | [optional] | + +### Return type + +[**DomainAggregateFailedAssetCountBySeverityResponse**](DomainAggregateFailedAssetCountBySeverityResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_failed_rules_by_clusters + +> ext_aggregate_failed_rules_by_clusters(opts) + +get the failed rules for each cluster grouped into severity levels + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_registry: Image registry compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_tag: Image tag compliance_finding.name: Compliance finding Name image_repository: Image repository cloud_info.cluster_name: Kubernetes cluster name image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider image_id: Image ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID +} + +begin + # get the failed rules for each cluster grouped into severity levels + result = api_instance.ext_aggregate_failed_rules_by_clusters(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_rules_by_clusters: #{e}" +end +``` + +#### Using the ext_aggregate_failed_rules_by_clusters_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_failed_rules_by_clusters_with_http_info(opts) + +```ruby +begin + # get the failed rules for each cluster grouped into severity levels + data, status_code, headers = api_instance.ext_aggregate_failed_rules_by_clusters_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_rules_by_clusters_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_registry: Image registry compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_tag: Image tag compliance_finding.name: Compliance finding Name image_repository: Image repository cloud_info.cluster_name: Kubernetes cluster name image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider image_id: Image ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID | [optional] | + +### Return type + +[**DomainAggregateFailedRulesByClustersResponse**](DomainAggregateFailedRulesByClustersResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_failed_rules_by_images + +> ext_aggregate_failed_rules_by_images(opts) + +get images with failed rules, rule count grouped by severity for each image + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository compliance_finding.framework: Compliance finding framework (available values: CIS) image_id: Image ID image_registry: Image registry asset_type: asset type (container, image) compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID cid: Customer ID image_tag: Image tag cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name +} + +begin + # get images with failed rules, rule count grouped by severity for each image + result = api_instance.ext_aggregate_failed_rules_by_images(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_rules_by_images: #{e}" +end +``` + +#### Using the ext_aggregate_failed_rules_by_images_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_failed_rules_by_images_with_http_info(opts) + +```ruby +begin + # get images with failed rules, rule count grouped by severity for each image + data, status_code, headers = api_instance.ext_aggregate_failed_rules_by_images_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_rules_by_images_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository compliance_finding.framework: Compliance finding framework (available values: CIS) image_id: Image ID image_registry: Image registry asset_type: asset type (container, image) compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID cid: Customer ID image_tag: Image tag cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name | [optional] | + +### Return type + +[**DomainAggregateFailedRulesByImagesResponse**](DomainAggregateFailedRulesByImagesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_failed_rules_count_by_severity + +> ext_aggregate_failed_rules_count_by_severity(opts) + +get the failed rules count grouped into severity levels + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name image_registry: Image registry image_id: Image ID image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region +} + +begin + # get the failed rules count grouped into severity levels + result = api_instance.ext_aggregate_failed_rules_count_by_severity(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_rules_count_by_severity: #{e}" +end +``` + +#### Using the ext_aggregate_failed_rules_count_by_severity_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_failed_rules_count_by_severity_with_http_info(opts) + +```ruby +begin + # get the failed rules count grouped into severity levels + data, status_code, headers = api_instance.ext_aggregate_failed_rules_count_by_severity_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_failed_rules_count_by_severity_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name image_registry: Image registry image_id: Image ID image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region | [optional] | + +### Return type + +[**DomainAggregateFailedRulesCountBySeverityResponse**](DomainAggregateFailedRulesCountBySeverityResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_image_assessments + +> ext_aggregate_image_assessments(opts) + +get the assessments for each image + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example', # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cid: Customer ID compliance_finding.framework: Compliance finding framework (available values: CIS) image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.namespace: Kubernetes namespace asset_type: asset type (container, image) cloud_info.cloud_region: Cloud region image_registry: Image registry image_repository: Image repository image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name + after: 'after_example', # String | 'after' value from the last response. Keep it empty for the first request. + limit: 'limit_example' # String | number of images to return in the response after 'after' key. Keep it empty for the default number of 10000 +} + +begin + # get the assessments for each image + result = api_instance.ext_aggregate_image_assessments(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_image_assessments: #{e}" +end +``` + +#### Using the ext_aggregate_image_assessments_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_image_assessments_with_http_info(opts) + +```ruby +begin + # get the assessments for each image + data, status_code, headers = api_instance.ext_aggregate_image_assessments_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_image_assessments_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cid: Customer ID compliance_finding.framework: Compliance finding framework (available values: CIS) image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.namespace: Kubernetes namespace asset_type: asset type (container, image) cloud_info.cloud_region: Cloud region image_registry: Image registry image_repository: Image repository image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name | [optional] | +| **after** | **String** | 'after' value from the last response. Keep it empty for the first request. | [optional] | +| **limit** | **String** | number of images to return in the response after 'after' key. Keep it empty for the default number of 10000 | [optional] | + +### Return type + +[**DomainAggregateImageAssessmentsResponse**](DomainAggregateImageAssessmentsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_rules_assessments + +> ext_aggregate_rules_assessments(opts) + +get the assessments for each rule + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID cloud_info.cloud_region: Cloud region image_id: Image ID image_registry: Image registry compliance_finding.name: Compliance finding Name image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name cid: Customer ID +} + +begin + # get the assessments for each rule + result = api_instance.ext_aggregate_rules_assessments(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_rules_assessments: #{e}" +end +``` + +#### Using the ext_aggregate_rules_assessments_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_rules_assessments_with_http_info(opts) + +```ruby +begin + # get the assessments for each rule + data, status_code, headers = api_instance.ext_aggregate_rules_assessments_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_rules_assessments_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID cloud_info.cloud_region: Cloud region image_id: Image ID image_registry: Image registry compliance_finding.name: Compliance finding Name image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name cid: Customer ID | [optional] | + +### Return type + +[**DomainAggregateRulesAssessmentsResponse**](DomainAggregateRulesAssessmentsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## ext_aggregate_rules_by_status + +> ext_aggregate_rules_by_status(opts) + +get the rules grouped by their statuses + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ComplianceAssessmentsApi.new +opts = { + filter: 'filter_example' # String | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID cloud_info.cloud_provider: Cloud provider compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) container_name: Container name container_id: Container ID image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) image_id: Image ID image_tag: Image tag image_repository: Image repository asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID +} + +begin + # get the rules grouped by their statuses + result = api_instance.ext_aggregate_rules_by_status(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_rules_by_status: #{e}" +end +``` + +#### Using the ext_aggregate_rules_by_status_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ext_aggregate_rules_by_status_with_http_info(opts) + +```ruby +begin + # get the rules grouped by their statuses + data, status_code, headers = api_instance.ext_aggregate_rules_by_status_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ComplianceAssessmentsApi->ext_aggregate_rules_by_status_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID cloud_info.cloud_provider: Cloud provider compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) container_name: Container name container_id: Container ID image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) image_id: Image ID image_tag: Image tag image_repository: Image repository asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID | [optional] | + +### Return type + +[**DomainAggregateRulesByStatusResponse**](DomainAggregateRulesByStatusResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/ConfigurationAssessmentApi.md b/docs/ConfigurationAssessmentApi.md index 6a696857..f6329796 100644 --- a/docs/ConfigurationAssessmentApi.md +++ b/docs/ConfigurationAssessmentApi.md @@ -1,6 +1,6 @@ # Falcon::ConfigurationAssessmentApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ConfigurationAssessmentEvaluationLogicApi.md b/docs/ConfigurationAssessmentEvaluationLogicApi.md index 86bc74bb..42c4c54b 100644 --- a/docs/ConfigurationAssessmentEvaluationLogicApi.md +++ b/docs/ConfigurationAssessmentEvaluationLogicApi.md @@ -1,6 +1,6 @@ # Falcon::ConfigurationAssessmentEvaluationLogicApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ContainerAlertsApi.md b/docs/ContainerAlertsApi.md index 482fb916..b388867f 100644 --- a/docs/ContainerAlertsApi.md +++ b/docs/ContainerAlertsApi.md @@ -1,6 +1,6 @@ # Falcon::ContainerAlertsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ContainerDetectionsApi.md b/docs/ContainerDetectionsApi.md index 6ac8c7a3..d20b44aa 100644 --- a/docs/ContainerDetectionsApi.md +++ b/docs/ContainerDetectionsApi.md @@ -1,6 +1,6 @@ # Falcon::ContainerDetectionsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ContainerImagesApi.md b/docs/ContainerImagesApi.md index 512e0f68..0d93df3e 100644 --- a/docs/ContainerImagesApi.md +++ b/docs/ContainerImagesApi.md @@ -1,6 +1,6 @@ # Falcon::ContainerImagesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -8,10 +8,13 @@ All URIs are relative to *https://api.crowdstrike.com* | [**aggregate_image_count**](ContainerImagesApi.md#aggregate_image_count) | **GET** /container-security/aggregates/images/count/v1 | Aggregate count of images | | [**aggregate_image_count_by_base_os**](ContainerImagesApi.md#aggregate_image_count_by_base_os) | **GET** /container-security/aggregates/images/count-by-os-distribution/v1 | Aggregate count of images grouped by Base OS distribution | | [**aggregate_image_count_by_state**](ContainerImagesApi.md#aggregate_image_count_by_state) | **GET** /container-security/aggregates/images/count-by-state/v1 | Aggregate count of images grouped by state | +| [**combined_base_images**](ContainerImagesApi.md#combined_base_images) | **GET** /container-security/combined/base-images/v1 | Retrieve base images for provided filter | | [**combined_image_by_vulnerability_count**](ContainerImagesApi.md#combined_image_by_vulnerability_count) | **GET** /container-security/combined/images/by-vulnerability-count/v1 | Retrieve top x images with the most vulnerabilities | | [**combined_image_detail**](ContainerImagesApi.md#combined_image_detail) | **GET** /container-security/combined/images/detail/v1 | Retrieve image entities identified by the provided filter criteria | | [**combined_image_issues_summary**](ContainerImagesApi.md#combined_image_issues_summary) | **GET** /container-security/combined/images/issues-summary/v1 | Retrieve image issues summary such as Image detections, Runtime detections, Policies, vulnerabilities | | [**combined_image_vulnerability_summary**](ContainerImagesApi.md#combined_image_vulnerability_summary) | **GET** /container-security/combined/images/vulnerabilities-summary/v1 | aggregates information about vulnerabilities for an image | +| [**create_base_images_entities**](ContainerImagesApi.md#create_base_images_entities) | **POST** /container-security/entities/base-images/v1 | Creates base images using the provided details | +| [**delete_base_images**](ContainerImagesApi.md#delete_base_images) | **DELETE** /container-security/entities/base-images/v1 | Delete base images by base image uuid | | [**get_combined_images**](ContainerImagesApi.md#get_combined_images) | **GET** /container-security/combined/image-assessment/images/v1 | Get image assessment results by providing an FQL filter and paging details | | [**read_combined_images_export**](ContainerImagesApi.md#read_combined_images_export) | **GET** /container-security/combined/images/export/v1 | Retrieve images with an option to expand aggregated vulnerabilities/detections | @@ -108,7 +111,7 @@ end api_instance = Falcon::ContainerImagesApi.new opts = { - filter: 'filter_example' # String | Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity + filter: 'filter_example' # String | Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity } begin @@ -142,7 +145,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity | [optional] | +| **filter** | **String** | Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity | [optional] | ### Return type @@ -300,6 +303,77 @@ end - **Accept**: application/json +## combined_base_images + +> combined_base_images(opts) + +Retrieve base images for provided filter + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ContainerImagesApi.new +opts = { + filter: 'filter_example' # String | Search base images using a query in Falcon Query Language (FQL). Supported filters: image_digest,image_id,registry,repository,tag +} + +begin + # Retrieve base images for provided filter + result = api_instance.combined_base_images(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ContainerImagesApi->combined_base_images: #{e}" +end +``` + +#### Using the combined_base_images_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> combined_base_images_with_http_info(opts) + +```ruby +begin + # Retrieve base images for provided filter + data, status_code, headers = api_instance.combined_base_images_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ContainerImagesApi->combined_base_images_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Search base images using a query in Falcon Query Language (FQL). Supported filters: image_digest,image_id,registry,repository,tag | [optional] | + +### Return type + +[**CoreEntitiesResponse**](CoreEntitiesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## combined_image_by_vulnerability_count > combined_image_by_vulnerability_count(opts) @@ -456,7 +530,7 @@ end ## combined_image_issues_summary -> combined_image_issues_summary(cid, registry, repository, tag) +> combined_image_issues_summary(cid, registry, repository, tag, opts) Retrieve image issues summary such as Image detections, Runtime detections, Policies, vulnerabilities @@ -478,10 +552,13 @@ cid = 'cid_example' # String | CID registry = 'registry_example' # String | registry name repository = 'repository_example' # String | repository name tag = 'tag_example' # String | tag name +opts = { + include_base_image_vuln: true # Boolean | include base image vulnerabilities +} begin # Retrieve image issues summary such as Image detections, Runtime detections, Policies, vulnerabilities - result = api_instance.combined_image_issues_summary(cid, registry, repository, tag) + result = api_instance.combined_image_issues_summary(cid, registry, repository, tag, opts) p result rescue Falcon::ApiError => e puts "Error when calling ContainerImagesApi->combined_image_issues_summary: #{e}" @@ -492,12 +569,12 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> combined_image_issues_summary_with_http_info(cid, registry, repository, tag) +> , Integer, Hash)> combined_image_issues_summary_with_http_info(cid, registry, repository, tag, opts) ```ruby begin # Retrieve image issues summary such as Image detections, Runtime detections, Policies, vulnerabilities - data, status_code, headers = api_instance.combined_image_issues_summary_with_http_info(cid, registry, repository, tag) + data, status_code, headers = api_instance.combined_image_issues_summary_with_http_info(cid, registry, repository, tag, opts) p status_code # => 2xx p headers # => { ... } p data # => @@ -514,6 +591,7 @@ end | **registry** | **String** | registry name | | | **repository** | **String** | repository name | | | **tag** | **String** | tag name | | +| **include_base_image_vuln** | **Boolean** | include base image vulnerabilities | [optional] | ### Return type @@ -531,7 +609,7 @@ end ## combined_image_vulnerability_summary -> combined_image_vulnerability_summary(cid, registry, repository, tag) +> combined_image_vulnerability_summary(cid, registry, repository, tag, opts) aggregates information about vulnerabilities for an image @@ -553,10 +631,13 @@ cid = 'cid_example' # String | CID registry = 'registry_example' # String | registry name repository = 'repository_example' # String | repository name tag = 'tag_example' # String | tag name +opts = { + include_base_image_vuln: true # Boolean | include base image vulnerabilities +} begin # aggregates information about vulnerabilities for an image - result = api_instance.combined_image_vulnerability_summary(cid, registry, repository, tag) + result = api_instance.combined_image_vulnerability_summary(cid, registry, repository, tag, opts) p result rescue Falcon::ApiError => e puts "Error when calling ContainerImagesApi->combined_image_vulnerability_summary: #{e}" @@ -567,12 +648,12 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> combined_image_vulnerability_summary_with_http_info(cid, registry, repository, tag) +> , Integer, Hash)> combined_image_vulnerability_summary_with_http_info(cid, registry, repository, tag, opts) ```ruby begin # aggregates information about vulnerabilities for an image - data, status_code, headers = api_instance.combined_image_vulnerability_summary_with_http_info(cid, registry, repository, tag) + data, status_code, headers = api_instance.combined_image_vulnerability_summary_with_http_info(cid, registry, repository, tag, opts) p status_code # => 2xx p headers # => { ... } p data # => @@ -589,6 +670,7 @@ end | **registry** | **String** | registry name | | | **repository** | **String** | repository name | | | **tag** | **String** | tag name | | +| **include_base_image_vuln** | **Boolean** | include base image vulnerabilities | [optional] | ### Return type @@ -604,6 +686,144 @@ end - **Accept**: application/json +## create_base_images_entities + +> create_base_images_entities(body) + +Creates base images using the provided details + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ContainerImagesApi.new +body = Falcon::ModelsCreateBaseImagesRequest.new({base_images: [Falcon::ModelsBaseImageRequest.new]}) # ModelsCreateBaseImagesRequest | + +begin + # Creates base images using the provided details + result = api_instance.create_base_images_entities(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ContainerImagesApi->create_base_images_entities: #{e}" +end +``` + +#### Using the create_base_images_entities_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> create_base_images_entities_with_http_info(body) + +```ruby +begin + # Creates base images using the provided details + data, status_code, headers = api_instance.create_base_images_entities_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ContainerImagesApi->create_base_images_entities_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ModelsCreateBaseImagesRequest**](ModelsCreateBaseImagesRequest.md) | | | + +### Return type + +[**CoreEntitiesResponse**](CoreEntitiesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## delete_base_images + +> delete_base_images(ids) + +Delete base images by base image uuid + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ContainerImagesApi.new +ids = ['inner_example'] # Array | BaseImageIDs + +begin + # Delete base images by base image uuid + result = api_instance.delete_base_images(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling ContainerImagesApi->delete_base_images: #{e}" +end +``` + +#### Using the delete_base_images_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> delete_base_images_with_http_info(ids) + +```ruby +begin + # Delete base images by base image uuid + data, status_code, headers = api_instance.delete_base_images_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ContainerImagesApi->delete_base_images_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | BaseImageIDs | | + +### Return type + +[**CoreEntitiesResponse**](CoreEntitiesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## get_combined_images > get_combined_images(opts) @@ -628,7 +848,7 @@ opts = { filter: 'filter_example', # String | Filter images using a query in Falcon Query Language (FQL). Supported filters: container_id, container_running_status, cve_id, detection_name, detection_severity, first_seen, image_digest, image_id, registry, repository, tag, vulnerability_severity limit: 56, # Integer | The upper-bound on the number of records to retrieve [1-100] offset: 56, # Integer | The offset from where to begin. - sort: 'sort_example' # String | The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository tag] + sort: 'sort_example' # String | The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository source tag] } begin @@ -665,7 +885,7 @@ end | **filter** | **String** | Filter images using a query in Falcon Query Language (FQL). Supported filters: container_id, container_running_status, cve_id, detection_name, detection_severity, first_seen, image_digest, image_id, registry, repository, tag, vulnerability_severity | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve [1-100] | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | -| **sort** | **String** | The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository tag] | [optional] | +| **sort** | **String** | The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository source tag] | [optional] | ### Return type @@ -702,12 +922,12 @@ end api_instance = Falcon::ContainerImagesApi.new opts = { - filter: 'filter_example', # String | Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity + filter: 'filter_example', # String | Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity expand_vulnerabilities: true, # Boolean | expand vulnerabilities expand_detections: true, # Boolean | expand detections limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. - sort: 'sort_example' # String | The fields to sort the records on. Supported columns: [base_os cid containers detections firstScanned first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository tag vulnerabilities] + sort: 'sort_example' # String | The fields to sort the records on. Supported columns: [base_os cid detections firstScanned first_seen highest_cps_current_rating highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository source tag vulnerabilities] } begin @@ -741,12 +961,12 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity | [optional] | +| **filter** | **String** | Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity | [optional] | | **expand_vulnerabilities** | **Boolean** | expand vulnerabilities | [optional] | | **expand_detections** | **Boolean** | expand detections | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | -| **sort** | **String** | The fields to sort the records on. Supported columns: [base_os cid containers detections firstScanned first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository tag vulnerabilities] | [optional] | +| **sort** | **String** | The fields to sort the records on. Supported columns: [base_os cid detections firstScanned first_seen highest_cps_current_rating highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository source tag vulnerabilities] | [optional] | ### Return type diff --git a/docs/ContainerPackagesApi.md b/docs/ContainerPackagesApi.md index fd5f8a1a..5302aae2 100644 --- a/docs/ContainerPackagesApi.md +++ b/docs/ContainerPackagesApi.md @@ -1,6 +1,6 @@ # Falcon::ContainerPackagesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ContainerVulnerabilitiesApi.md b/docs/ContainerVulnerabilitiesApi.md index 650a703c..fa052645 100644 --- a/docs/ContainerVulnerabilitiesApi.md +++ b/docs/ContainerVulnerabilitiesApi.md @@ -1,6 +1,6 @@ # Falcon::ContainerVulnerabilitiesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -37,7 +37,7 @@ end api_instance = Falcon::ContainerVulnerabilitiesApi.new opts = { - filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. sort: 'sort_example' # String | The fields to sort the records on. Supported columns: [cps_current_rating cve_id cvss_score description images_impacted packages_impacted severity] @@ -74,7 +74,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag | [optional] | +| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | | **sort** | **String** | The fields to sort the records on. Supported columns: [cps_current_rating cve_id cvss_score description images_impacted packages_impacted severity] | [optional] | @@ -115,7 +115,7 @@ end api_instance = Falcon::ContainerVulnerabilitiesApi.new id = 'id_example' # String | Image UUID opts = { - filter: 'filter_example', # String | Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,is_zero_day,remediation_available,severity + filter: 'filter_example', # String | Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,include_base_image_vuln,is_zero_day,remediation_available,severity limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56 # Integer | The offset from where to begin. } @@ -152,7 +152,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **id** | **String** | Image UUID | | -| **filter** | **String** | Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,is_zero_day,remediation_available,severity | [optional] | +| **filter** | **String** | Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,include_base_image_vuln,is_zero_day,remediation_available,severity | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | @@ -416,7 +416,7 @@ end api_instance = Falcon::ContainerVulnerabilitiesApi.new opts = { - filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56 # Integer | The offset from where to begin. } @@ -452,7 +452,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag | [optional] | +| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | @@ -491,7 +491,7 @@ end api_instance = Falcon::ContainerVulnerabilitiesApi.new opts = { - filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56 # Integer | The offset from where to begin. } @@ -527,7 +527,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag | [optional] | +| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | @@ -566,7 +566,7 @@ end api_instance = Falcon::ContainerVulnerabilitiesApi.new opts = { - filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56 # Integer | The offset from where to begin. } @@ -602,7 +602,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag | [optional] | +| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | @@ -641,7 +641,7 @@ end api_instance = Falcon::ContainerVulnerabilitiesApi.new opts = { - filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56 # Integer | The offset from where to begin. } @@ -677,7 +677,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag | [optional] | +| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | @@ -716,7 +716,7 @@ end api_instance = Falcon::ContainerVulnerabilitiesApi.new opts = { - filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + filter: 'filter_example', # String | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56 # Integer | The offset from where to begin. } @@ -752,7 +752,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag | [optional] | +| **filter** | **String** | Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | diff --git a/docs/ContentchangesChangeContentsResponse.md b/docs/ContentchangesChangeContentsResponse.md new file mode 100644 index 00000000..af27f340 --- /dev/null +++ b/docs/ContentchangesChangeContentsResponse.md @@ -0,0 +1,22 @@ +# Falcon::ContentchangesChangeContentsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**ContentchangesContentDiff**](ContentchangesContentDiff.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ContentchangesChangeContentsResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ContentchangesContent.md b/docs/ContentchangesContent.md new file mode 100644 index 00000000..21d4ce82 --- /dev/null +++ b/docs/ContentchangesContent.md @@ -0,0 +1,20 @@ +# Falcon::ContentchangesContent + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **data** | **String** | | | +| **path** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ContentchangesContent.new( + data: null, + path: null +) +``` + diff --git a/docs/ContentchangesContentDiff.md b/docs/ContentchangesContentDiff.md new file mode 100644 index 00000000..95cafc95 --- /dev/null +++ b/docs/ContentchangesContentDiff.md @@ -0,0 +1,24 @@ +# Falcon::ContentchangesContentDiff + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **after** | [**ContentchangesContent**](ContentchangesContent.md) | | [optional] | +| **before** | [**ContentchangesContent**](ContentchangesContent.md) | | [optional] | +| **cid** | **String** | | | +| **id** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ContentchangesContentDiff.new( + after: null, + before: null, + cid: null, + id: null +) +``` + diff --git a/docs/CoreEntitiesResponse.md b/docs/CoreEntitiesResponse.md index 0299188c..bfacdcff 100644 --- a/docs/CoreEntitiesResponse.md +++ b/docs/CoreEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Object** | | | ## Example diff --git a/docs/ProvisionApi.md b/docs/CspgIacapiApi.md similarity index 54% rename from docs/ProvisionApi.md rename to docs/CspgIacapiApi.md index b76a6b0a..0449cee4 100644 --- a/docs/ProvisionApi.md +++ b/docs/CspgIacapiApi.md @@ -1,17 +1,17 @@ -# Falcon::ProvisionApi +# Falcon::CspgIacapiApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | -| [**get_credentials_mixin0**](ProvisionApi.md#get_credentials_mixin0) | **GET** /snapshots/entities/image-registry-credentials/v1 | Gets the registry credentials | +| [**get_credentials_mixin0**](CspgIacapiApi.md#get_credentials_mixin0) | **GET** /iac/entities/image-registry-credentials/v1 | Gets the registry credentials (external endpoint) | ## get_credentials_mixin0 -> get_credentials_mixin0 +> get_credentials_mixin0 -Gets the registry credentials +Gets the registry credentials (external endpoint) ### Examples @@ -26,14 +26,14 @@ Falcon.configure do |config| config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" end -api_instance = Falcon::ProvisionApi.new +api_instance = Falcon::CspgIacapiApi.new begin - # Gets the registry credentials + # Gets the registry credentials (external endpoint) result = api_instance.get_credentials_mixin0 p result rescue Falcon::ApiError => e - puts "Error when calling ProvisionApi->get_credentials_mixin0: #{e}" + puts "Error when calling CspgIacapiApi->get_credentials_mixin0: #{e}" end ``` @@ -41,17 +41,17 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_credentials_mixin0_with_http_info +> , Integer, Hash)> get_credentials_mixin0_with_http_info ```ruby begin - # Gets the registry credentials + # Gets the registry credentials (external endpoint) data, status_code, headers = api_instance.get_credentials_mixin0_with_http_info p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e - puts "Error when calling ProvisionApi->get_credentials_mixin0_with_http_info: #{e}" + puts "Error when calling CspgIacapiApi->get_credentials_mixin0_with_http_info: #{e}" end ``` @@ -61,7 +61,7 @@ This endpoint does not need any parameter. ### Return type -[**ModelsRegistryCredentialsResponse**](ModelsRegistryCredentialsResponse.md) +[**CommonRegistryCredentialsResponse**](CommonRegistryCredentialsResponse.md) ### Authorization diff --git a/docs/CspmRegistrationApi.md b/docs/CspmRegistrationApi.md index ae252798..dc257d04 100644 --- a/docs/CspmRegistrationApi.md +++ b/docs/CspmRegistrationApi.md @@ -1,6 +1,6 @@ # Falcon::CspmRegistrationApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -12,6 +12,7 @@ All URIs are relative to *https://api.crowdstrike.com* | [**create_cspmgcp_account**](CspmRegistrationApi.md#create_cspmgcp_account) | **POST** /cloud-connect-cspm-gcp/entities/account/v1 | Creates a new account in our system for a customer and generates a new service account for them to add access to in their GCP environment to grant us access. | | [**delete_cspm_aws_account**](CspmRegistrationApi.md#delete_cspm_aws_account) | **DELETE** /cloud-connect-cspm-aws/entities/account/v1 | Deletes an existing AWS account or organization in our system. | | [**delete_cspm_azure_account**](CspmRegistrationApi.md#delete_cspm_azure_account) | **DELETE** /cloud-connect-cspm-azure/entities/account/v1 | Deletes an Azure subscription from the system. | +| [**delete_cspm_azure_management_group**](CspmRegistrationApi.md#delete_cspm_azure_management_group) | **DELETE** /cloud-connect-cspm-azure/entities/management-group/v1 | Deletes Azure management groups from the system. | | [**delete_cspmgcp_account**](CspmRegistrationApi.md#delete_cspmgcp_account) | **DELETE** /cloud-connect-cspm-gcp/entities/account/v1 | Deletes a GCP account from the system. | | [**get_behavior_detections**](CspmRegistrationApi.md#get_behavior_detections) | **GET** /detects/entities/ioa/v1 | Get list of detected behaviors | | [**get_configuration_detection_entities**](CspmRegistrationApi.md#get_configuration_detection_entities) | **GET** /detects/entities/iom/v2 | Get misconfigurations based on the ID - including custom policy detections in addition to default policy detections. | @@ -30,6 +31,7 @@ All URIs are relative to *https://api.crowdstrike.com* | [**get_cspmcgp_account**](CspmRegistrationApi.md#get_cspmcgp_account) | **GET** /cloud-connect-cspm-gcp/entities/account/v1 | Returns information about the current status of an GCP account. | | [**get_cspmgcp_service_accounts_ext**](CspmRegistrationApi.md#get_cspmgcp_service_accounts_ext) | **GET** /cloud-connect-cspm-gcp/entities/service-accounts/v1 | Returns the service account id and client email for external clients. | | [**get_cspmgcp_user_scripts_attachment**](CspmRegistrationApi.md#get_cspmgcp_user_scripts_attachment) | **GET** /cloud-connect-cspm-gcp/entities/user-scripts-download/v1 | Return a script for customer to run in their cloud environment to grant us access to their GCP environment as a downloadable attachment | +| [**get_cspmgcp_validate_accounts_ext**](CspmRegistrationApi.md#get_cspmgcp_validate_accounts_ext) | **POST** /cloud-connect-cspm-gcp/entities/account/validate/v1 | Run a synchronous health check. | | [**patch_cspm_aws_account**](CspmRegistrationApi.md#patch_cspm_aws_account) | **PATCH** /cloud-connect-cspm-aws/entities/account/v1 | Patches a existing account in our system for a customer. | | [**update_cspm_azure_account**](CspmRegistrationApi.md#update_cspm_azure_account) | **PATCH** /cloud-connect-cspm-azure/entities/account/v1 | Patches a existing account in our system for a customer. | | [**update_cspm_azure_account_client_id**](CspmRegistrationApi.md#update_cspm_azure_account_client_id) | **PATCH** /cloud-connect-cspm-azure/entities/client-id/v1 | Update an Azure service account in our system by with the user-created client_id created with the public key we've provided | @@ -37,6 +39,8 @@ All URIs are relative to *https://api.crowdstrike.com* | [**update_cspm_policy_settings**](CspmRegistrationApi.md#update_cspm_policy_settings) | **PATCH** /settings/entities/policy/v1 | Updates a policy setting - can be used to override policy severity or to disable a policy entirely. | | [**update_cspm_scan_schedule**](CspmRegistrationApi.md#update_cspm_scan_schedule) | **POST** /settings/scan-schedule/v1 | Updates scan schedule configuration for one or more cloud platforms. | | [**update_cspmgcp_account**](CspmRegistrationApi.md#update_cspmgcp_account) | **PATCH** /cloud-connect-cspm-gcp/entities/account/v1 | Patches a existing account in our system for a customer. | +| [**update_cspmgcp_service_accounts_ext**](CspmRegistrationApi.md#update_cspmgcp_service_accounts_ext) | **PATCH** /cloud-connect-cspm-gcp/entities/service-accounts/v1 | Patches the service account key for external clients. | +| [**validate_cspmgcp_service_account_ext**](CspmRegistrationApi.md#validate_cspmgcp_service_account_ext) | **POST** /cloud-connect-cspm-gcp/entities/service-accounts/validate/v1 | Validates credentials for a service account | ## azure_download_certificate @@ -607,6 +611,77 @@ end - **Accept**: application/json +## delete_cspm_azure_management_group + +> delete_cspm_azure_management_group(opts) + +Deletes Azure management groups from the system. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CspmRegistrationApi.new +opts = { + tenant_ids: ['inner_example'] # Array | Tenant ids to remove +} + +begin + # Deletes Azure management groups from the system. + result = api_instance.delete_cspm_azure_management_group(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling CspmRegistrationApi->delete_cspm_azure_management_group: #{e}" +end +``` + +#### Using the delete_cspm_azure_management_group_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> delete_cspm_azure_management_group_with_http_info(opts) + +```ruby +begin + # Deletes Azure management groups from the system. + data, status_code, headers = api_instance.delete_cspm_azure_management_group_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CspmRegistrationApi->delete_cspm_azure_management_group_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **tenant_ids** | [**Array<String>**](String.md) | Tenant ids to remove | [optional] | + +### Return type + +[**MsaspecResponseFields**](MsaspecResponseFields.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## delete_cspmgcp_account > delete_cspmgcp_account(opts) @@ -865,7 +940,7 @@ end api_instance = Falcon::CspmRegistrationApi.new opts = { - filter: 'filter_example', # String | use_current_scan_ids - *use this to get records for latest scans* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string + filter: 'filter_example', # String | use_current_scan_ids - *use this to get records for latest scans (ignored when next_token is set)* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string sort: 'sort_example', # String | account_name account_id attack_types azure_subscription_id cloud_provider cloud_service_keyword status is_managed policy_id policy_type resource_id region scan_time severity severity_string timestamp limit: 56, # Integer | The max number of detections to return offset: 56, # Integer | Offset returned detections. Cannot be combined with next_token filter @@ -903,7 +978,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | use_current_scan_ids - *use this to get records for latest scans* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string | [optional] | +| **filter** | **String** | use_current_scan_ids - *use this to get records for latest scans (ignored when next_token is set)* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string | [optional] | | **sort** | **String** | account_name account_id attack_types azure_subscription_id cloud_provider cloud_service_keyword status is_managed policy_id policy_type resource_id region scan_time severity severity_string timestamp | [optional][default to 'timestamp|desc'] | | **limit** | **Integer** | The max number of detections to return | [optional][default to 500] | | **offset** | **Integer** | Offset returned detections. Cannot be combined with next_token filter | [optional] | @@ -1122,7 +1197,19 @@ end api_instance = Falcon::CspmRegistrationApi.new opts = { - ids: ['inner_example'] # Array | AWS account IDs + ids: ['inner_example'], # Array | AWS account IDs + template: 'aws-bash', # String | Template to be rendered + account_type: 'commercial', # String | Type of account, it can be commercial or gov + accounts: ['inner_example'], # Array | The list of accounts to register, values should be in the form: account,profile + behavior_assessment_enabled: 'true', # String | + sensor_management_enabled: 'true', # String | + dspm_enabled: 'true', # String | + dspm_regions: ['inner_example'], # Array | + dspm_role: 'dspm_role_example', # String | + use_existing_cloudtrail: 'true', # String | + organization_id: 'organization_id_example', # String | The AWS organization ID to be registered + aws_profile: 'aws_profile_example', # String | The AWS profile to be used during registration + custom_role_name: 'custom_role_name_example' # String | The custom IAM role to be used during registration } begin @@ -1157,6 +1244,18 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **ids** | [**Array<String>**](String.md) | AWS account IDs | [optional] | +| **template** | **String** | Template to be rendered | [optional] | +| **account_type** | **String** | Type of account, it can be commercial or gov | [optional] | +| **accounts** | [**Array<String>**](String.md) | The list of accounts to register, values should be in the form: account,profile | [optional] | +| **behavior_assessment_enabled** | **String** | | [optional] | +| **sensor_management_enabled** | **String** | | [optional] | +| **dspm_enabled** | **String** | | [optional] | +| **dspm_regions** | [**Array<String>**](String.md) | | [optional] | +| **dspm_role** | **String** | | [optional] | +| **use_existing_cloudtrail** | **String** | | [optional] | +| **organization_id** | **String** | The AWS organization ID to be registered | [optional] | +| **aws_profile** | **String** | The AWS profile to be used during registration | [optional] | +| **custom_role_name** | **String** | The custom IAM role to be used during registration | [optional] | ### Return type @@ -1174,7 +1273,7 @@ end ## get_cspm_aws_console_setup_urls -> get_cspm_aws_console_setup_urls(opts) +> get_cspm_aws_console_setup_urls(opts) Return a URL for customer to visit in their cloud environment to grant us access to their AWS environment. @@ -1195,7 +1294,8 @@ api_instance = Falcon::CspmRegistrationApi.new opts = { ids: ['inner_example'], # Array | AWS account IDs use_existing_cloudtrail: 'true', # String | - region: 'region_example' # String | Region + region: 'region_example', # String | Region + template: 'aws-url' # String | Template to be rendered } begin @@ -1211,7 +1311,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_cspm_aws_console_setup_urls_with_http_info(opts) +> , Integer, Hash)> get_cspm_aws_console_setup_urls_with_http_info(opts) ```ruby begin @@ -1219,7 +1319,7 @@ begin data, status_code, headers = api_instance.get_cspm_aws_console_setup_urls_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling CspmRegistrationApi->get_cspm_aws_console_setup_urls_with_http_info: #{e}" end @@ -1232,10 +1332,11 @@ end | **ids** | [**Array<String>**](String.md) | AWS account IDs | [optional] | | **use_existing_cloudtrail** | **String** | | [optional] | | **region** | **String** | Region | [optional] | +| **template** | **String** | Template to be rendered | [optional] | ### Return type -[**RegistrationAWSAccountConsoleURL**](RegistrationAWSAccountConsoleURL.md) +[**RegistrationAWSConsoleURLResponseV2**](RegistrationAWSConsoleURLResponseV2.md) ### Authorization @@ -1995,6 +2096,75 @@ end - **Accept**: application/json, application/octet-stream +## get_cspmgcp_validate_accounts_ext + +> get_cspmgcp_validate_accounts_ext(body) + +Run a synchronous health check. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CspmRegistrationApi.new +body = Falcon::RegistrationGCPAccountValidationRequestV1.new({resources: [Falcon::RegistrationGCPAccountValidationReqObjV1.new({parent_id: 'parent_id_example'})]}) # RegistrationGCPAccountValidationRequestV1 | + +begin + # Run a synchronous health check. + result = api_instance.get_cspmgcp_validate_accounts_ext(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling CspmRegistrationApi->get_cspmgcp_validate_accounts_ext: #{e}" +end +``` + +#### Using the get_cspmgcp_validate_accounts_ext_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_cspmgcp_validate_accounts_ext_with_http_info(body) + +```ruby +begin + # Run a synchronous health check. + data, status_code, headers = api_instance.get_cspmgcp_validate_accounts_ext_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CspmRegistrationApi->get_cspmgcp_validate_accounts_ext_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**RegistrationGCPAccountValidationRequestV1**](RegistrationGCPAccountValidationRequestV1.md) | | | + +### Return type + +[**RegistrationGCPAccountValidationResponseV1**](RegistrationGCPAccountValidationResponseV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + ## patch_cspm_aws_account > patch_cspm_aws_account(body) @@ -2437,7 +2607,7 @@ Falcon.configure do |config| end api_instance = Falcon::CspmRegistrationApi.new -body = Falcon::RegistrationGCPAccountPatchRequest.new({resources: [Falcon::RegistrationGCPAccountPatch.new({parent_id: 'parent_id_example'})]}) # RegistrationGCPAccountPatchRequest | +body = Falcon::RegistrationGCPAccountPatchRequestV1.new({resources: [Falcon::RegistrationGCPAccountPatchV1.new({parent_id: 'parent_id_example', service_account: Falcon::RegistrationGCPServiceAccountPatchV1.new})]}) # RegistrationGCPAccountPatchRequestV1 | begin # Patches a existing account in our system for a customer. @@ -2470,7 +2640,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**RegistrationGCPAccountPatchRequest**](RegistrationGCPAccountPatchRequest.md) | | | +| **body** | [**RegistrationGCPAccountPatchRequestV1**](RegistrationGCPAccountPatchRequestV1.md) | | | ### Return type @@ -2485,3 +2655,141 @@ end - **Content-Type**: application/json - **Accept**: application/json + +## update_cspmgcp_service_accounts_ext + +> update_cspmgcp_service_accounts_ext(body) + +Patches the service account key for external clients. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CspmRegistrationApi.new +body = Falcon::RegistrationGCPServiceAccountPatchRequestV1.new({resources: [Falcon::RegistrationGCPServiceAccountPatchV1.new]}) # RegistrationGCPServiceAccountPatchRequestV1 | + +begin + # Patches the service account key for external clients. + result = api_instance.update_cspmgcp_service_accounts_ext(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling CspmRegistrationApi->update_cspmgcp_service_accounts_ext: #{e}" +end +``` + +#### Using the update_cspmgcp_service_accounts_ext_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> update_cspmgcp_service_accounts_ext_with_http_info(body) + +```ruby +begin + # Patches the service account key for external clients. + data, status_code, headers = api_instance.update_cspmgcp_service_accounts_ext_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CspmRegistrationApi->update_cspmgcp_service_accounts_ext_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**RegistrationGCPServiceAccountPatchRequestV1**](RegistrationGCPServiceAccountPatchRequestV1.md) | | | + +### Return type + +[**RegistrationGCPServiceAccountResponseExtV1**](RegistrationGCPServiceAccountResponseExtV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## validate_cspmgcp_service_account_ext + +> validate_cspmgcp_service_account_ext(body) + +Validates credentials for a service account + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CspmRegistrationApi.new +body = Falcon::RegistrationGCPServiceAccountValidationRequestV1.new({resources: [Falcon::RegistrationGCPServiceAccountValidationRequestObjV1.new]}) # RegistrationGCPServiceAccountValidationRequestV1 | + +begin + # Validates credentials for a service account + result = api_instance.validate_cspmgcp_service_account_ext(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling CspmRegistrationApi->validate_cspmgcp_service_account_ext: #{e}" +end +``` + +#### Using the validate_cspmgcp_service_account_ext_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> validate_cspmgcp_service_account_ext_with_http_info(body) + +```ruby +begin + # Validates credentials for a service account + data, status_code, headers = api_instance.validate_cspmgcp_service_account_ext_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CspmRegistrationApi->validate_cspmgcp_service_account_ext_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**RegistrationGCPServiceAccountValidationRequestV1**](RegistrationGCPServiceAccountValidationRequestV1.md) | | | + +### Return type + +[**RegistrationGCPServiceAccountValidationResponseV1**](RegistrationGCPServiceAccountValidationResponseV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + diff --git a/docs/CustomIoaApi.md b/docs/CustomIoaApi.md index fdc82abf..81d27f7a 100644 --- a/docs/CustomIoaApi.md +++ b/docs/CustomIoaApi.md @@ -1,13 +1,13 @@ # Falcon::CustomIoaApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | | [**create_rule**](CustomIoaApi.md#create_rule) | **POST** /ioarules/entities/rules/v1 | Create a rule within a rule group. Returns the rule. | | [**create_rule_group_mixin0**](CustomIoaApi.md#create_rule_group_mixin0) | **POST** /ioarules/entities/rule-groups/v1 | Create a rule group for a platform with a name and an optional description. Returns the rule group. | | [**delete_rule_groups_mixin0**](CustomIoaApi.md#delete_rule_groups_mixin0) | **DELETE** /ioarules/entities/rule-groups/v1 | Delete rule groups by ID. | -| [**delete_rules**](CustomIoaApi.md#delete_rules) | **DELETE** /ioarules/entities/rules/v1 | Delete rules from a rule group by ID. | +| [**delete_rules_0**](CustomIoaApi.md#delete_rules_0) | **DELETE** /ioarules/entities/rules/v1 | Delete rules from a rule group by ID. | | [**get_patterns**](CustomIoaApi.md#get_patterns) | **GET** /ioarules/entities/pattern-severities/v1 | Get pattern severities by ID. | | [**get_platforms_mixin0**](CustomIoaApi.md#get_platforms_mixin0) | **GET** /ioarules/entities/platforms/v1 | Get platforms by ID. | | [**get_rule_groups_mixin0**](CustomIoaApi.md#get_rule_groups_mixin0) | **GET** /ioarules/entities/rule-groups/v1 | Get rule groups by ID. | @@ -21,7 +21,8 @@ All URIs are relative to *https://api.crowdstrike.com* | [**query_rule_types**](CustomIoaApi.md#query_rule_types) | **GET** /ioarules/queries/rule-types/v1 | Get all rule type IDs. | | [**query_rules_mixin0**](CustomIoaApi.md#query_rules_mixin0) | **GET** /ioarules/queries/rules/v1 | Finds all rule IDs matching the query with optional filter. | | [**update_rule_group_mixin0**](CustomIoaApi.md#update_rule_group_mixin0) | **PATCH** /ioarules/entities/rule-groups/v1 | Update a rule group. The following properties can be modified: name, description, enabled. | -| [**update_rules**](CustomIoaApi.md#update_rules) | **PATCH** /ioarules/entities/rules/v1 | Update rules within a rule group. Return the updated rules. | +| [**update_rules_0**](CustomIoaApi.md#update_rules_0) | **PATCH** /ioarules/entities/rules/v1 | Update rules within a rule group. Return the updated rules. | +| [**update_rules_v2**](CustomIoaApi.md#update_rules_v2) | **PATCH** /ioarules/entities/rules/v2 | Update name, description, enabled or field_values for individual rules within a rule group. The v1 flavor of this call requires the caller to specify the complete state for all the rules in the rule group, instead the v2 flavor will accept the subset of rules in the rule group and apply the attribute updates to the subset of rules in the rule group.Return the updated rules. | | [**validate**](CustomIoaApi.md#validate) | **POST** /ioarules/entities/rules/validate/v1 | Validates field values and checks for matches if a test string is provided. | @@ -236,9 +237,9 @@ end - **Accept**: application/json -## delete_rules +## delete_rules_0 -> delete_rules(rule_group_id, ids, opts) +> delete_rules_0(rule_group_id, ids, opts) Delete rules from a rule group by ID. @@ -264,28 +265,28 @@ opts = { begin # Delete rules from a rule group by ID. - result = api_instance.delete_rules(rule_group_id, ids, opts) + result = api_instance.delete_rules_0(rule_group_id, ids, opts) p result rescue Falcon::ApiError => e - puts "Error when calling CustomIoaApi->delete_rules: #{e}" + puts "Error when calling CustomIoaApi->delete_rules_0: #{e}" end ``` -#### Using the delete_rules_with_http_info variant +#### Using the delete_rules_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> delete_rules_with_http_info(rule_group_id, ids, opts) +> , Integer, Hash)> delete_rules_0_with_http_info(rule_group_id, ids, opts) ```ruby begin # Delete rules from a rule group by ID. - data, status_code, headers = api_instance.delete_rules_with_http_info(rule_group_id, ids, opts) + data, status_code, headers = api_instance.delete_rules_0_with_http_info(rule_group_id, ids, opts) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling CustomIoaApi->delete_rules_with_http_info: #{e}" + puts "Error when calling CustomIoaApi->delete_rules_0_with_http_info: #{e}" end ``` @@ -873,7 +874,7 @@ end ## query_rule_groups_full -> query_rule_groups_full(opts) +> query_rule_groups_full(opts) Find all rule groups matching the query with optional filter. @@ -892,7 +893,7 @@ end api_instance = Falcon::CustomIoaApi.new opts = { - sort: 'created_by', # String | Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} + sort: 'created_by', # String | Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} filter: 'filter_example', # String | FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. q: 'q_example', # String | Match query criteria, which includes all the filter string fields offset: 'offset_example', # String | Starting index of overall result set from which to return IDs @@ -912,7 +913,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_rule_groups_full_with_http_info(opts) +> , Integer, Hash)> query_rule_groups_full_with_http_info(opts) ```ruby begin @@ -920,7 +921,7 @@ begin data, status_code, headers = api_instance.query_rule_groups_full_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling CustomIoaApi->query_rule_groups_full_with_http_info: #{e}" end @@ -930,7 +931,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **sort** | **String** | Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} | [optional] | +| **sort** | **String** | Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} | [optional] | | **filter** | **String** | FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. | [optional] | | **q** | **String** | Match query criteria, which includes all the filter string fields | [optional] | | **offset** | **String** | Starting index of overall result set from which to return IDs | [optional] | @@ -938,7 +939,7 @@ end ### Return type -[**MsaQueryResponse**](MsaQueryResponse.md) +[**ApiRuleGroupsResponse**](ApiRuleGroupsResponse.md) ### Authorization @@ -971,7 +972,7 @@ end api_instance = Falcon::CustomIoaApi.new opts = { - sort: 'created_by', # String | Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} + sort: 'created_by', # String | Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} filter: 'filter_example', # String | FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. q: 'q_example', # String | Match query criteria, which includes all the filter string fields offset: 'offset_example', # String | Starting index of overall result set from which to return IDs @@ -1009,7 +1010,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **sort** | **String** | Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} | [optional] | +| **sort** | **String** | Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} | [optional] | | **filter** | **String** | FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. | [optional] | | **q** | **String** | Match query criteria, which includes all the filter string fields | [optional] | | **offset** | **String** | Starting index of overall result set from which to return IDs | [optional] | @@ -1123,7 +1124,7 @@ end api_instance = Falcon::CustomIoaApi.new opts = { - sort: 'rules.created_by', # String | Possible order by fields: {rules.current_version.description, rules.current_version.action_label, rules.current_version.modified_on, rules.created_on, rules.current_version.name, rules.created_by, rules.current_version.pattern_severity, rules.current_version.modified_by, rules.ruletype_name, rules.enabled} + sort: 'rules.created_by', # String | Possible order by fields: {rules.created_by, rules.created_on, rules.current_version.action_label, rules.current_version.description, rules.current_version.modified_by, rules.current_version.modified_on, rules.current_version.name, rules.current_version.pattern_severity, rules.enabled, rules.ruletype_name} filter: 'filter_example', # String | FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. q: 'q_example', # String | Match query criteria, which includes all the filter string fields offset: 'offset_example', # String | Starting index of overall result set from which to return IDs @@ -1161,7 +1162,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **sort** | **String** | Possible order by fields: {rules.current_version.description, rules.current_version.action_label, rules.current_version.modified_on, rules.created_on, rules.current_version.name, rules.created_by, rules.current_version.pattern_severity, rules.current_version.modified_by, rules.ruletype_name, rules.enabled} | [optional] | +| **sort** | **String** | Possible order by fields: {rules.created_by, rules.created_on, rules.current_version.action_label, rules.current_version.description, rules.current_version.modified_by, rules.current_version.modified_on, rules.current_version.name, rules.current_version.pattern_severity, rules.enabled, rules.ruletype_name} | [optional] | | **filter** | **String** | FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. | [optional] | | **q** | **String** | Match query criteria, which includes all the filter string fields | [optional] | | **offset** | **String** | Starting index of overall result set from which to return IDs | [optional] | @@ -1250,9 +1251,9 @@ end - **Accept**: application/json -## update_rules +## update_rules_0 -> update_rules(body) +> update_rules_0(body) Update rules within a rule group. Return the updated rules. @@ -1274,28 +1275,28 @@ body = Falcon::ApiRuleUpdatesRequestV1.new({comment: 'comment_example', rule_upd begin # Update rules within a rule group. Return the updated rules. - result = api_instance.update_rules(body) + result = api_instance.update_rules_0(body) p result rescue Falcon::ApiError => e - puts "Error when calling CustomIoaApi->update_rules: #{e}" + puts "Error when calling CustomIoaApi->update_rules_0: #{e}" end ``` -#### Using the update_rules_with_http_info variant +#### Using the update_rules_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> update_rules_with_http_info(body) +> , Integer, Hash)> update_rules_0_with_http_info(body) ```ruby begin # Update rules within a rule group. Return the updated rules. - data, status_code, headers = api_instance.update_rules_with_http_info(body) + data, status_code, headers = api_instance.update_rules_0_with_http_info(body) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling CustomIoaApi->update_rules_with_http_info: #{e}" + puts "Error when calling CustomIoaApi->update_rules_0_with_http_info: #{e}" end ``` @@ -1319,6 +1320,75 @@ end - **Accept**: application/json +## update_rules_v2 + +> update_rules_v2(body) + +Update name, description, enabled or field_values for individual rules within a rule group. The v1 flavor of this call requires the caller to specify the complete state for all the rules in the rule group, instead the v2 flavor will accept the subset of rules in the rule group and apply the attribute updates to the subset of rules in the rule group.Return the updated rules. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CustomIoaApi.new +body = Falcon::ApiRuleUpdatesRequestV2.new({comment: 'comment_example', rule_updates: [Falcon::ApiRuleUpdateV2.new({description: 'description_example', disposition_id: 37, enabled: false, field_values: [Falcon::DomainFieldValue.new({name: 'name_example', type: 'type_example', value: 'value_example', values: [Falcon::DomainValueItem.new({label: 'label_example', value: 'value_example'})]})], instance_id: 'instance_id_example', name: 'name_example', pattern_severity: 'pattern_severity_example', rulegroup_version: 3.56})], rulegroup_id: 'rulegroup_id_example', rulegroup_version: 3.56}) # ApiRuleUpdatesRequestV2 | + +begin + # Update name, description, enabled or field_values for individual rules within a rule group. The v1 flavor of this call requires the caller to specify the complete state for all the rules in the rule group, instead the v2 flavor will accept the subset of rules in the rule group and apply the attribute updates to the subset of rules in the rule group.Return the updated rules. + result = api_instance.update_rules_v2(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling CustomIoaApi->update_rules_v2: #{e}" +end +``` + +#### Using the update_rules_v2_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> update_rules_v2_with_http_info(body) + +```ruby +begin + # Update name, description, enabled or field_values for individual rules within a rule group. The v1 flavor of this call requires the caller to specify the complete state for all the rules in the rule group, instead the v2 flavor will accept the subset of rules in the rule group and apply the attribute updates to the subset of rules in the rule group.Return the updated rules. + data, status_code, headers = api_instance.update_rules_v2_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CustomIoaApi->update_rules_v2_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ApiRuleUpdatesRequestV2**](ApiRuleUpdatesRequestV2.md) | | | + +### Return type + +[**ApiRulesResponse**](ApiRulesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + ## validate > validate(body) diff --git a/docs/CustomStorageApi.md b/docs/CustomStorageApi.md index 8556bd36..b1c3193c 100644 --- a/docs/CustomStorageApi.md +++ b/docs/CustomStorageApi.md @@ -1,20 +1,26 @@ # Falcon::CustomStorageApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | | [**delete_object**](CustomStorageApi.md#delete_object) | **DELETE** /customobjects/v1/collections/{collection_name}/objects/{object_key} | Delete the specified object | +| [**delete_versioned_object**](CustomStorageApi.md#delete_versioned_object) | **DELETE** /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key} | Delete the specified versioned object | | [**get_object**](CustomStorageApi.md#get_object) | **GET** /customobjects/v1/collections/{collection_name}/objects/{object_key} | Get the bytes for the specified object | | [**get_object_metadata**](CustomStorageApi.md#get_object_metadata) | **GET** /customobjects/v1/collections/{collection_name}/objects/{object_key}/metadata | Get the metadata for the specified object | +| [**get_versioned_object**](CustomStorageApi.md#get_versioned_object) | **GET** /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key} | Get the bytes for the specified object | +| [**get_versioned_object_metadata**](CustomStorageApi.md#get_versioned_object_metadata) | **GET** /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}/metadata | Get the metadata for the specified object | | [**list_objects**](CustomStorageApi.md#list_objects) | **GET** /customobjects/v1/collections/{collection_name}/objects | List the object keys in the specified collection in alphabetical order | +| [**list_objects_by_version**](CustomStorageApi.md#list_objects_by_version) | **GET** /customobjects/v1/collections/{collection_name}/{collection_version}/objects | List the object keys in the specified collection in alphabetical order | | [**put_object**](CustomStorageApi.md#put_object) | **PUT** /customobjects/v1/collections/{collection_name}/objects/{object_key} | Put the specified new object at the given key or overwrite an existing object at the given key | +| [**put_object_by_version**](CustomStorageApi.md#put_object_by_version) | **PUT** /customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key} | Put the specified new object at the given key or overwrite an existing object at the given key | | [**search_objects**](CustomStorageApi.md#search_objects) | **POST** /customobjects/v1/collections/{collection_name}/objects | Search for objects that match the specified filter criteria (returns metadata, not actual objects) | +| [**search_objects_by_version**](CustomStorageApi.md#search_objects_by_version) | **POST** /customobjects/v1/collections/{collection_name}/{collection_version}/objects | Search for objects that match the specified filter criteria (returns metadata, not actual objects) | ## delete_object -> delete_object(collection_name, object_key, opts) +> delete_object(collection_name, object_key, opts) Delete the specified object @@ -51,7 +57,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> delete_object_with_http_info(collection_name, object_key, opts) +> , Integer, Hash)> delete_object_with_http_info(collection_name, object_key, opts) ```ruby begin @@ -59,7 +65,7 @@ begin data, status_code, headers = api_instance.delete_object_with_http_info(collection_name, object_key, opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling CustomStorageApi->delete_object_with_http_info: #{e}" end @@ -75,6 +81,83 @@ end ### Return type +[**CustomStorageResponse**](CustomStorageResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## delete_versioned_object + +> delete_versioned_object(collection_name, collection_version, object_key, opts) + +Delete the specified versioned object + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CustomStorageApi.new +collection_name = 'collection_name_example' # String | The name of the collection +collection_version = 'collection_version_example' # String | The version of the collection +object_key = 'object_key_example' # String | The object key +opts = { + dry_run: true # Boolean | If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. +} + +begin + # Delete the specified versioned object + result = api_instance.delete_versioned_object(collection_name, collection_version, object_key, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->delete_versioned_object: #{e}" +end +``` + +#### Using the delete_versioned_object_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> delete_versioned_object_with_http_info(collection_name, collection_version, object_key, opts) + +```ruby +begin + # Delete the specified versioned object + data, status_code, headers = api_instance.delete_versioned_object_with_http_info(collection_name, collection_version, object_key, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->delete_versioned_object_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **collection_name** | **String** | The name of the collection | | +| **collection_version** | **String** | The version of the collection | | +| **object_key** | **String** | The object key | | +| **dry_run** | **Boolean** | If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. | [optional] | + +### Return type + [**CustomType3191042536**](CustomType3191042536.md) ### Authorization @@ -160,7 +243,7 @@ end ## get_object_metadata -> get_object_metadata(collection_name, object_key) +> get_object_metadata(collection_name, object_key) Get the metadata for the specified object @@ -194,7 +277,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_object_metadata_with_http_info(collection_name, object_key) +> , Integer, Hash)> get_object_metadata_with_http_info(collection_name, object_key) ```ruby begin @@ -202,7 +285,7 @@ begin data, status_code, headers = api_instance.get_object_metadata_with_http_info(collection_name, object_key) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling CustomStorageApi->get_object_metadata_with_http_info: #{e}" end @@ -217,6 +300,152 @@ end ### Return type +[**CustomStorageResponse**](CustomStorageResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_versioned_object + +> File get_versioned_object(collection_name, collection_version, object_key) + +Get the bytes for the specified object + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CustomStorageApi.new +collection_name = 'collection_name_example' # String | The name of the collection +collection_version = 'collection_version_example' # String | The version of the collection +object_key = 'object_key_example' # String | The object key + +begin + # Get the bytes for the specified object + result = api_instance.get_versioned_object(collection_name, collection_version, object_key) + p result +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->get_versioned_object: #{e}" +end +``` + +#### Using the get_versioned_object_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> get_versioned_object_with_http_info(collection_name, collection_version, object_key) + +```ruby +begin + # Get the bytes for the specified object + data, status_code, headers = api_instance.get_versioned_object_with_http_info(collection_name, collection_version, object_key) + p status_code # => 2xx + p headers # => { ... } + p data # => File +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->get_versioned_object_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **collection_name** | **String** | The name of the collection | | +| **collection_version** | **String** | The version of the collection | | +| **object_key** | **String** | The object key | | + +### Return type + +**File** + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/octet-stream, application/json + + +## get_versioned_object_metadata + +> get_versioned_object_metadata(collection_name, collection_version, object_key) + +Get the metadata for the specified object + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CustomStorageApi.new +collection_name = 'collection_name_example' # String | The name of the collection +collection_version = 'collection_version_example' # String | The version of the collection +object_key = 'object_key_example' # String | The object key + +begin + # Get the metadata for the specified object + result = api_instance.get_versioned_object_metadata(collection_name, collection_version, object_key) + p result +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->get_versioned_object_metadata: #{e}" +end +``` + +#### Using the get_versioned_object_metadata_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_versioned_object_metadata_with_http_info(collection_name, collection_version, object_key) + +```ruby +begin + # Get the metadata for the specified object + data, status_code, headers = api_instance.get_versioned_object_metadata_with_http_info(collection_name, collection_version, object_key) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->get_versioned_object_metadata_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **collection_name** | **String** | The name of the collection | | +| **collection_version** | **String** | The version of the collection | | +| **object_key** | **String** | The object key | | + +### Return type + [**CustomType3191042536**](CustomType3191042536.md) ### Authorization @@ -231,7 +460,7 @@ end ## list_objects -> list_objects(collection_name, opts) +> list_objects(collection_name, opts) List the object keys in the specified collection in alphabetical order @@ -269,7 +498,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> list_objects_with_http_info(collection_name, opts) +> , Integer, Hash)> list_objects_with_http_info(collection_name, opts) ```ruby begin @@ -277,7 +506,7 @@ begin data, status_code, headers = api_instance.list_objects_with_http_info(collection_name, opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling CustomStorageApi->list_objects_with_http_info: #{e}" end @@ -294,6 +523,85 @@ end ### Return type +[**CustomStorageObjectKeys**](CustomStorageObjectKeys.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## list_objects_by_version + +> list_objects_by_version(collection_name, collection_version, opts) + +List the object keys in the specified collection in alphabetical order + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CustomStorageApi.new +collection_name = 'collection_name_example' # String | The name of the collection +collection_version = 'collection_version_example' # String | The version of the collection +opts = { + _end: '_end_example', # String | The end key to end listing to + limit: 56, # Integer | The limit of results to return + start: 'start_example' # String | The start key to start listing from +} + +begin + # List the object keys in the specified collection in alphabetical order + result = api_instance.list_objects_by_version(collection_name, collection_version, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->list_objects_by_version: #{e}" +end +``` + +#### Using the list_objects_by_version_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> list_objects_by_version_with_http_info(collection_name, collection_version, opts) + +```ruby +begin + # List the object keys in the specified collection in alphabetical order + data, status_code, headers = api_instance.list_objects_by_version_with_http_info(collection_name, collection_version, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->list_objects_by_version_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **collection_name** | **String** | The name of the collection | | +| **collection_version** | **String** | The version of the collection | | +| **_end** | **String** | The end key to end listing to | [optional] | +| **limit** | **Integer** | The limit of results to return | [optional] | +| **start** | **String** | The start key to start listing from | [optional] | + +### Return type + [**CustomType1255839303**](CustomType1255839303.md) ### Authorization @@ -308,7 +616,7 @@ end ## put_object -> put_object(collection_name, object_key, body, opts) +> put_object(collection_name, object_key, body, opts) Put the specified new object at the given key or overwrite an existing object at the given key @@ -347,7 +655,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> put_object_with_http_info(collection_name, object_key, body, opts) +> , Integer, Hash)> put_object_with_http_info(collection_name, object_key, body, opts) ```ruby begin @@ -355,7 +663,7 @@ begin data, status_code, headers = api_instance.put_object_with_http_info(collection_name, object_key, body, opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling CustomStorageApi->put_object_with_http_info: #{e}" end @@ -373,6 +681,85 @@ end ### Return type +[**CustomStorageResponse**](CustomStorageResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/octet-stream, application/json +- **Accept**: application/json + + +## put_object_by_version + +> put_object_by_version(collection_name, collection_version, object_key, body, opts) + +Put the specified new object at the given key or overwrite an existing object at the given key + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CustomStorageApi.new +collection_name = 'collection_name_example' # String | The name of the collection +collection_version = 'collection_version_example' # String | The version of the collection +object_key = 'object_key_example' # String | The object key +body = File.new('/path/to/some/file') # File | +opts = { + dry_run: true # Boolean | If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. +} + +begin + # Put the specified new object at the given key or overwrite an existing object at the given key + result = api_instance.put_object_by_version(collection_name, collection_version, object_key, body, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->put_object_by_version: #{e}" +end +``` + +#### Using the put_object_by_version_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> put_object_by_version_with_http_info(collection_name, collection_version, object_key, body, opts) + +```ruby +begin + # Put the specified new object at the given key or overwrite an existing object at the given key + data, status_code, headers = api_instance.put_object_by_version_with_http_info(collection_name, collection_version, object_key, body, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->put_object_by_version_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **collection_name** | **String** | The name of the collection | | +| **collection_version** | **String** | The version of the collection | | +| **object_key** | **String** | The object key | | +| **body** | **File** | | | +| **dry_run** | **Boolean** | If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. | [optional] | + +### Return type + [**CustomType3191042536**](CustomType3191042536.md) ### Authorization @@ -387,7 +774,7 @@ end ## search_objects -> search_objects(collection_name, filter, opts) +> search_objects(collection_name, filter, opts) Search for objects that match the specified filter criteria (returns metadata, not actual objects) @@ -426,7 +813,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> search_objects_with_http_info(collection_name, filter, opts) +> , Integer, Hash)> search_objects_with_http_info(collection_name, filter, opts) ```ruby begin @@ -434,7 +821,7 @@ begin data, status_code, headers = api_instance.search_objects_with_http_info(collection_name, filter, opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling CustomStorageApi->search_objects_with_http_info: #{e}" end @@ -452,6 +839,87 @@ end ### Return type +[**CustomStorageResponse**](CustomStorageResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## search_objects_by_version + +> search_objects_by_version(collection_name, collection_version, filter, opts) + +Search for objects that match the specified filter criteria (returns metadata, not actual objects) + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::CustomStorageApi.new +collection_name = 'collection_name_example' # String | The name of the collection +collection_version = 'collection_version_example' # String | The version of the collection +filter = 'filter_example' # String | The filter to limit the returned results. +opts = { + limit: 56, # Integer | The limit of results to return + offset: 56, # Integer | The offset of results to return + sort: 'sort_example' # String | The sort order for the returned results. +} + +begin + # Search for objects that match the specified filter criteria (returns metadata, not actual objects) + result = api_instance.search_objects_by_version(collection_name, collection_version, filter, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->search_objects_by_version: #{e}" +end +``` + +#### Using the search_objects_by_version_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> search_objects_by_version_with_http_info(collection_name, collection_version, filter, opts) + +```ruby +begin + # Search for objects that match the specified filter criteria (returns metadata, not actual objects) + data, status_code, headers = api_instance.search_objects_by_version_with_http_info(collection_name, collection_version, filter, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling CustomStorageApi->search_objects_by_version_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **collection_name** | **String** | The name of the collection | | +| **collection_version** | **String** | The version of the collection | | +| **filter** | **String** | The filter to limit the returned results. | | +| **limit** | **Integer** | The limit of results to return | [optional] | +| **offset** | **Integer** | The offset of results to return | [optional] | +| **sort** | **String** | The sort order for the returned results. | [optional] | + +### Return type + [**CustomType3191042536**](CustomType3191042536.md) ### Authorization diff --git a/docs/CustomType1255839303.md b/docs/CustomStorageObjectKeys.md similarity index 66% rename from docs/CustomType1255839303.md rename to docs/CustomStorageObjectKeys.md index 4840c5b1..f203856e 100644 --- a/docs/CustomType1255839303.md +++ b/docs/CustomStorageObjectKeys.md @@ -1,10 +1,10 @@ -# Falcon::CustomType1255839303 +# Falcon::CustomStorageObjectKeys ## Properties | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**ApiMetaInfo**](ApiMetaInfo.md) | | | | **resources** | **Array<String>** | | | @@ -13,7 +13,7 @@ ```ruby require 'crimson-falcon' -instance = Falcon::CustomType1255839303.new( +instance = Falcon::CustomStorageObjectKeys.new( errors: null, meta: null, resources: null diff --git a/docs/CustomType3191042536.md b/docs/CustomStorageResponse.md similarity index 69% rename from docs/CustomType3191042536.md rename to docs/CustomStorageResponse.md index 75dfbb6e..3ed83723 100644 --- a/docs/CustomType3191042536.md +++ b/docs/CustomStorageResponse.md @@ -1,10 +1,10 @@ -# Falcon::CustomType3191042536 +# Falcon::CustomStorageResponse ## Properties | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**ApiMetaInfo**](ApiMetaInfo.md) | | | | **resources** | [**Array<ApiObjectMetadata>**](ApiObjectMetadata.md) | | | @@ -13,7 +13,7 @@ ```ruby require 'crimson-falcon' -instance = Falcon::CustomType3191042536.new( +instance = Falcon::CustomStorageResponse.new( errors: null, meta: null, resources: null diff --git a/docs/D4cRegistrationApi.md b/docs/D4cRegistrationApi.md index cd20f213..6568bf21 100644 --- a/docs/D4cRegistrationApi.md +++ b/docs/D4cRegistrationApi.md @@ -1,28 +1,29 @@ # Falcon::D4cRegistrationApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | | [**connect_d4_cgcp_account**](D4cRegistrationApi.md#connect_d4_cgcp_account) | **POST** /cloud-connect-gcp/entities/account/v2 | Creates a new GCP account with newly-uploaded service account or connects with existing service account with only the following fields: parent_id, parent_type and service_account_id | | [**create_d4_c_aws_account**](D4cRegistrationApi.md#create_d4_c_aws_account) | **POST** /cloud-connect-aws/entities/account/v2 | Creates a new account in our system for a customer and generates a script for them to run in their AWS cloud environment to grant us access. | -| [**create_d4_cgcp_account**](D4cRegistrationApi.md#create_d4_cgcp_account) | **POST** /cloud-connect-gcp/entities/account/v1 | Creates a new account in our system for a customer and generates a new service account for them to add access to in their GCP environment to grant us access. | +| [**create_d4_c_gcp_account**](D4cRegistrationApi.md#create_d4_c_gcp_account) | **POST** /cloud-connect-gcp/entities/account/v1 | Creates a new account in our system for a customer and generates a new service account for them to add access to in their GCP environment to grant us access. | | [**create_discover_cloud_azure_account**](D4cRegistrationApi.md#create_discover_cloud_azure_account) | **POST** /cloud-connect-azure/entities/account/v1 | Creates a new account in our system for a customer and generates a script for them to run in their cloud environment to grant us access. | | [**delete_d4_c_aws_account**](D4cRegistrationApi.md#delete_d4_c_aws_account) | **DELETE** /cloud-connect-aws/entities/account/v2 | Deletes an existing AWS account or organization in our system. | | [**delete_d4_cgcp_account**](D4cRegistrationApi.md#delete_d4_cgcp_account) | **DELETE** /cloud-connect-gcp/entities/account/v1 | Deletes a GCP account from the system. | | [**discover_cloud_azure_download_certificate**](D4cRegistrationApi.md#discover_cloud_azure_download_certificate) | **GET** /cloud-connect-azure/entities/download-certificate/v1 | Returns JSON object(s) that contain the base64 encoded certificate for a service principal. | | [**get_d4_c_aws_account**](D4cRegistrationApi.md#get_d4_c_aws_account) | **GET** /cloud-connect-aws/entities/account/v2 | Returns information about the current status of an AWS account. | | [**get_d4_c_aws_console_setup_urls**](D4cRegistrationApi.md#get_d4_c_aws_console_setup_urls) | **GET** /cloud-connect-aws/entities/console-setup-urls/v1 | Return a URL for customer to visit in their cloud environment to grant us access to their AWS environment. | +| [**get_d4_c_gcp_account**](D4cRegistrationApi.md#get_d4_c_gcp_account) | **GET** /cloud-connect-gcp/entities/account/v1 | Returns information about the current status of an GCP account. | +| [**get_d4_c_gcp_user_scripts**](D4cRegistrationApi.md#get_d4_c_gcp_user_scripts) | **GET** /cloud-connect-gcp/entities/user-scripts/v1 | Return a script for customer to run in their cloud environment to grant us access to their GCP environment | | [**get_d4_caws_account_scripts_attachment**](D4cRegistrationApi.md#get_d4_caws_account_scripts_attachment) | **GET** /cloud-connect-aws/entities/user-scripts-download/v1 | Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. | -| [**get_d4_ccgp_account**](D4cRegistrationApi.md#get_d4_ccgp_account) | **GET** /cloud-connect-gcp/entities/account/v1 | Returns information about the current status of an GCP account. | | [**get_d4_cgcp_service_accounts_ext**](D4cRegistrationApi.md#get_d4_cgcp_service_accounts_ext) | **GET** /cloud-connect-gcp/entities/service-accounts/v1 | Returns the service account id and client email for external clients. | -| [**get_d4_cgcp_user_scripts**](D4cRegistrationApi.md#get_d4_cgcp_user_scripts) | **GET** /cloud-connect-gcp/entities/user-scripts/v1 | Return a script for customer to run in their cloud environment to grant us access to their GCP environment | | [**get_d4_cgcp_user_scripts_attachment**](D4cRegistrationApi.md#get_d4_cgcp_user_scripts_attachment) | **GET** /cloud-connect-gcp/entities/user-scripts-download/v1 | Return a script for customer to run in their cloud environment to grant us access to their GCP environment as a downloadable attachment | | [**get_discover_cloud_azure_account**](D4cRegistrationApi.md#get_discover_cloud_azure_account) | **GET** /cloud-connect-azure/entities/account/v1 | Return information about Azure account registration | | [**get_discover_cloud_azure_tenant_ids**](D4cRegistrationApi.md#get_discover_cloud_azure_tenant_ids) | **GET** /cloud-connect-azure/entities/tenant-id/v1 | Return available tenant ids for discover for cloud | | [**get_discover_cloud_azure_user_scripts**](D4cRegistrationApi.md#get_discover_cloud_azure_user_scripts) | **GET** /cloud-connect-azure/entities/user-scripts/v1 | Return a script for customer to run in their cloud environment to grant us access to their Azure environment | | [**get_discover_cloud_azure_user_scripts_attachment**](D4cRegistrationApi.md#get_discover_cloud_azure_user_scripts_attachment) | **GET** /cloud-connect-azure/entities/user-scripts-download/v1 | Return a script for customer to run in their cloud environment to grant us access to their Azure environment as a downloadable attachment | | [**get_horizon_d4_c_scripts**](D4cRegistrationApi.md#get_horizon_d4_c_scripts) | **GET** /settings-discover/entities/gen/scripts/v1 | Returns static install scripts for Horizon. | +| [**update_d4_cgcp_service_accounts_ext**](D4cRegistrationApi.md#update_d4_cgcp_service_accounts_ext) | **PATCH** /cloud-connect-gcp/entities/service-accounts/v1 | Patches the service account key for external clients. | | [**update_discover_cloud_azure_account_client_id**](D4cRegistrationApi.md#update_discover_cloud_azure_account_client_id) | **PATCH** /cloud-connect-azure/entities/client-id/v1 | Update an Azure service account in our system by with the user-created client_id created with the public key we've provided | @@ -164,9 +165,9 @@ end - **Accept**: application/json -## create_d4_cgcp_account +## create_d4_c_gcp_account -> create_d4_cgcp_account(body) +> create_d4_c_gcp_account(body) Creates a new account in our system for a customer and generates a new service account for them to add access to in their GCP environment to grant us access. @@ -188,28 +189,28 @@ body = Falcon::RegistrationGCPAccountCreateRequestExtV1.new({resources: [Falcon: begin # Creates a new account in our system for a customer and generates a new service account for them to add access to in their GCP environment to grant us access. - result = api_instance.create_d4_cgcp_account(body) + result = api_instance.create_d4_c_gcp_account(body) p result rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->create_d4_cgcp_account: #{e}" + puts "Error when calling D4cRegistrationApi->create_d4_c_gcp_account: #{e}" end ``` -#### Using the create_d4_cgcp_account_with_http_info variant +#### Using the create_d4_c_gcp_account_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> create_d4_cgcp_account_with_http_info(body) +> , Integer, Hash)> create_d4_c_gcp_account_with_http_info(body) ```ruby begin # Creates a new account in our system for a customer and generates a new service account for them to add access to in their GCP environment to grant us access. - data, status_code, headers = api_instance.create_d4_cgcp_account_with_http_info(body) + data, status_code, headers = api_instance.create_d4_c_gcp_account_with_http_info(body) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->create_d4_cgcp_account_with_http_info: #{e}" + puts "Error when calling D4cRegistrationApi->create_d4_c_gcp_account_with_http_info: #{e}" end ``` @@ -606,7 +607,7 @@ end ## get_d4_c_aws_console_setup_urls -> get_d4_c_aws_console_setup_urls(opts) +> get_d4_c_aws_console_setup_urls(opts) Return a URL for customer to visit in their cloud environment to grant us access to their AWS environment. @@ -641,7 +642,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_d4_c_aws_console_setup_urls_with_http_info(opts) +> , Integer, Hash)> get_d4_c_aws_console_setup_urls_with_http_info(opts) ```ruby begin @@ -649,7 +650,7 @@ begin data, status_code, headers = api_instance.get_d4_c_aws_console_setup_urls_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling D4cRegistrationApi->get_d4_c_aws_console_setup_urls_with_http_info: #{e}" end @@ -663,7 +664,7 @@ end ### Return type -[**RegistrationAWSAccountConsoleURL**](RegistrationAWSAccountConsoleURL.md) +[**RegistrationAWSConsoleURLResponseV2**](RegistrationAWSConsoleURLResponseV2.md) ### Authorization @@ -675,11 +676,11 @@ end - **Accept**: application/json -## get_d4_caws_account_scripts_attachment +## get_d4_c_gcp_account -> get_d4_caws_account_scripts_attachment(opts) +> get_d4_c_gcp_account(opts) -Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. +Returns information about the current status of an GCP account. ### Examples @@ -696,33 +697,39 @@ end api_instance = Falcon::D4cRegistrationApi.new opts = { - ids: ['inner_example'] # Array | AWS account IDs + parent_type: 'Folder', # String | GCP Hierarchy Parent Type, organization/folder/project + ids: ['inner_example'], # Array | Hierarchical Resource IDs of accounts + scan_type: 'dry', # String | Type of scan, dry or full, to perform on selected accounts + status: 'operational', # String | Account status to filter results by. + limit: 56, # Integer | The maximum records to return. Defaults to 100. + offset: 56, # Integer | The offset to start retrieving records from + sort: 'sort_example' # String | Order fields in ascending or descending order. Ex: parent_type|asc. } begin - # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. - result = api_instance.get_d4_caws_account_scripts_attachment(opts) + # Returns information about the current status of an GCP account. + result = api_instance.get_d4_c_gcp_account(opts) p result rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->get_d4_caws_account_scripts_attachment: #{e}" + puts "Error when calling D4cRegistrationApi->get_d4_c_gcp_account: #{e}" end ``` -#### Using the get_d4_caws_account_scripts_attachment_with_http_info variant +#### Using the get_d4_c_gcp_account_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_d4_caws_account_scripts_attachment_with_http_info(opts) +> , Integer, Hash)> get_d4_c_gcp_account_with_http_info(opts) ```ruby begin - # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. - data, status_code, headers = api_instance.get_d4_caws_account_scripts_attachment_with_http_info(opts) + # Returns information about the current status of an GCP account. + data, status_code, headers = api_instance.get_d4_c_gcp_account_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->get_d4_caws_account_scripts_attachment_with_http_info: #{e}" + puts "Error when calling D4cRegistrationApi->get_d4_c_gcp_account_with_http_info: #{e}" end ``` @@ -730,11 +737,17 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **ids** | [**Array<String>**](String.md) | AWS account IDs | [optional] | +| **parent_type** | **String** | GCP Hierarchy Parent Type, organization/folder/project | [optional] | +| **ids** | [**Array<String>**](String.md) | Hierarchical Resource IDs of accounts | [optional] | +| **scan_type** | **String** | Type of scan, dry or full, to perform on selected accounts | [optional] | +| **status** | **String** | Account status to filter results by. | [optional] | +| **limit** | **Integer** | The maximum records to return. Defaults to 100. | [optional][default to 100] | +| **offset** | **Integer** | The offset to start retrieving records from | [optional] | +| **sort** | **String** | Order fields in ascending or descending order. Ex: parent_type|asc. | [optional] | ### Return type -[**RegistrationAWSProvisionGetAccountScriptResponseV2**](RegistrationAWSProvisionGetAccountScriptResponseV2.md) +[**RegistrationGCPAccountResponseV1**](RegistrationGCPAccountResponseV1.md) ### Authorization @@ -743,14 +756,14 @@ end ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json, application/octet-stream +- **Accept**: application/json -## get_d4_ccgp_account +## get_d4_c_gcp_user_scripts -> get_d4_ccgp_account(opts) +> get_d4_c_gcp_user_scripts(opts) -Returns information about the current status of an GCP account. +Return a script for customer to run in their cloud environment to grant us access to their GCP environment ### Examples @@ -767,39 +780,33 @@ end api_instance = Falcon::D4cRegistrationApi.new opts = { - parent_type: 'Folder', # String | GCP Hierarchy Parent Type, organization/folder/project - ids: ['inner_example'], # Array | Hierarchical Resource IDs of accounts - scan_type: 'dry', # String | Type of scan, dry or full, to perform on selected accounts - status: 'operational', # String | Account status to filter results by. - limit: 56, # Integer | The maximum records to return. Defaults to 100. - offset: 56, # Integer | The offset to start retrieving records from - sort: 'sort_example' # String | Order fields in ascending or descending order. Ex: parent_type|asc. + parent_type: 'Folder' # String | GCP Hierarchy Parent Type, organization/folder/project } begin - # Returns information about the current status of an GCP account. - result = api_instance.get_d4_ccgp_account(opts) + # Return a script for customer to run in their cloud environment to grant us access to their GCP environment + result = api_instance.get_d4_c_gcp_user_scripts(opts) p result rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->get_d4_ccgp_account: #{e}" + puts "Error when calling D4cRegistrationApi->get_d4_c_gcp_user_scripts: #{e}" end ``` -#### Using the get_d4_ccgp_account_with_http_info variant +#### Using the get_d4_c_gcp_user_scripts_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_d4_ccgp_account_with_http_info(opts) +> , Integer, Hash)> get_d4_c_gcp_user_scripts_with_http_info(opts) ```ruby begin - # Returns information about the current status of an GCP account. - data, status_code, headers = api_instance.get_d4_ccgp_account_with_http_info(opts) + # Return a script for customer to run in their cloud environment to grant us access to their GCP environment + data, status_code, headers = api_instance.get_d4_c_gcp_user_scripts_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->get_d4_ccgp_account_with_http_info: #{e}" + puts "Error when calling D4cRegistrationApi->get_d4_c_gcp_user_scripts_with_http_info: #{e}" end ``` @@ -808,16 +815,10 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **parent_type** | **String** | GCP Hierarchy Parent Type, organization/folder/project | [optional] | -| **ids** | [**Array<String>**](String.md) | Hierarchical Resource IDs of accounts | [optional] | -| **scan_type** | **String** | Type of scan, dry or full, to perform on selected accounts | [optional] | -| **status** | **String** | Account status to filter results by. | [optional] | -| **limit** | **Integer** | The maximum records to return. Defaults to 100. | [optional][default to 100] | -| **offset** | **Integer** | The offset to start retrieving records from | [optional] | -| **sort** | **String** | Order fields in ascending or descending order. Ex: parent_type|asc. | [optional] | ### Return type -[**RegistrationGCPAccountResponseV1**](RegistrationGCPAccountResponseV1.md) +[**RegistrationGCPProvisionGetUserScriptResponseV1**](RegistrationGCPProvisionGetUserScriptResponseV1.md) ### Authorization @@ -829,11 +830,11 @@ end - **Accept**: application/json -## get_d4_cgcp_service_accounts_ext +## get_d4_caws_account_scripts_attachment -> get_d4_cgcp_service_accounts_ext(opts) +> get_d4_caws_account_scripts_attachment(opts) -Returns the service account id and client email for external clients. +Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. ### Examples @@ -850,33 +851,44 @@ end api_instance = Falcon::D4cRegistrationApi.new opts = { - id: 'id_example' # String | Service Account ID + ids: ['inner_example'], # Array | AWS account IDs + template: 'aws-bash', # String | Template to be rendered + accounts: ['inner_example'], # Array | The list of accounts to register + behavior_assessment_enabled: 'true', # String | + sensor_management_enabled: 'true', # String | + dspm_enabled: 'true', # String | + dspm_regions: ['inner_example'], # Array | + dspm_role: 'dspm_role_example', # String | + use_existing_cloudtrail: 'true', # String | + organization_id: 'organization_id_example', # String | The AWS organization ID to be registered + aws_profile: 'aws_profile_example', # String | The AWS profile to be used during registration + custom_role_name: 'custom_role_name_example' # String | The custom IAM role to be used during registration } begin - # Returns the service account id and client email for external clients. - result = api_instance.get_d4_cgcp_service_accounts_ext(opts) + # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. + result = api_instance.get_d4_caws_account_scripts_attachment(opts) p result rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->get_d4_cgcp_service_accounts_ext: #{e}" + puts "Error when calling D4cRegistrationApi->get_d4_caws_account_scripts_attachment: #{e}" end ``` -#### Using the get_d4_cgcp_service_accounts_ext_with_http_info variant +#### Using the get_d4_caws_account_scripts_attachment_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_d4_cgcp_service_accounts_ext_with_http_info(opts) +> , Integer, Hash)> get_d4_caws_account_scripts_attachment_with_http_info(opts) ```ruby begin - # Returns the service account id and client email for external clients. - data, status_code, headers = api_instance.get_d4_cgcp_service_accounts_ext_with_http_info(opts) + # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. + data, status_code, headers = api_instance.get_d4_caws_account_scripts_attachment_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->get_d4_cgcp_service_accounts_ext_with_http_info: #{e}" + puts "Error when calling D4cRegistrationApi->get_d4_caws_account_scripts_attachment_with_http_info: #{e}" end ``` @@ -884,11 +896,22 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **id** | **String** | Service Account ID | [optional] | +| **ids** | [**Array<String>**](String.md) | AWS account IDs | [optional] | +| **template** | **String** | Template to be rendered | [optional][default to 'aws-bash'] | +| **accounts** | [**Array<String>**](String.md) | The list of accounts to register | [optional] | +| **behavior_assessment_enabled** | **String** | | [optional] | +| **sensor_management_enabled** | **String** | | [optional] | +| **dspm_enabled** | **String** | | [optional] | +| **dspm_regions** | [**Array<String>**](String.md) | | [optional] | +| **dspm_role** | **String** | | [optional] | +| **use_existing_cloudtrail** | **String** | | [optional] | +| **organization_id** | **String** | The AWS organization ID to be registered | [optional] | +| **aws_profile** | **String** | The AWS profile to be used during registration | [optional] | +| **custom_role_name** | **String** | The custom IAM role to be used during registration | [optional] | ### Return type -[**RegistrationGCPServiceAccountResponseExtV1**](RegistrationGCPServiceAccountResponseExtV1.md) +[**RegistrationAWSProvisionGetAccountScriptResponseV2**](RegistrationAWSProvisionGetAccountScriptResponseV2.md) ### Authorization @@ -897,14 +920,14 @@ end ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/json +- **Accept**: application/json, application/octet-stream -## get_d4_cgcp_user_scripts +## get_d4_cgcp_service_accounts_ext -> get_d4_cgcp_user_scripts(opts) +> get_d4_cgcp_service_accounts_ext(opts) -Return a script for customer to run in their cloud environment to grant us access to their GCP environment +Returns the service account id and client email for external clients. ### Examples @@ -921,33 +944,33 @@ end api_instance = Falcon::D4cRegistrationApi.new opts = { - parent_type: 'Folder' # String | GCP Hierarchy Parent Type, organization/folder/project + id: 'id_example' # String | Service Account ID } begin - # Return a script for customer to run in their cloud environment to grant us access to their GCP environment - result = api_instance.get_d4_cgcp_user_scripts(opts) + # Returns the service account id and client email for external clients. + result = api_instance.get_d4_cgcp_service_accounts_ext(opts) p result rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->get_d4_cgcp_user_scripts: #{e}" + puts "Error when calling D4cRegistrationApi->get_d4_cgcp_service_accounts_ext: #{e}" end ``` -#### Using the get_d4_cgcp_user_scripts_with_http_info variant +#### Using the get_d4_cgcp_service_accounts_ext_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_d4_cgcp_user_scripts_with_http_info(opts) +> , Integer, Hash)> get_d4_cgcp_service_accounts_ext_with_http_info(opts) ```ruby begin - # Return a script for customer to run in their cloud environment to grant us access to their GCP environment - data, status_code, headers = api_instance.get_d4_cgcp_user_scripts_with_http_info(opts) + # Returns the service account id and client email for external clients. + data, status_code, headers = api_instance.get_d4_cgcp_service_accounts_ext_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e - puts "Error when calling D4cRegistrationApi->get_d4_cgcp_user_scripts_with_http_info: #{e}" + puts "Error when calling D4cRegistrationApi->get_d4_cgcp_service_accounts_ext_with_http_info: #{e}" end ``` @@ -955,11 +978,11 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **parent_type** | **String** | GCP Hierarchy Parent Type, organization/folder/project | [optional] | +| **id** | **String** | Service Account ID | [optional] | ### Return type -[**RegistrationGCPProvisionGetUserScriptResponseV1**](RegistrationGCPProvisionGetUserScriptResponseV1.md) +[**RegistrationGCPServiceAccountResponseExtV1**](RegistrationGCPServiceAccountResponseExtV1.md) ### Authorization @@ -1413,6 +1436,75 @@ end - **Accept**: application/json +## update_d4_cgcp_service_accounts_ext + +> update_d4_cgcp_service_accounts_ext(body) + +Patches the service account key for external clients. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::D4cRegistrationApi.new +body = Falcon::RegistrationGCPServiceAccountPatchRequestV1.new({resources: [Falcon::RegistrationGCPServiceAccountPatchV1.new]}) # RegistrationGCPServiceAccountPatchRequestV1 | + +begin + # Patches the service account key for external clients. + result = api_instance.update_d4_cgcp_service_accounts_ext(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling D4cRegistrationApi->update_d4_cgcp_service_accounts_ext: #{e}" +end +``` + +#### Using the update_d4_cgcp_service_accounts_ext_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> update_d4_cgcp_service_accounts_ext_with_http_info(body) + +```ruby +begin + # Patches the service account key for external clients. + data, status_code, headers = api_instance.update_d4_cgcp_service_accounts_ext_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling D4cRegistrationApi->update_d4_cgcp_service_accounts_ext_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**RegistrationGCPServiceAccountPatchRequestV1**](RegistrationGCPServiceAccountPatchRequestV1.md) | | | + +### Return type + +[**RegistrationGCPServiceAccountResponseExtV1**](RegistrationGCPServiceAccountResponseExtV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + ## update_discover_cloud_azure_account_client_id > update_discover_cloud_azure_account_client_id(id, opts) diff --git a/docs/DatascannerApi.md b/docs/DatascannerApi.md new file mode 100644 index 00000000..60d65dc2 --- /dev/null +++ b/docs/DatascannerApi.md @@ -0,0 +1,222 @@ +# Falcon::DatascannerApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**get_data_scanner_tasks**](DatascannerApi.md#get_data_scanner_tasks) | **GET** /data-security-dspm/entities/scanner-tasks/v1 | | +| [**get_image_registry_credentials**](DatascannerApi.md#get_image_registry_credentials) | **GET** /data-security-dspm/entities/image-registry-credentials/v1 | | +| [**update_data_scanner_tasks**](DatascannerApi.md#update_data_scanner_tasks) | **PATCH** /data-security-dspm/entities/scanner-tasks/v1 | | + + +## get_data_scanner_tasks + +> Hash<String, String> get_data_scanner_tasks(x_scanner_id) + + + +- GetDataScannerTasks is a route for the data scanner to fetch pending tasks + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DatascannerApi.new +x_scanner_id = 'x_scanner_id_example' # String | ID of the data scanner + +begin + + result = api_instance.get_data_scanner_tasks(x_scanner_id) + p result +rescue Falcon::ApiError => e + puts "Error when calling DatascannerApi->get_data_scanner_tasks: #{e}" +end +``` + +#### Using the get_data_scanner_tasks_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> get_data_scanner_tasks_with_http_info(x_scanner_id) + +```ruby +begin + + data, status_code, headers = api_instance.get_data_scanner_tasks_with_http_info(x_scanner_id) + p status_code # => 2xx + p headers # => { ... } + p data # => Hash<String, String> +rescue Falcon::ApiError => e + puts "Error when calling DatascannerApi->get_data_scanner_tasks_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_scanner_id** | **String** | ID of the data scanner | | + +### Return type + +**Hash<String, String>** + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_image_registry_credentials + +> Hash<String, String> get_image_registry_credentials + + + +- GetImageRegistryCredentials is a route that gets credentials in order to fetch the data scanner image. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DatascannerApi.new + +begin + + result = api_instance.get_image_registry_credentials + p result +rescue Falcon::ApiError => e + puts "Error when calling DatascannerApi->get_image_registry_credentials: #{e}" +end +``` + +#### Using the get_image_registry_credentials_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> get_image_registry_credentials_with_http_info + +```ruby +begin + + data, status_code, headers = api_instance.get_image_registry_credentials_with_http_info + p status_code # => 2xx + p headers # => { ... } + p data # => Hash<String, String> +rescue Falcon::ApiError => e + puts "Error when calling DatascannerApi->get_image_registry_credentials_with_http_info: #{e}" +end +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +**Hash<String, String>** + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## update_data_scanner_tasks + +> Hash<String, String> update_data_scanner_tasks(x_scanner_id, x_machine_id) + + + +- PatchDataScannerTasks is a route for the data scanner to report back on tasks statuses + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DatascannerApi.new +x_scanner_id = 'x_scanner_id_example' # String | ID of the data scanner +x_machine_id = 'x_machine_id_example' # String | Provider ID of machine + +begin + + result = api_instance.update_data_scanner_tasks(x_scanner_id, x_machine_id) + p result +rescue Falcon::ApiError => e + puts "Error when calling DatascannerApi->update_data_scanner_tasks: #{e}" +end +``` + +#### Using the update_data_scanner_tasks_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> update_data_scanner_tasks_with_http_info(x_scanner_id, x_machine_id) + +```ruby +begin + + data, status_code, headers = api_instance.update_data_scanner_tasks_with_http_info(x_scanner_id, x_machine_id) + p status_code # => 2xx + p headers # => { ... } + p data # => Hash<String, String> +rescue Falcon::ApiError => e + puts "Error when calling DatascannerApi->update_data_scanner_tasks_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **x_scanner_id** | **String** | ID of the data scanner | | +| **x_machine_id** | **String** | Provider ID of machine | | + +### Return type + +**Hash<String, String>** + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: text/plain + diff --git a/docs/DefaultApi.md b/docs/DefaultApi.md new file mode 100644 index 00000000..6ff8719f --- /dev/null +++ b/docs/DefaultApi.md @@ -0,0 +1,455 @@ +# Falcon::DefaultApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**cloud_registration_aws_create_account**](DefaultApi.md#cloud_registration_aws_create_account) | **POST** /cloud-security-registration-aws/entities/account/v1 | Creates a new account in our system for a customer. | +| [**cloud_registration_aws_delete_account**](DefaultApi.md#cloud_registration_aws_delete_account) | **DELETE** /cloud-security-registration-aws/entities/account/v1 | Deletes an existing AWS account or organization in our system. | +| [**cloud_registration_aws_get_accounts**](DefaultApi.md#cloud_registration_aws_get_accounts) | **GET** /cloud-security-registration-aws/entities/account/v1 | Retrieve existing AWS accounts by account IDs | +| [**cloud_registration_aws_query_accounts**](DefaultApi.md#cloud_registration_aws_query_accounts) | **GET** /cloud-security-registration-aws/queries/account/v1 | Retrieve existing AWS accounts by account IDs | +| [**cloud_registration_aws_update_account**](DefaultApi.md#cloud_registration_aws_update_account) | **PATCH** /cloud-security-registration-aws/entities/account/v1 | Patches a existing account in our system for a customer. | +| [**cloud_registration_aws_validate_accounts**](DefaultApi.md#cloud_registration_aws_validate_accounts) | **POST** /cloud-security-registration-aws/entities/account/validate/v1 | Validates the AWS account in our system for a provided CID. For internal clients only. | + + +## cloud_registration_aws_create_account + +> cloud_registration_aws_create_account(body) + +Creates a new account in our system for a customer. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DefaultApi.new +body = Falcon::RestAWSAccountCreateRequestExtv1.new({resources: [Falcon::RestCloudAWSAccountCreateExtV1.new({organization_id: 'organization_id_example'})]}) # RestAWSAccountCreateRequestExtv1 | + +begin + # Creates a new account in our system for a customer. + result = api_instance.cloud_registration_aws_create_account(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_create_account: #{e}" +end +``` + +#### Using the cloud_registration_aws_create_account_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cloud_registration_aws_create_account_with_http_info(body) + +```ruby +begin + # Creates a new account in our system for a customer. + data, status_code, headers = api_instance.cloud_registration_aws_create_account_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_create_account_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**RestAWSAccountCreateRequestExtv1**](RestAWSAccountCreateRequestExtv1.md) | | | + +### Return type + +[**RestAWSAccountCreateResponseExtV1**](RestAWSAccountCreateResponseExtV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## cloud_registration_aws_delete_account + +> cloud_registration_aws_delete_account(opts) + +Deletes an existing AWS account or organization in our system. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DefaultApi.new +opts = { + ids: ['inner_example'], # Array | AWS account IDs to remove + organization_ids: ['inner_example'] # Array | AWS organization IDs to remove +} + +begin + # Deletes an existing AWS account or organization in our system. + result = api_instance.cloud_registration_aws_delete_account(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_delete_account: #{e}" +end +``` + +#### Using the cloud_registration_aws_delete_account_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cloud_registration_aws_delete_account_with_http_info(opts) + +```ruby +begin + # Deletes an existing AWS account or organization in our system. + data, status_code, headers = api_instance.cloud_registration_aws_delete_account_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_delete_account_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | AWS account IDs to remove | [optional] | +| **organization_ids** | [**Array<String>**](String.md) | AWS organization IDs to remove | [optional] | + +### Return type + +[**MsaspecResponseFields**](MsaspecResponseFields.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## cloud_registration_aws_get_accounts + +> cloud_registration_aws_get_accounts(opts) + +Retrieve existing AWS accounts by account IDs + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DefaultApi.new +opts = { + ids: ['inner_example'] # Array | AWS account IDs to filter +} + +begin + # Retrieve existing AWS accounts by account IDs + result = api_instance.cloud_registration_aws_get_accounts(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_get_accounts: #{e}" +end +``` + +#### Using the cloud_registration_aws_get_accounts_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cloud_registration_aws_get_accounts_with_http_info(opts) + +```ruby +begin + # Retrieve existing AWS accounts by account IDs + data, status_code, headers = api_instance.cloud_registration_aws_get_accounts_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_get_accounts_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | AWS account IDs to filter | [optional] | + +### Return type + +[**RestAWSAccountCreateResponseExtV1**](RestAWSAccountCreateResponseExtV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## cloud_registration_aws_query_accounts + +> cloud_registration_aws_query_accounts(products, features, opts) + +Retrieve existing AWS accounts by account IDs + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DefaultApi.new +products = ['inner_example'] # Array | Products registered for an account +features = ['inner_example'] # Array | Features registered for an account +opts = { + organization_ids: ['inner_example'], # Array | Organization IDs used to filter accounts + account_status: 'provisioned', # String | Account status to filter results by. + limit: 56, # Integer | The maximum number of items to return. When not specified or 0, 100 is used. When larger than 500, 500 is used. + offset: 56, # Integer | The offset to start retrieving records from. + group_by: 'organization' # String | Field to group by. +} + +begin + # Retrieve existing AWS accounts by account IDs + result = api_instance.cloud_registration_aws_query_accounts(products, features, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_query_accounts: #{e}" +end +``` + +#### Using the cloud_registration_aws_query_accounts_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cloud_registration_aws_query_accounts_with_http_info(products, features, opts) + +```ruby +begin + # Retrieve existing AWS accounts by account IDs + data, status_code, headers = api_instance.cloud_registration_aws_query_accounts_with_http_info(products, features, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_query_accounts_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **products** | [**Array<String>**](String.md) | Products registered for an account | | +| **features** | [**Array<String>**](String.md) | Features registered for an account | | +| **organization_ids** | [**Array<String>**](String.md) | Organization IDs used to filter accounts | [optional] | +| **account_status** | **String** | Account status to filter results by. | [optional] | +| **limit** | **Integer** | The maximum number of items to return. When not specified or 0, 100 is used. When larger than 500, 500 is used. | [optional][default to 100] | +| **offset** | **Integer** | The offset to start retrieving records from. | [optional] | +| **group_by** | **String** | Field to group by. | [optional] | + +### Return type + +[**RestAWSAccountCreateResponseExtV1**](RestAWSAccountCreateResponseExtV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## cloud_registration_aws_update_account + +> cloud_registration_aws_update_account(body) + +Patches a existing account in our system for a customer. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DefaultApi.new +body = Falcon::RestAWSAccountCreateRequestExtv1.new({resources: [Falcon::RestCloudAWSAccountCreateExtV1.new({organization_id: 'organization_id_example'})]}) # RestAWSAccountCreateRequestExtv1 | + +begin + # Patches a existing account in our system for a customer. + result = api_instance.cloud_registration_aws_update_account(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_update_account: #{e}" +end +``` + +#### Using the cloud_registration_aws_update_account_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cloud_registration_aws_update_account_with_http_info(body) + +```ruby +begin + # Patches a existing account in our system for a customer. + data, status_code, headers = api_instance.cloud_registration_aws_update_account_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_update_account_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**RestAWSAccountCreateRequestExtv1**](RestAWSAccountCreateRequestExtv1.md) | | | + +### Return type + +[**RestAWSAccountCreateResponseExtV1**](RestAWSAccountCreateResponseExtV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## cloud_registration_aws_validate_accounts + +> cloud_registration_aws_validate_accounts(products, feature, opts) + +Validates the AWS account in our system for a provided CID. For internal clients only. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DefaultApi.new +products = 'products_example' # String | Product registered for an account +feature = ['inner_example'] # Array | Features registered for an account +opts = { + account_id: 'account_id_example', # String | AWS Account ID + iam_role_arn: 'iam_role_arn_example' # String | IAM Role ARN +} + +begin + # Validates the AWS account in our system for a provided CID. For internal clients only. + result = api_instance.cloud_registration_aws_validate_accounts(products, feature, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_validate_accounts: #{e}" +end +``` + +#### Using the cloud_registration_aws_validate_accounts_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> cloud_registration_aws_validate_accounts_with_http_info(products, feature, opts) + +```ruby +begin + # Validates the AWS account in our system for a provided CID. For internal clients only. + data, status_code, headers = api_instance.cloud_registration_aws_validate_accounts_with_http_info(products, feature, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DefaultApi->cloud_registration_aws_validate_accounts_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **products** | **String** | Product registered for an account | | +| **feature** | [**Array<String>**](String.md) | Features registered for an account | | +| **account_id** | **String** | AWS Account ID | [optional] | +| **iam_role_arn** | **String** | IAM Role ARN | [optional] | + +### Return type + +[**RestAWSAccountValidationResponse**](RestAWSAccountValidationResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/DefinitionsDefinitionEntitiesResponse.md b/docs/DefinitionsDefinitionEntitiesResponse.md index 6c158cd7..eca78bd3 100644 --- a/docs/DefinitionsDefinitionEntitiesResponse.md +++ b/docs/DefinitionsDefinitionEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/DefinitionsDefinitionExt.md b/docs/DefinitionsDefinitionExt.md index 2344e317..b2ce70c1 100644 --- a/docs/DefinitionsDefinitionExt.md +++ b/docs/DefinitionsDefinitionExt.md @@ -4,10 +4,27 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **definition** | [**V2Definition**](V2Definition.md) | | | +| **actions** | [**Hash<String, V2Activity>**](V2Activity.md) | | [optional] | +| **conditions** | [**Hash<String, V2Condition>**](V2Condition.md) | | [optional] | +| **description** | **String** | | [optional] | | **enabled** | **Boolean** | Indicates whether the workflow is enabled and active or not. | | | **id** | **String** | Unique identifier for the trigger. | | +| **labels** | **Array<String>** | | [optional] | | **last_modified_timestamp** | **Time** | Timestamp of when this version of the workflow was created. | | +| **loops** | [**Hash<String, V2Loop>**](V2Loop.md) | | [optional] | +| **multi_instance** | **Boolean** | | [optional] | +| **name** | **String** | | | +| **node_registry** | **Hash<String, String>** | | | +| **output_fields** | **Array<String>** | | [optional] | +| **parameters** | [**V2Parameters**](V2Parameters.md) | | [optional] | +| **parent** | [**V2Model**](V2Model.md) | | | +| **provision_on_install** | **Boolean** | | [optional] | +| **summary** | **String** | | [optional] | +| **trigger** | [**V2Trigger**](V2Trigger.md) | | | +| **type** | **String** | | [optional] | +| **uniq_node_seen** | **Hash<String, Boolean>** | | | +| **use_cases** | **Array<String>** | | [optional] | +| **vendors** | **Array<String>** | | [optional] | | **version** | **Integer** | Version of the workflow. A given definition ID can have many versions. Each time an update is applied a new version is generated. | | ## Example @@ -16,10 +33,27 @@ require 'crimson-falcon' instance = Falcon::DefinitionsDefinitionExt.new( - definition: null, + actions: null, + conditions: null, + description: null, enabled: null, id: null, + labels: null, last_modified_timestamp: null, + loops: null, + multi_instance: null, + name: null, + node_registry: null, + output_fields: null, + parameters: null, + parent: null, + provision_on_install: null, + summary: null, + trigger: null, + type: null, + uniq_node_seen: null, + use_cases: null, + vendors: null, version: null ) ``` diff --git a/docs/DefinitionsDefinitionExternalResponse.md b/docs/DefinitionsDefinitionExternalResponse.md index 82162989..ceb9de35 100644 --- a/docs/DefinitionsDefinitionExternalResponse.md +++ b/docs/DefinitionsDefinitionExternalResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DefinitionsDefinitionExt>**](DefinitionsDefinitionExt.md) | | | ## Example diff --git a/docs/DefinitionsDefinitionImportResponse.md b/docs/DefinitionsDefinitionImportResponse.md index fcdd2f81..c766185f 100644 --- a/docs/DefinitionsDefinitionImportResponse.md +++ b/docs/DefinitionsDefinitionImportResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DefinitionsDefinitionImportResponseEntity>**](DefinitionsDefinitionImportResponseEntity.md) | | | ## Example diff --git a/docs/DeliverySettingsApi.md b/docs/DeliverySettingsApi.md new file mode 100644 index 00000000..17d2e097 --- /dev/null +++ b/docs/DeliverySettingsApi.md @@ -0,0 +1,144 @@ +# Falcon::DeliverySettingsApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**get_delivery_settings**](DeliverySettingsApi.md#get_delivery_settings) | **GET** /delivery-settings/entities/delivery-settings/v1 | Get Delivery Settings | +| [**post_delivery_settings**](DeliverySettingsApi.md#post_delivery_settings) | **POST** /delivery-settings/entities/delivery-settings/v1 | Create Delivery Settings | + + +## get_delivery_settings + +> get_delivery_settings + +Get Delivery Settings + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DeliverySettingsApi.new + +begin + # Get Delivery Settings + result = api_instance.get_delivery_settings + p result +rescue Falcon::ApiError => e + puts "Error when calling DeliverySettingsApi->get_delivery_settings: #{e}" +end +``` + +#### Using the get_delivery_settings_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_delivery_settings_with_http_info + +```ruby +begin + # Get Delivery Settings + data, status_code, headers = api_instance.get_delivery_settings_with_http_info + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DeliverySettingsApi->get_delivery_settings_with_http_info: #{e}" +end +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ModelsDeliverySettingsEntityResponse**](ModelsDeliverySettingsEntityResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## post_delivery_settings + +> post_delivery_settings(body) + +Create Delivery Settings + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DeliverySettingsApi.new +body = Falcon::ModelsDeliverySettingsRequest.new({delivery_settings: [Falcon::ModelsDeliverySettingsInput.new({delivery_cadence: 'delivery_cadence_example', delivery_type: 'delivery_type_example'})]}) # ModelsDeliverySettingsRequest | + +begin + # Create Delivery Settings + result = api_instance.post_delivery_settings(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling DeliverySettingsApi->post_delivery_settings: #{e}" +end +``` + +#### Using the post_delivery_settings_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> post_delivery_settings_with_http_info(body) + +```ruby +begin + # Create Delivery Settings + data, status_code, headers = api_instance.post_delivery_settings_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DeliverySettingsApi->post_delivery_settings_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ModelsDeliverySettingsRequest**](ModelsDeliverySettingsRequest.md) | | | + +### Return type + +[**ModelsDeliverySettingsEntityResponse**](ModelsDeliverySettingsEntityResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + diff --git a/docs/DeploymentsEntityResponse.md b/docs/DeploymentsEntityResponse.md new file mode 100644 index 00000000..32dc8478 --- /dev/null +++ b/docs/DeploymentsEntityResponse.md @@ -0,0 +1,22 @@ +# Falcon::DeploymentsEntityResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsDeployment>**](ModelsDeployment.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DeploymentsEntityResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/Destination.md b/docs/Destination.md new file mode 100644 index 00000000..9a649be3 --- /dev/null +++ b/docs/Destination.md @@ -0,0 +1,20 @@ +# Falcon::Destination + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **entity_id** | [**TypesPolicyRulesCondition**](TypesPolicyRulesCondition.md) | | [optional] | +| **group_membership** | [**TypesPolicyRulesCondition**](TypesPolicyRulesCondition.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::Destination.new( + entity_id: null, + group_membership: null +) +``` + diff --git a/docs/DestinationsMigrationDestination.md b/docs/DestinationsMigrationDestination.md new file mode 100644 index 00000000..958947e3 --- /dev/null +++ b/docs/DestinationsMigrationDestination.md @@ -0,0 +1,20 @@ +# Falcon::DestinationsMigrationDestination + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cid** | **String** | | | +| **name** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DestinationsMigrationDestination.new( + cid: null, + name: null +) +``` + diff --git a/docs/DetectionsApiAssessmentDetections.md b/docs/DetectionsApiAssessmentDetections.md index 1f4fcfa5..ed504620 100644 --- a/docs/DetectionsApiAssessmentDetections.md +++ b/docs/DetectionsApiAssessmentDetections.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIAssessmentDetections>**](ModelsAPIAssessmentDetections.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::DetectionsApiAssessmentDetections.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/DetectionsApiCombinedDetections.md b/docs/DetectionsApiCombinedDetections.md index d8c5109a..6bfe2d86 100644 --- a/docs/DetectionsApiCombinedDetections.md +++ b/docs/DetectionsApiCombinedDetections.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPICombinedDetections>**](ModelsAPICombinedDetections.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::DetectionsApiCombinedDetections.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/DetectionsApiDetectionsBySeverity.md b/docs/DetectionsApiDetectionsBySeverity.md index f04781ac..6fcd2cc5 100644 --- a/docs/DetectionsApiDetectionsBySeverity.md +++ b/docs/DetectionsApiDetectionsBySeverity.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | ## Example diff --git a/docs/DetectionsApiDetectionsByType.md b/docs/DetectionsApiDetectionsByType.md index ec9dd97f..a7c0df59 100644 --- a/docs/DetectionsApiDetectionsByType.md +++ b/docs/DetectionsApiDetectionsByType.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | ## Example diff --git a/docs/DetectionsApiDetectionsCount.md b/docs/DetectionsApiDetectionsCount.md index 2f51e985..6ade9de3 100644 --- a/docs/DetectionsApiDetectionsCount.md +++ b/docs/DetectionsApiDetectionsCount.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIDetectionCount>**](ModelsAPIDetectionCount.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::DetectionsApiDetectionsCount.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/DetectsApi.md b/docs/DetectsApi.md index 4750ad4d..83436723 100644 --- a/docs/DetectsApi.md +++ b/docs/DetectsApi.md @@ -1,6 +1,6 @@ # Falcon::DetectsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/DetectsAlert.md b/docs/DetectsExternalAlert.md similarity index 64% rename from docs/DetectsAlert.md rename to docs/DetectsExternalAlert.md index 46e35088..f8b08184 100644 --- a/docs/DetectsAlert.md +++ b/docs/DetectsExternalAlert.md @@ -1,57 +1,54 @@ -# Falcon::DetectsAlert +# Falcon::DetectsExternalAlert ## Properties | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **agent_id** | **String** | Device or sensor ID for which the Alert was generated | [optional] | -| **aggregate_id** | **String** | Common linkage between multiple Alerts that belong so the same detection bouquet | [optional] | -| **assigned_to_name** | **String** | Name of the person this Alert is assigned to | [optional] | -| **assigned_to_uid** | **String** | UserID to which this Alert is assigned to | [optional] | -| **assigned_to_uuid** | **String** | UUID to which this Alert is assigned to | [optional] | -| **cid** | **String** | Unique ID of CrowdStrike customers | [optional] | -| **composite_id** | **String** | An opaque internal identifier that can uniquely identify an Alert | [optional] | -| **confidence** | **Integer** | Confidence is a 1-100 integer value denoting the confidence that, when this Alert fires, it is indicative of malicious activity | [optional] | -| **crawl_edge_ids** | **Hash<String, Array<String>>** | internal only | [optional] | -| **crawl_vertex_ids** | **Hash<String, Array<String>>** | internal only | [optional] | -| **crawled_timestamp** | **Time** | indicates when ThreatGraph was crawled to gather info for this alert creation/update | [optional] | -| **created_timestamp** | **Time** | indicates when the Alert was first written to backend store | [optional] | -| **data_domains** | **Array<String>** | Data Domains represents domains to which this alert belongs to | [optional] | -| **description** | **String** | Short, customer-visible summary of the detected activity | [optional] | -| **display_name** | **String** | Customer visible name for the Alert's pattern | [optional] | -| **email_sent** | **Boolean** | Boolean to know if we sent email regarding this Alert | [optional] | -| **es_doc_id** | **String** | internal only | [optional] | -| **es_doc_version** | **Integer** | internal only | [optional] | -| **es_routing_id** | **String** | internal only | [optional] | -| **external** | **Boolean** | Boolean indicating if this Alert is internal or external | [optional] | -| **id** | **String** | Vertex key which triggers the formation of the Alert | [optional] | -| **name** | **String** | Pattern Name coming either from Taxonomy or directly from the ingested Alert | [optional] | -| **objective** | **String** | End goal that an attack adversary intends to achieve according to MITRE | [optional] | -| **pattern_id** | **Integer** | Taxonomy patternID for this Alert | [optional] | -| **platform** | **String** | Platform that this Alert was triggered on e.g. Android, Windows, etc.. | [optional] | -| **poly_id** | **String** | | [optional] | -| **product** | **String** | Product specifies the SKU that this Alert belongs to e.g. mobile, idp, epp | [optional] | -| **scenario** | **String** | Scenario was used pre-Handrails to display additional killchain context for UI alerts. With handrails, this field is mostly obsolete in favor of tactic/technique. Still, it can be useful for determining specific pattern types that are not straightforward to distinguish from other fields alone | [optional] | -| **severity** | **Integer** | Severity is also a 1-100 integer value, but unlike confidence severity impacts how a Alert is displayed in the UI | [optional] | -| **show_in_ui** | **Boolean** | Boolean indicating if this Alert will be shown in the UI or if it's hidden' | [optional] | -| **source_products** | **Array<String>** | Source Products are products that produced events which contributed to this alert | [optional] | -| **source_vendors** | **Array<String>** | Source Vendors are vendors that produced events which contributed to this alert | [optional] | -| **status** | **String** | Could be one of the following - New, closed, in_progress, reopened | [optional] | -| **tactic** | **String** | Tactic and Technique are references to MITRE ATT&CK, which is a public framework for tracking and modeling adversary tools techniques and procedures | [optional] | -| **tactic_id** | **String** | Unique ID for the tactic seen in the Alert | [optional] | -| **tags** | **Array<String>** | Tags are string values associated with the alert that can be added or removed through the API | [optional] | -| **technique** | **String** | Tactic and Technique are references to MITRE ATT&CK, which is a public framework for tracking and modeling adversary tools techniques and procedures | [optional] | -| **technique_id** | **String** | Unique ID for the technique seen in the Alert | [optional] | -| **timestamp** | **Time** | stored value coming in directly from the ingested event or set by cloud in the absence of it | [optional] | +| **agent_id** | **String** | Device or sensor ID for which the Alert was generated | | +| **aggregate_id** | **String** | Common linkage between multiple Alerts that belong to the same detection bouquet | | +| **assigned_to_name** | **String** | Name of the person this Alert is assigned to | | +| **assigned_to_uid** | **String** | UserID to which this Alert is assigned to | | +| **assigned_to_uuid** | **String** | UUID to which this Alert is assigned to | | +| **cid** | **String** | Unique ID of CrowdStrike customers | | +| **composite_id** | **String** | An opaque internal identifier that can uniquely identify an Alert | | +| **confidence** | **Integer** | Confidence is a 1-100 integer value denoting the confidence that, when this Alert fires, it is indicative of malicious activity | | +| **crawled_timestamp** | **Time** | indicates when ThreatGraph was crawled to gather info for this alert creation/update | | +| **created_timestamp** | **Time** | indicates when the Alert was first written to backend store | | +| **data_domains** | **Array<String>** | Data Domains represents domains to which this alert belongs to | | +| **description** | **String** | Short, customer-visible summary of the detected activity | | +| **display_name** | **String** | Customer visible name for the Alert's pattern | | +| **email_sent** | **Boolean** | Boolean to know if we sent email regarding this Alert | | +| **external** | **Boolean** | Boolean indicating if this Alert is internal or external | | +| **id** | **String** | Vertex key which triggers the formation of the Alert | | +| **name** | **String** | Pattern Name coming either from Taxonomy or directly from the ingested Alert | | +| **objective** | **String** | End goal that an attack adversary intends to achieve according to MITRE | | +| **pattern_id** | **Integer** | Taxonomy patternID for this Alert | | +| **platform** | **String** | Platform that this Alert was triggered on e.g. Android, Windows, etc.. | | +| **product** | **String** | Product specifies the SKU that this Alert belongs to e.g. mobile, idp, epp | | +| **scenario** | **String** | Scenario was used pre-Handrails to display additional killchain context for UI alerts. With handrails, this field is mostly obsolete in favor of tactic/technique. Still, it can be useful for determining specific pattern types that are not straightforward to distinguish from other fields alone | | +| **seconds_to_resolved** | **Integer** | Seconds To Resolved represents the seconds elapsed since this alert has been resolved | | +| **seconds_to_triaged** | **Integer** | Seconds To Triage represents the seconds elapsed since this alert has been triaged | | +| **severity** | **Integer** | Severity is also a 1-100 integer value, but unlike confidence severity impacts how a Alert is displayed in the UI | | +| **severity_name** | **String** | Severity name is a UI friendly bucketing of the severity integer | | +| **show_in_ui** | **Boolean** | Boolean indicating if this Alert will be shown in the UI or if it's hidden' | | +| **source_products** | **Array<String>** | Source Products are products that produced events which contributed to this alert | | +| **source_vendors** | **Array<String>** | Source Vendors are vendors that produced events which contributed to this alert | | +| **status** | **String** | Could be one of the following - New, closed, in_progress, reopened | | +| **tactic** | **String** | Tactic and Technique are references to MITRE ATT&CK, which is a public framework for tracking and modeling adversary tools techniques and procedures | | +| **tactic_id** | **String** | Unique ID for the tactic seen in the Alert | | +| **tags** | **Array<String>** | Tags are string values associated with the alert that can be added or removed through the API | | +| **technique** | **String** | Tactic and Technique are references to MITRE ATT&CK, which is a public framework for tracking and modeling adversary tools techniques and procedures | | +| **technique_id** | **String** | Unique ID for the technique seen in the Alert | | +| **timestamp** | **Time** | stored value coming in directly from the ingested event or set by cloud in the absence of it | | | **type** | **String** | Type of definition Detections Extensibility use. Keyed-off of Pattern of the incoming events/Alerts | | -| **updated_timestamp** | **Time** | indicates when the Alert was last modified | [optional] | +| **updated_timestamp** | **Time** | indicates when the Alert was last modified | | ## Example ```ruby require 'crimson-falcon' -instance = Falcon::DetectsAlert.new( +instance = Falcon::DetectsExternalAlert.new( agent_id: null, aggregate_id: null, assigned_to_name: null, @@ -60,27 +57,24 @@ instance = Falcon::DetectsAlert.new( cid: null, composite_id: null, confidence: null, - crawl_edge_ids: null, - crawl_vertex_ids: null, crawled_timestamp: null, created_timestamp: null, data_domains: null, description: null, display_name: null, email_sent: null, - es_doc_id: null, - es_doc_version: null, - es_routing_id: null, external: null, id: null, name: null, objective: null, pattern_id: null, platform: null, - poly_id: null, product: null, scenario: null, + seconds_to_resolved: null, + seconds_to_triaged: null, severity: null, + severity_name: null, show_in_ui: null, source_products: null, source_vendors: null, diff --git a/docs/DetectsapiAggregatesResponse.md b/docs/DetectsapiAggregatesResponse.md index 151360c6..360b3deb 100644 --- a/docs/DetectsapiAggregatesResponse.md +++ b/docs/DetectsapiAggregatesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DetectsapiAggregationResult>**](DetectsapiAggregationResult.md) | collection of aggregate query results | | ## Example diff --git a/docs/DetectsapiAlertQueryResponse.md b/docs/DetectsapiAlertQueryResponse.md index 5a726fd3..12485fae 100644 --- a/docs/DetectsapiAlertQueryResponse.md +++ b/docs/DetectsapiAlertQueryResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | Array of the Alerts requested | | ## Example diff --git a/docs/DetectsapiPostEntitiesAlertsV1Response.md b/docs/DetectsapiPostEntitiesAlertsV1Response.md deleted file mode 100644 index 5ea030cd..00000000 --- a/docs/DetectsapiPostEntitiesAlertsV1Response.md +++ /dev/null @@ -1,22 +0,0 @@ -# Falcon::DetectsapiPostEntitiesAlertsV1Response - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | -| **resources** | [**Array<DetectsAlert>**](DetectsAlert.md) | Resources represent the slice of Alerts that were retrieved for the given Alert IDs | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DetectsapiPostEntitiesAlertsV1Response.new( - errors: null, - meta: null, - resources: null -) -``` - diff --git a/docs/DetectsapiPostEntitiesAlertsV1ResponseSwagger.md b/docs/DetectsapiPostEntitiesAlertsV1ResponseSwagger.md new file mode 100644 index 00000000..1ab2f496 --- /dev/null +++ b/docs/DetectsapiPostEntitiesAlertsV1ResponseSwagger.md @@ -0,0 +1,22 @@ +# Falcon::DetectsapiPostEntitiesAlertsV1ResponseSwagger + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<DetectsExternalAlert>**](DetectsExternalAlert.md) | Resources represent the slice of Alerts that were retrieved for the given Alert IDs | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DetectsapiPostEntitiesAlertsV1ResponseSwagger.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DetectsapiPostEntitiesAlertsV2Response.md b/docs/DetectsapiPostEntitiesAlertsV2Response.md deleted file mode 100644 index 3ec1a358..00000000 --- a/docs/DetectsapiPostEntitiesAlertsV2Response.md +++ /dev/null @@ -1,22 +0,0 @@ -# Falcon::DetectsapiPostEntitiesAlertsV2Response - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | -| **resources** | [**Array<DetectsAlert>**](DetectsAlert.md) | Resources represent the slice of Alerts that were retrieved for the given Alert IDs | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DetectsapiPostEntitiesAlertsV2Response.new( - errors: null, - meta: null, - resources: null -) -``` - diff --git a/docs/DetectsapiPostEntitiesAlertsV2ResponseSwagger.md b/docs/DetectsapiPostEntitiesAlertsV2ResponseSwagger.md new file mode 100644 index 00000000..ededc77d --- /dev/null +++ b/docs/DetectsapiPostEntitiesAlertsV2ResponseSwagger.md @@ -0,0 +1,22 @@ +# Falcon::DetectsapiPostEntitiesAlertsV2ResponseSwagger + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<DetectsExternalAlert>**](DetectsExternalAlert.md) | Resources represent the slice of Alerts that were retrieved for the given Alert IDs | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DetectsapiPostEntitiesAlertsV2ResponseSwagger.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DetectsapiResponseFields.md b/docs/DetectsapiResponseFields.md index 72726756..6232f8e2 100644 --- a/docs/DetectsapiResponseFields.md +++ b/docs/DetectsapiResponseFields.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/DeviceControlPoliciesApi.md b/docs/DeviceControlPoliciesApi.md index d664c35c..6ceda240 100644 --- a/docs/DeviceControlPoliciesApi.md +++ b/docs/DeviceControlPoliciesApi.md @@ -1,6 +1,6 @@ # Falcon::DeviceControlPoliciesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/DeviceControlRespV1.md b/docs/DeviceControlRespV1.md index c472fd10..4b20e506 100644 --- a/docs/DeviceControlRespV1.md +++ b/docs/DeviceControlRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DeviceControlPolicyV1>**](DeviceControlPolicyV1.md) | | | ## Example diff --git a/docs/DeviceControlRespV2.md b/docs/DeviceControlRespV2.md index 08f70e9f..743fa342 100644 --- a/docs/DeviceControlRespV2.md +++ b/docs/DeviceControlRespV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DeviceControlPolicyV1>**](DeviceControlPolicyV1.md) | | | ## Example diff --git a/docs/DeviceDevice.md b/docs/DeviceDevice.md index 4118d7cf..b84592cd 100644 --- a/docs/DeviceDevice.md +++ b/docs/DeviceDevice.md @@ -7,6 +7,7 @@ | **agent_load_flags** | **String** | | [optional] | | **agent_local_time** | **String** | | [optional] | | **agent_version** | **String** | | [optional] | +| **base_image_version** | **String** | | [optional] | | **bios_manufacturer** | **String** | | [optional] | | **bios_version** | **String** | | [optional] | | **build_number** | **String** | | [optional] | @@ -19,6 +20,7 @@ | **connection_ip** | **String** | | [optional] | | **connection_mac_address** | **String** | | [optional] | | **cpu_signature** | **String** | | [optional] | +| **cpu_vendor** | **String** | | [optional] | | **default_gateway_ip** | **String** | | [optional] | | **deployment_type** | **String** | | [optional] | | **detection_suppression_status** | **String** | | [optional] | @@ -26,11 +28,13 @@ | **device_policies** | [**DeviceMappedDevicePolicies**](DeviceMappedDevicePolicies.md) | | [optional] | | **email** | **String** | | [optional] | | **external_ip** | **String** | | [optional] | +| **filesystem_containment_status** | **String** | | [optional] | | **first_login_timestamp** | **String** | | [optional] | | **first_login_user** | **String** | | [optional] | | **first_seen** | **String** | | [optional] | | **group_hash** | **String** | | [optional] | | **groups** | **Array<String>** | | [optional] | +| **host_deleted_status** | **String** | | [optional] | | **host_hidden_status** | **String** | | [optional] | | **host_utc_offset** | **String** | | [optional] | | **hostname** | **String** | | [optional] | @@ -53,6 +57,7 @@ | **major_version** | **String** | | [optional] | | **managed_apps** | [**DeviceManagedApps**](DeviceManagedApps.md) | | [optional] | | **meta** | [**DeviceDeviceMeta**](DeviceDeviceMeta.md) | | [optional] | +| **migration_completed_time** | **String** | | [optional] | | **minor_version** | **String** | | [optional] | | **modified_timestamp** | **String** | | [optional] | | **notes** | **Array<String>** | | [optional] | @@ -80,6 +85,7 @@ | **provision_status** | **String** | | [optional] | | **reduced_functionality_mode** | **String** | | [optional] | | **release_group** | **String** | | [optional] | +| **rtr_state** | **String** | | [optional] | | **serial_number** | **String** | | [optional] | | **service_pack_major** | **String** | | [optional] | | **service_pack_minor** | **String** | | [optional] | @@ -102,6 +108,7 @@ instance = Falcon::DeviceDevice.new( agent_load_flags: null, agent_local_time: null, agent_version: null, + base_image_version: null, bios_manufacturer: null, bios_version: null, build_number: null, @@ -114,6 +121,7 @@ instance = Falcon::DeviceDevice.new( connection_ip: null, connection_mac_address: null, cpu_signature: null, + cpu_vendor: null, default_gateway_ip: null, deployment_type: null, detection_suppression_status: null, @@ -121,11 +129,13 @@ instance = Falcon::DeviceDevice.new( device_policies: null, email: null, external_ip: null, + filesystem_containment_status: null, first_login_timestamp: null, first_login_user: null, first_seen: null, group_hash: null, groups: null, + host_deleted_status: null, host_hidden_status: null, host_utc_offset: null, hostname: null, @@ -148,6 +158,7 @@ instance = Falcon::DeviceDevice.new( major_version: null, managed_apps: null, meta: null, + migration_completed_time: null, minor_version: null, modified_timestamp: null, notes: null, @@ -175,6 +186,7 @@ instance = Falcon::DeviceDevice.new( provision_status: null, reduced_functionality_mode: null, release_group: null, + rtr_state: null, serial_number: null, service_pack_major: null, service_pack_minor: null, diff --git a/docs/DeviceMappedDevicePolicies.md b/docs/DeviceMappedDevicePolicies.md index d6cfa87d..536fe5c1 100644 --- a/docs/DeviceMappedDevicePolicies.md +++ b/docs/DeviceMappedDevicePolicies.md @@ -7,8 +7,10 @@ | **airlock** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **automox** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **aws_verified_access** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | +| **customer_entitlements** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **data_protection** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **device_control** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | +| **falcon_for_it** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **fim** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **firewall** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **global_config** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | @@ -16,6 +18,7 @@ | **identity_protection** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **jumpcloud** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **kubernetes_admission_control** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | +| **legacy_os** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **mobile** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **netskope** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **prevention** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | @@ -23,6 +26,7 @@ | **sca** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **sensor_update** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **system_tray** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | +| **vulnerability_management** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | | **ztl** | [**DeviceDevicePolicy**](DeviceDevicePolicy.md) | | [optional] | ## Example @@ -34,8 +38,10 @@ instance = Falcon::DeviceMappedDevicePolicies.new( airlock: null, automox: null, aws_verified_access: null, + customer_entitlements: null, data_protection: null, device_control: null, + falcon_for_it: null, fim: null, firewall: null, global_config: null, @@ -43,6 +49,7 @@ instance = Falcon::DeviceMappedDevicePolicies.new( identity_protection: null, jumpcloud: null, kubernetes_admission_control: null, + legacy_os: null, mobile: null, netskope: null, prevention: null, @@ -50,6 +57,7 @@ instance = Falcon::DeviceMappedDevicePolicies.new( sca: null, sensor_update: null, system_tray: null, + vulnerability_management: null, ztl: null ) ``` diff --git a/docs/DeviceapiDeviceDetailsResponseSwagger.md b/docs/DeviceapiDeviceDetailsResponseSwagger.md index c844f54a..f80eede2 100644 --- a/docs/DeviceapiDeviceDetailsResponseSwagger.md +++ b/docs/DeviceapiDeviceDetailsResponseSwagger.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DeviceapiDeviceSwagger>**](DeviceapiDeviceSwagger.md) | | | ## Example diff --git a/docs/DeviceapiDeviceResponse.md b/docs/DeviceapiDeviceResponse.md index 11213561..f3e3042a 100644 --- a/docs/DeviceapiDeviceResponse.md +++ b/docs/DeviceapiDeviceResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**DeviceapiRequestMeta**](DeviceapiRequestMeta.md) | | | | **resources** | **Array<String>** | | | diff --git a/docs/DeviceapiDeviceSwagger.md b/docs/DeviceapiDeviceSwagger.md index 4c8835be..2037290a 100644 --- a/docs/DeviceapiDeviceSwagger.md +++ b/docs/DeviceapiDeviceSwagger.md @@ -7,6 +7,7 @@ | **agent_load_flags** | **String** | | [optional] | | **agent_local_time** | **String** | | [optional] | | **agent_version** | **String** | | [optional] | +| **base_image_version** | **String** | | [optional] | | **bios_manufacturer** | **String** | | [optional] | | **bios_version** | **String** | | [optional] | | **build_number** | **String** | | [optional] | @@ -27,6 +28,7 @@ | **device_policies** | [**DeviceMappedDevicePolicies**](DeviceMappedDevicePolicies.md) | | [optional] | | **email** | **String** | | [optional] | | **external_ip** | **String** | | [optional] | +| **filesystem_containment_status** | **String** | | [optional] | | **first_login_timestamp** | **String** | | [optional] | | **first_seen** | **String** | | [optional] | | **group_hash** | **String** | | [optional] | @@ -53,6 +55,7 @@ | **major_version** | **String** | | [optional] | | **managed_apps** | [**DeviceManagedApps**](DeviceManagedApps.md) | | [optional] | | **meta** | [**DeviceDeviceMeta**](DeviceDeviceMeta.md) | | [optional] | +| **migration_completed_time** | **String** | | [optional] | | **minor_version** | **String** | | [optional] | | **modified_timestamp** | **String** | | [optional] | | **notes** | **Array<String>** | | [optional] | @@ -80,6 +83,7 @@ | **provision_status** | **String** | | [optional] | | **reduced_functionality_mode** | **String** | | [optional] | | **release_group** | **String** | | [optional] | +| **rtr_state** | **String** | | [optional] | | **serial_number** | **String** | | [optional] | | **service_pack_major** | **String** | | [optional] | | **service_pack_minor** | **String** | | [optional] | @@ -101,6 +105,7 @@ instance = Falcon::DeviceapiDeviceSwagger.new( agent_load_flags: null, agent_local_time: null, agent_version: null, + base_image_version: null, bios_manufacturer: null, bios_version: null, build_number: null, @@ -121,6 +126,7 @@ instance = Falcon::DeviceapiDeviceSwagger.new( device_policies: null, email: null, external_ip: null, + filesystem_containment_status: null, first_login_timestamp: null, first_seen: null, group_hash: null, @@ -147,6 +153,7 @@ instance = Falcon::DeviceapiDeviceSwagger.new( major_version: null, managed_apps: null, meta: null, + migration_completed_time: null, minor_version: null, modified_timestamp: null, notes: null, @@ -174,6 +181,7 @@ instance = Falcon::DeviceapiDeviceSwagger.new( provision_status: null, reduced_functionality_mode: null, release_group: null, + rtr_state: null, serial_number: null, service_pack_major: null, service_pack_minor: null, diff --git a/docs/DeviceapiGroupsResponseV1.md b/docs/DeviceapiGroupsResponseV1.md index 0b7d7681..b09d2a48 100644 --- a/docs/DeviceapiGroupsResponseV1.md +++ b/docs/DeviceapiGroupsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DeviceapiGroupResponseV1>**](DeviceapiGroupResponseV1.md) | | | ## Example diff --git a/docs/DeviceapiLoginHistoryResponseV1.md b/docs/DeviceapiLoginHistoryResponseV1.md index 4c052216..35bc3b3f 100644 --- a/docs/DeviceapiLoginHistoryResponseV1.md +++ b/docs/DeviceapiLoginHistoryResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DeviceapiLoginDetailV1>**](DeviceapiLoginDetailV1.md) | | | ## Example diff --git a/docs/DeviceapiNetworkAddressHistoryResponseV1.md b/docs/DeviceapiNetworkAddressHistoryResponseV1.md index a5bb8a29..995ec3a2 100644 --- a/docs/DeviceapiNetworkAddressHistoryResponseV1.md +++ b/docs/DeviceapiNetworkAddressHistoryResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DeviceapiNetworkAddressHistoryV1>**](DeviceapiNetworkAddressHistoryV1.md) | | | ## Example diff --git a/docs/DeviceapiUpdateDeviceTagsSwaggerV1.md b/docs/DeviceapiUpdateDeviceTagsSwaggerV1.md index a5cc5c6d..2a40e1a7 100644 --- a/docs/DeviceapiUpdateDeviceTagsSwaggerV1.md +++ b/docs/DeviceapiUpdateDeviceTagsSwaggerV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DeviceapiUpdateDeviceDetailsResponseV1>**](DeviceapiUpdateDeviceDetailsResponseV1.md) | | | ## Example diff --git a/docs/DiscoverApi.md b/docs/DiscoverApi.md index 693b0c7b..56af82b9 100644 --- a/docs/DiscoverApi.md +++ b/docs/DiscoverApi.md @@ -1,9 +1,11 @@ # Falcon::DiscoverApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | +| [**combined_applications**](DiscoverApi.md#combined_applications) | **GET** /discover/combined/applications/v1 | Search for applications in your environment by providing an FQL filter and paging details. Returns details on applications which match the filter criteria. | +| [**combined_hosts**](DiscoverApi.md#combined_hosts) | **GET** /discover/combined/hosts/v1 | Search for assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns details on assets which match the filter criteria. | | [**get_accounts**](DiscoverApi.md#get_accounts) | **GET** /discover/entities/accounts/v1 | Get details on accounts by providing one or more IDs. | | [**get_applications**](DiscoverApi.md#get_applications) | **GET** /discover/entities/applications/v1 | Get details on applications by providing one or more IDs. | | [**get_hosts**](DiscoverApi.md#get_hosts) | **GET** /discover/entities/hosts/v1 | Get details on assets by providing one or more IDs. | @@ -14,6 +16,164 @@ All URIs are relative to *https://api.crowdstrike.com* | [**query_logins**](DiscoverApi.md#query_logins) | **GET** /discover/queries/logins/v1 | Search for logins in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of login IDs which match the filter criteria. | +## combined_applications + +> combined_applications(filter, opts) + +Search for applications in your environment by providing an FQL filter and paging details. Returns details on applications which match the filter criteria. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DiscoverApi.new +filter = 'filter_example' # String | Search for applications in your environment by providing an FQL filter. Available filter fields that support exact match: name, version, vendor, name_vendor, name_vendor_version, first_seen_timestamp, installation_timestamp, architectures, installation_paths, versioning_scheme, groups, is_normalized, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, last_used_timestamp, last_updated_timestamp, is_suspicious, host.id, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports wildcard (*): name, version, vendor, name_vendor, name_vendor_version, architectures, installation_paths, groups, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, installation_timestamp, last_used_timestamp, last_updated_timestamp All filter fields and operations supports negation (!). +opts = { + after: 'after_example', # String | A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + limit: 56, # Integer | The number of application ids to return in this response (Min: 1, Max: 1000, Default: 100). Use with the `after` parameter to manage pagination of results. + sort: 'sort_example', # String | Sort applications by their properties. A single sort field is allowed. + facet: ['inner_example'] # Array | Select various details blocks to be returned for each application entity. Supported values:
  • browser_extension
  • host_info
  • install_usage
+} + +begin + # Search for applications in your environment by providing an FQL filter and paging details. Returns details on applications which match the filter criteria. + result = api_instance.combined_applications(filter, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling DiscoverApi->combined_applications: #{e}" +end +``` + +#### Using the combined_applications_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> combined_applications_with_http_info(filter, opts) + +```ruby +begin + # Search for applications in your environment by providing an FQL filter and paging details. Returns details on applications which match the filter criteria. + data, status_code, headers = api_instance.combined_applications_with_http_info(filter, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DiscoverApi->combined_applications_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Search for applications in your environment by providing an FQL filter. Available filter fields that support exact match: name, version, vendor, name_vendor, name_vendor_version, first_seen_timestamp, installation_timestamp, architectures, installation_paths, versioning_scheme, groups, is_normalized, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, last_used_timestamp, last_updated_timestamp, is_suspicious, host.id, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports wildcard (*): name, version, vendor, name_vendor, name_vendor_version, architectures, installation_paths, groups, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, installation_timestamp, last_used_timestamp, last_updated_timestamp All filter fields and operations supports negation (!). | | +| **after** | **String** | A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. | [optional] | +| **limit** | **Integer** | The number of application ids to return in this response (Min: 1, Max: 1000, Default: 100). Use with the `after` parameter to manage pagination of results. | [optional] | +| **sort** | **String** | Sort applications by their properties. A single sort field is allowed. | [optional] | +| **facet** | [**Array<String>**](String.md) | Select various details blocks to be returned for each application entity. Supported values: <ul><li>browser_extension</li><li>host_info</li><li>install_usage</li></ul> | [optional] | + +### Return type + +[**DomainDiscoverAPICombinedApplicationsResponse**](DomainDiscoverAPICombinedApplicationsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## combined_hosts + +> combined_hosts(filter, opts) + +Search for assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns details on assets which match the filter criteria. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DiscoverApi.new +filter = 'filter_example' # String | Filter assets using an FQL query. Common filter options include:
  • entity_type:'managed'
  • product_type_desc:'Workstation'
  • platform_name:'Windows'
  • last_seen_timestamp:>'now-7d'
Available filter fields that support exact match: id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, local_ips_count, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_count, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, data_providers_count, mac_addresses, local_ip_addresses, reduced_functionality_mode, number_of_disk_drives, processor_package_count, physical_core_count, logical_core_count, total_disk_space, disk_sizes.disk_name, disk_sizes.disk_space, cpu_processor_name, total_memory, encryption_status, encrypted_drives, encrypted_drives_count, unencrypted_drives, unencrypted_drives_count, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, total_bios_files, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.mount_path, mount_storage_info.used_space, mount_storage_info.available_space, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, ad_user_account_control, account_enabled, creation_timestamp, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports wildcard (*): id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, mac_addresses, local_ip_addresses, reduced_functionality_mode, disk_sizes.disk_name, cpu_processor_name, encryption_status, encrypted_drives, unencrypted_drives, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, mount_storage_info.mount_path, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, account_enabled, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, last_seen_timestamp, local_ips_count, discoverer_count, confidence, number_of_disk_drives, processor_package_count, physical_core_count, data_providers_count, logical_core_count, total_disk_space, disk_sizes.disk_space, total_memory, encrypted_drives_count, unencrypted_drives_count, total_bios_files, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.used_space, mount_storage_info.available_space, ad_user_account_control, creation_timestamp All filter fields and operations supports negation (!). +opts = { + after: 'after_example', # String | A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + limit: 56, # Integer | The number of asset IDs to return in this response (min: 1, max: 1000, default: 100). Use with the `after` parameter to manage pagination of results. + sort: 'sort_example', # String | Sort assets by their properties. A single sort field is allowed. Common sort options include:
  • hostname|asc
  • product_type_desc|desc
+ facet: ['inner_example'] # Array | Select various details blocks to be returned for each host entity. Supported values:
  • system_insights
  • third_party
  • risk_factors
+} + +begin + # Search for assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns details on assets which match the filter criteria. + result = api_instance.combined_hosts(filter, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling DiscoverApi->combined_hosts: #{e}" +end +``` + +#### Using the combined_hosts_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> combined_hosts_with_http_info(filter, opts) + +```ruby +begin + # Search for assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns details on assets which match the filter criteria. + data, status_code, headers = api_instance.combined_hosts_with_http_info(filter, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DiscoverApi->combined_hosts_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, local_ips_count, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_count, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, data_providers_count, mac_addresses, local_ip_addresses, reduced_functionality_mode, number_of_disk_drives, processor_package_count, physical_core_count, logical_core_count, total_disk_space, disk_sizes.disk_name, disk_sizes.disk_space, cpu_processor_name, total_memory, encryption_status, encrypted_drives, encrypted_drives_count, unencrypted_drives, unencrypted_drives_count, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, total_bios_files, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.mount_path, mount_storage_info.used_space, mount_storage_info.available_space, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, ad_user_account_control, account_enabled, creation_timestamp, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports wildcard (*): id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, mac_addresses, local_ip_addresses, reduced_functionality_mode, disk_sizes.disk_name, cpu_processor_name, encryption_status, encrypted_drives, unencrypted_drives, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, mount_storage_info.mount_path, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, account_enabled, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, last_seen_timestamp, local_ips_count, discoverer_count, confidence, number_of_disk_drives, processor_package_count, physical_core_count, data_providers_count, logical_core_count, total_disk_space, disk_sizes.disk_space, total_memory, encrypted_drives_count, unencrypted_drives_count, total_bios_files, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.used_space, mount_storage_info.available_space, ad_user_account_control, creation_timestamp All filter fields and operations supports negation (!). | | +| **after** | **String** | A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. | [optional] | +| **limit** | **Integer** | The number of asset IDs to return in this response (min: 1, max: 1000, default: 100). Use with the `after` parameter to manage pagination of results. | [optional] | +| **sort** | **String** | Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> | [optional] | +| **facet** | [**Array<String>**](String.md) | Select various details blocks to be returned for each host entity. Supported values: <ul><li>system_insights</li><li>third_party</li><li>risk_factors</li></ul> | [optional] | + +### Return type + +[**DomainDiscoverAPICombinedHostsResponse**](DomainDiscoverAPICombinedHostsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## get_accounts > get_accounts(ids) diff --git a/docs/DiscoverIotApi.md b/docs/DiscoverIotApi.md index 5caff4fc..ed0237d8 100644 --- a/docs/DiscoverIotApi.md +++ b/docs/DiscoverIotApi.md @@ -1,11 +1,12 @@ # Falcon::DiscoverIotApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | | [**get_iot_hosts**](DiscoverIotApi.md#get_iot_hosts) | **GET** /discover/entities/iot-hosts/v1 | Get details on IoT assets by providing one or more IDs. | | [**query_iot_hosts**](DiscoverIotApi.md#query_iot_hosts) | **GET** /discover/queries/iot-hosts/v1 | Search for IoT assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria. | +| [**query_iot_hosts_v2**](DiscoverIotApi.md#query_iot_hosts_v2) | **GET** /discover/queries/iot-hosts/v2 | Search for IoT assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria. | ## get_iot_hosts @@ -101,7 +102,7 @@ opts = { offset: 56, # Integer | An offset used with the `limit` parameter to manage pagination of results. On your first request, don’t provide an `offset`. On subsequent requests, add previous `offset` with the previous `limit` to continue from that place in the results. limit: 56, # Integer | The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `offset` parameter to manage pagination of results. sort: 'sort_example', # String | Sort assets by their properties. A single sort field is allowed. Common sort options include:
  • hostname|asc
  • product_type_desc|desc
- filter: 'filter_example' # String | Filter assets using an FQL query. Common filter options include:
  • entity_type:'managed'
  • product_type_desc:'Workstation'
  • platform_name:'Windows'
  • last_seen_timestamp:>'now-7d'
Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). + filter: 'filter_example' # String | Filter assets using an FQL query. Common filter options include:
  • entity_type:'managed'
  • product_type_desc:'Workstation'
  • platform_name:'Windows'
  • last_seen_timestamp:>'now-7d'
Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers, local_ips_count, network_interfaces.local_ip, classification Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count, local_ips_count All filter fields and operations supports negation (!). } begin @@ -138,7 +139,7 @@ end | **offset** | **Integer** | An offset used with the `limit` parameter to manage pagination of results. On your first request, don’t provide an `offset`. On subsequent requests, add previous `offset` with the previous `limit` to continue from that place in the results. | [optional] | | **limit** | **Integer** | The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `offset` parameter to manage pagination of results. | [optional] | | **sort** | **String** | Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> | [optional] | -| **filter** | **String** | Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). | [optional] | +| **filter** | **String** | Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers, local_ips_count, network_interfaces.local_ip, classification Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count, local_ips_count All filter fields and operations supports negation (!). | [optional] | ### Return type @@ -153,3 +154,80 @@ end - **Content-Type**: Not defined - **Accept**: application/json + +## query_iot_hosts_v2 + +> query_iot_hosts_v2(opts) + +Search for IoT assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DiscoverIotApi.new +opts = { + after: 'after_example', # String | A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + limit: 56, # Integer | The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `after` parameter to manage pagination of results. + sort: 'sort_example', # String | Sort assets by their properties. A single sort field is allowed. Common sort options include:
  • hostname|asc
  • product_type_desc|desc
+ filter: 'filter_example' # String | Filter assets using an FQL query. Common filter options include:
  • entity_type:'managed'
  • product_type_desc:'Workstation'
  • platform_name:'Windows'
  • last_seen_timestamp:>'now-7d'
Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). +} + +begin + # Search for IoT assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria. + result = api_instance.query_iot_hosts_v2(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling DiscoverIotApi->query_iot_hosts_v2: #{e}" +end +``` + +#### Using the query_iot_hosts_v2_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> query_iot_hosts_v2_with_http_info(opts) + +```ruby +begin + # Search for IoT assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria. + data, status_code, headers = api_instance.query_iot_hosts_v2_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DiscoverIotApi->query_iot_hosts_v2_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **after** | **String** | A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. | [optional] | +| **limit** | **Integer** | The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `after` parameter to manage pagination of results. | [optional] | +| **sort** | **String** | Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> | [optional] | +| **filter** | **String** | Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). | [optional] | + +### Return type + +[**DomainDiscoverAPIResponse**](DomainDiscoverAPIResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/DomainAPICombinedFindingsResponseV1.md b/docs/DomainAPICombinedFindingsResponseV1.md index a19d12d0..18436dae 100644 --- a/docs/DomainAPICombinedFindingsResponseV1.md +++ b/docs/DomainAPICombinedFindingsResponseV1.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | | **meta** | [**DomainAPIQueryMetaV1**](DomainAPIQueryMetaV1.md) | | | | **resources** | [**Array<DomainAPIFindingFacetV1>**](DomainAPIFindingFacetV1.md) | | | diff --git a/docs/DomainAPIComplianceControlV1.md b/docs/DomainAPIComplianceControlV1.md new file mode 100644 index 00000000..9f10ec58 --- /dev/null +++ b/docs/DomainAPIComplianceControlV1.md @@ -0,0 +1,20 @@ +# Falcon::DomainAPIComplianceControlV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **control** | **String** | | | +| **id** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAPIComplianceControlV1.new( + control: null, + id: null +) +``` + diff --git a/docs/DomainAPIComplianceMappingV1.md b/docs/DomainAPIComplianceMappingV1.md new file mode 100644 index 00000000..7073cb95 --- /dev/null +++ b/docs/DomainAPIComplianceMappingV1.md @@ -0,0 +1,22 @@ +# Falcon::DomainAPIComplianceMappingV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **controls** | [**Array<DomainAPIComplianceControlV1>**](DomainAPIComplianceControlV1.md) | | [optional] | +| **framework** | **String** | | | +| **version** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAPIComplianceMappingV1.new( + controls: null, + framework: null, + version: null +) +``` + diff --git a/docs/DomainAPIEntityMatchedV1.md b/docs/DomainAPIEntityMatchedV1.md deleted file mode 100644 index 57ad84aa..00000000 --- a/docs/DomainAPIEntityMatchedV1.md +++ /dev/null @@ -1,22 +0,0 @@ -# Falcon::DomainAPIEntityMatchedV1 - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **asset_id** | **String** | | [optional] | -| **data_provider** | **String** | | [optional] | -| **provider_asset_id** | **String** | | [optional] | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainAPIEntityMatchedV1.new( - asset_id: null, - data_provider: null, - provider_asset_id: null -) -``` - diff --git a/docs/DomainAPIError.md b/docs/DomainAPIError.md index 1a7a8604..7da1c23c 100644 --- a/docs/DomainAPIError.md +++ b/docs/DomainAPIError.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | -| **resources** | **Object** | | [optional] | +| **code** | **Integer** | | | +| **message** | **String** | | | +| **submission** | [**DomainCreateSubmissionV1ErrorResponse**](DomainCreateSubmissionV1ErrorResponse.md) | | [optional] | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::DomainAPIError.new( - errors: null, - meta: null, - resources: null + code: null, + message: null, + submission: null ) ``` diff --git a/docs/DomainAPIEvaluationLogicEntitiesResponseV1.md b/docs/DomainAPIEvaluationLogicEntitiesResponseV1.md index 35f02bf3..bdd89881 100644 --- a/docs/DomainAPIEvaluationLogicEntitiesResponseV1.md +++ b/docs/DomainAPIEvaluationLogicEntitiesResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainAPIEvaluationLogicV1>**](DomainAPIEvaluationLogicV1.md) | | | ## Example diff --git a/docs/DomainAPIEvaluationLogicHostInfoV1.md b/docs/DomainAPIEvaluationLogicHostInfoV1.md deleted file mode 100644 index 7b1e1fbe..00000000 --- a/docs/DomainAPIEvaluationLogicHostInfoV1.md +++ /dev/null @@ -1,18 +0,0 @@ -# Falcon::DomainAPIEvaluationLogicHostInfoV1 - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **entities_matched** | [**Array<DomainAPIEntityMatchedV1>**](DomainAPIEntityMatchedV1.md) | Refers to all the entities that were matched together during entity resolution process | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainAPIEvaluationLogicHostInfoV1.new( - entities_matched: null -) -``` - diff --git a/docs/DomainAPIEvaluationLogicItemV1.md b/docs/DomainAPIEvaluationLogicItemV1.md index 37666ffa..657474c7 100644 --- a/docs/DomainAPIEvaluationLogicItemV1.md +++ b/docs/DomainAPIEvaluationLogicItemV1.md @@ -6,12 +6,12 @@ | ---- | ---- | ----------- | ----- | | **comparison_check** | **String** | | [optional] | | **comparisons** | [**DomainAPIEvaluationLogicComparisonsV1**](DomainAPIEvaluationLogicComparisonsV1.md) | | [optional] | -| **description** | **String** | | [optional] | | **determined_by_comparison** | **Boolean** | | [optional] | | **existence_check** | **String** | | [optional] | | **id** | **Integer** | | [optional] | | **items** | **Array<Object>** | | [optional] | | **negate** | **Boolean** | | [optional] | +| **status** | **String** | | | | **title** | **String** | | | | **type** | **String** | | | @@ -23,12 +23,12 @@ require 'crimson-falcon' instance = Falcon::DomainAPIEvaluationLogicItemV1.new( comparison_check: null, comparisons: null, - description: null, determined_by_comparison: null, existence_check: null, id: null, items: null, negate: null, + status: null, title: null, type: null ) diff --git a/docs/DomainAPIEvaluationLogicV1.md b/docs/DomainAPIEvaluationLogicV1.md index f98a5dc8..ee1df48d 100644 --- a/docs/DomainAPIEvaluationLogicV1.md +++ b/docs/DomainAPIEvaluationLogicV1.md @@ -4,15 +4,13 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **aid** | **String** | Refers to an asset identifier | [optional] | -| **cid** | **String** | Refers to a customer identifier | [optional] | -| **created_timestamp** | **String** | Refers to a point in time when evaluation logic data was created in the system | [optional] | -| **data_provider** | **String** | Refers to a label given to the entity that provided this data | [optional] | -| **host_info** | [**DomainAPIEvaluationLogicHostInfoV1**](DomainAPIEvaluationLogicHostInfoV1.md) | | [optional] | -| **id** | **String** | Contains a unique identifier for the evaluation logic | | -| **logic** | [**Array<DomainAPIEvaluationLogicItemV1>**](DomainAPIEvaluationLogicItemV1.md) | Refers to the actual evaluation logic data | [optional] | -| **scanner_id** | **String** | Refers to the identifier of the scanner that generated the evaluation logic | [optional] | -| **updated_timestamp** | **String** | Refers to a point in time when evaluation logic data was updated in the system | [optional] | +| **aid** | **String** | | [optional] | +| **cid** | **String** | | [optional] | +| **complex_check_operator** | **String** | | [optional] | +| **created_timestamp** | **String** | | [optional] | +| **id** | **String** | | | +| **logic** | [**Array<DomainAPIEvaluationLogicItemV1>**](DomainAPIEvaluationLogicItemV1.md) | | [optional] | +| **updated_timestamp** | **String** | | [optional] | ## Example @@ -22,12 +20,10 @@ require 'crimson-falcon' instance = Falcon::DomainAPIEvaluationLogicV1.new( aid: null, cid: null, + complex_check_operator: null, created_timestamp: null, - data_provider: null, - host_info: null, id: null, logic: null, - scanner_id: null, updated_timestamp: null ) ``` diff --git a/docs/DomainAPIFindingRuleV1.md b/docs/DomainAPIFindingRuleV1.md index 611a200e..1d902500 100644 --- a/docs/DomainAPIFindingRuleV1.md +++ b/docs/DomainAPIFindingRuleV1.md @@ -7,6 +7,7 @@ | **authority** | **String** | | [optional] | | **benchmark_type** | **String** | | [optional] | | **cce** | **String** | | [optional] | +| **compliance_mappings** | [**Array<DomainAPIComplianceMappingV1>**](DomainAPIComplianceMappingV1.md) | | [optional] | | **edited** | **Boolean** | | | | **group_id** | **String** | | [optional] | | **group_name** | **String** | | [optional] | @@ -29,6 +30,7 @@ instance = Falcon::DomainAPIFindingRuleV1.new( authority: null, benchmark_type: null, cce: null, + compliance_mappings: null, edited: null, group_id: null, group_name: null, diff --git a/docs/DomainAPIHostInfoFacetV1.md b/docs/DomainAPIHostInfoFacetV1.md index be5a6511..bd15de42 100644 --- a/docs/DomainAPIHostInfoFacetV1.md +++ b/docs/DomainAPIHostInfoFacetV1.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **agent_version** | **String** | | [optional] | | **asset_criticality** | [**DomainAssetCriticalityInfoV1**](DomainAssetCriticalityInfoV1.md) | | [optional] | | **build_number** | **String** | | [optional] | | **groups** | [**Array<DomainAPIHostGroup>**](DomainAPIHostGroup.md) | | | @@ -30,6 +31,7 @@ require 'crimson-falcon' instance = Falcon::DomainAPIHostInfoFacetV1.new( + agent_version: null, asset_criticality: null, build_number: null, groups: null, diff --git a/docs/DomainAPIRemediationInfo.md b/docs/DomainAPIRemediationInfo.md new file mode 100644 index 00000000..ce0e5bb3 --- /dev/null +++ b/docs/DomainAPIRemediationInfo.md @@ -0,0 +1,22 @@ +# Falcon::DomainAPIRemediationInfo + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **minimum_id** | **String** | Contains the ID of the minimum remediation | [optional] | +| **patch_publication_date** | **String** | Contains the timestamp when earliest remediation was published | [optional] | +| **recommended_id** | **String** | Contains the ID of the recommended remediation | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAPIRemediationInfo.new( + minimum_id: null, + patch_publication_date: null, + recommended_id: null +) +``` + diff --git a/docs/DomainAPIRemediationV2.md b/docs/DomainAPIRemediationV2.md index 0f16b8f6..58bd5f0b 100644 --- a/docs/DomainAPIRemediationV2.md +++ b/docs/DomainAPIRemediationV2.md @@ -7,6 +7,8 @@ | **action** | **String** | Expanded description of the remediation | | | **id** | **String** | Refers to an unique identifier for a given remediation | | | **link** | **String** | Link to the remediation page for the vendor | | +| **patch_publication_date** | **String** | The timestamp that this remediation was published | [optional] | +| **recommendation_type** | **String** | The type of recommendation for this remediation, usually either 'recommended' or 'minimum' | [optional] | | **reference** | **String** | Relevant reference for the remediation that can be used to get additional details for the remediation. For example, a KB number that needs to be installed for a KB_SECURITY_UPDATE | | | **title** | **String** | Short description of the remediation | | | **vendor_url** | **String** | Link to the vendor advisory - Note: This field is populated if there are extra steps that are required to complete the remediation | | @@ -20,6 +22,8 @@ instance = Falcon::DomainAPIRemediationV2.new( action: null, id: null, link: null, + patch_publication_date: null, + recommendation_type: null, reference: null, title: null, vendor_url: null diff --git a/docs/DomainAPIRuleDetailsResponseV1.md b/docs/DomainAPIRuleDetailsResponseV1.md index 9d53e7fb..85dcb6ba 100644 --- a/docs/DomainAPIRuleDetailsResponseV1.md +++ b/docs/DomainAPIRuleDetailsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainAPIRuleDetailsV1>**](DomainAPIRuleDetailsV1.md) | | | ## Example diff --git a/docs/DomainAPIRuleDetailsV1.md b/docs/DomainAPIRuleDetailsV1.md index c76e8234..5bec22e0 100644 --- a/docs/DomainAPIRuleDetailsV1.md +++ b/docs/DomainAPIRuleDetailsV1.md @@ -10,6 +10,7 @@ | **audit_procedure** | **String** | | | | **authority** | **String** | | | | **benchmark_title** | **String** | | | +| **compliance_mappings** | [**Array<DomainAPIComplianceMappingV1>**](DomainAPIComplianceMappingV1.md) | | [optional] | | **description** | **String** | | | | **id** | **String** | | | | **impact_statement** | **String** | | | @@ -32,6 +33,7 @@ instance = Falcon::DomainAPIRuleDetailsV1.new( audit_procedure: null, authority: null, benchmark_title: null, + compliance_mappings: null, description: null, id: null, impact_statement: null, diff --git a/docs/DomainAPIVulnerabilityAppV2.md b/docs/DomainAPIVulnerabilityAppV2.md index bc5d5376..d23f1200 100644 --- a/docs/DomainAPIVulnerabilityAppV2.md +++ b/docs/DomainAPIVulnerabilityAppV2.md @@ -6,6 +6,7 @@ | ---- | ---- | ----------- | ----- | | **product_name_normalized** | **String** | Refers to the normalized product name of the product for which the vulnerability has been detected | | | **product_name_version** | **String** | Refers to the un-normalized combination of product name and version of the product for which the vulnerability has been detected | | +| **vendor_normalized** | **String** | Refers to the normalized vendor name of the product for which the vulnerability has been detected | | ## Example @@ -14,7 +15,8 @@ require 'crimson-falcon' instance = Falcon::DomainAPIVulnerabilityAppV2.new( product_name_normalized: null, - product_name_version: null + product_name_version: null, + vendor_normalized: null ) ``` diff --git a/docs/DomainAPIVulnerabilityCVEDetailsFacetV2.md b/docs/DomainAPIVulnerabilityCVEDetailsFacetV2.md index d4625d8c..4f8549a4 100644 --- a/docs/DomainAPIVulnerabilityCVEDetailsFacetV2.md +++ b/docs/DomainAPIVulnerabilityCVEDetailsFacetV2.md @@ -7,6 +7,7 @@ | **actors** | **Array<String>** | Contains a list of actors that are known for exploiting this vulnerability ot in the wild | [optional] | | **base_score** | **Float** | The base score for a Common Vulnerability Enumeration (CVE) is a numerical value that represents the intrinsic severity and impact of a security vulnerability. | [optional] | | **cisa_info** | [**DomainAPIVulnerabilityCVECISAInfo**](DomainAPIVulnerabilityCVECISAInfo.md) | | [optional] | +| **cwes** | **Array<String>** | The CWE ids corresponding to this vulnerability instance | [optional] | | **description** | **String** | Refers to description of the vulnerability | [optional] | | **exploit_status** | **Integer** | Exploit status refers to the current state or availability of known exploits for a specific vulnerability, indicating whether there are known techniques or tools to leverage the vulnerability in an attack. | [optional] | | **exploitability_score** | **Float** | Represents a numerical value that indicates the relative ease or difficulty for an attacker to exploit a vulnerability | [optional] | @@ -32,6 +33,7 @@ instance = Falcon::DomainAPIVulnerabilityCVEDetailsFacetV2.new( actors: null, base_score: null, cisa_info: null, + cwes: null, description: null, exploit_status: null, exploitability_score: null, diff --git a/docs/DomainAPIVulnerabilityExtendedAppV2.md b/docs/DomainAPIVulnerabilityExtendedAppV2.md index 76753819..23d4c965 100644 --- a/docs/DomainAPIVulnerabilityExtendedAppV2.md +++ b/docs/DomainAPIVulnerabilityExtendedAppV2.md @@ -5,10 +5,13 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **evaluation_logic** | [**DomainAPIEvaluationLogicV1**](DomainAPIEvaluationLogicV1.md) | | [optional] | +| **patch_publication_date** | **String** | Contains the timestamp when earliest remediation was published | [optional] | | **product_name_normalized** | **String** | Refers to the normalized product name of the product for which the vulnerability has been detected | | | **product_name_version** | **String** | Refers to the un-normalized combination of product name and version of the product for which the vulnerability has been detected | | | **remediation** | [**DomainAPIRemediationIDs**](DomainAPIRemediationIDs.md) | | [optional] | +| **remediation_info** | [**DomainAPIRemediationInfo**](DomainAPIRemediationInfo.md) | | [optional] | | **sub_status** | **String** | Contains vulnerability status for a particular product - can differentiate in cases where a vulnerability is detected for multiple products | [optional] | +| **vendor_normalized** | **String** | Refers to the normalized vendor name of the product for which the vulnerability has been detected | | ## Example @@ -17,10 +20,13 @@ require 'crimson-falcon' instance = Falcon::DomainAPIVulnerabilityExtendedAppV2.new( evaluation_logic: null, + patch_publication_date: null, product_name_normalized: null, product_name_version: null, remediation: null, - sub_status: null + remediation_info: null, + sub_status: null, + vendor_normalized: null ) ``` diff --git a/docs/DomainAPIVulnerabilityHostFacetV2.md b/docs/DomainAPIVulnerabilityHostFacetV2.md index ef1f6577..bbc184a1 100644 --- a/docs/DomainAPIVulnerabilityHostFacetV2.md +++ b/docs/DomainAPIVulnerabilityHostFacetV2.md @@ -6,7 +6,9 @@ | ---- | ---- | ----------- | ----- | | **asset_criticality** | **String** | Refers to how critical an asset has been evaluated to be | [optional] | | **asset_roles** | **Array<String>** | Refers to one or more roles that have been assigned to the assets | [optional] | +| **confidence_label** | **String** | Confidence level of the asset association to the CID | [optional] | | **groups** | [**Array<DomainAPIHostGroup>**](DomainAPIHostGroup.md) | Refers to a logic grouping of assets | [optional] | +| **has_run_container** | **Boolean** | Indicates whether the asset has run containers | [optional] | | **host_last_seen_timestamp** | **String** | A timestamp corresponding to the last day when we detected activity coming from an asset | [optional] | | **hostname** | **String** | Refers to the hostname used by the asset on which the vulnerability was detected | | | **instance_id** | **String** | Refers to a unique identifier assigned to an asset | [optional] | @@ -22,6 +24,7 @@ | **service_provider** | **String** | Refers to a company, organization, or entity that offers or provided this specific asset | [optional] | | **service_provider_account_id** | **String** | Refers to the unique identifier associated with a service provider account, typically used in cloud computing or managed service environments | [optional] | | **site_name** | **String** | Refers to the name or label assigned to the physical or logical location within a network infrastructure where the host is situated | | +| **subsidiaries** | **Array<String>** | The list of subsidiaries associated with the asset | [optional] | | **system_manufacturer** | **String** | Refers to the company or organization that designed and produced the hardware system or device | | | **tags** | **Array<String>** | Refers to a logical grouping of assets via tags | [optional] | | **third_party_asset_ids** | **Array<String>** | zero or more unique identifiers assigned by third party entities which provided data for the asset | [optional] | @@ -34,7 +37,9 @@ require 'crimson-falcon' instance = Falcon::DomainAPIVulnerabilityHostFacetV2.new( asset_criticality: null, asset_roles: null, + confidence_label: null, groups: null, + has_run_container: null, host_last_seen_timestamp: null, hostname: null, instance_id: null, @@ -50,6 +55,7 @@ instance = Falcon::DomainAPIVulnerabilityHostFacetV2.new( service_provider: null, service_provider_account_id: null, site_name: null, + subsidiaries: null, system_manufacturer: null, tags: null, third_party_asset_ids: null diff --git a/docs/DomainAPIVulnerabilityServiceV2.md b/docs/DomainAPIVulnerabilityServiceV2.md new file mode 100644 index 00000000..b2ca7826 --- /dev/null +++ b/docs/DomainAPIVulnerabilityServiceV2.md @@ -0,0 +1,22 @@ +# Falcon::DomainAPIVulnerabilityServiceV2 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **port** | **Integer** | Represents the service's exposed port | [optional] | +| **protocol** | **String** | Represents the service's protocol | [optional] | +| **transport** | **String** | Represents the service's transport | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAPIVulnerabilityServiceV2.new( + port: null, + protocol: null, + transport: null +) +``` + diff --git a/docs/DomainAPIVulnerabilityV2.md b/docs/DomainAPIVulnerabilityV2.md index 19d4693e..d4b5b503 100644 --- a/docs/DomainAPIVulnerabilityV2.md +++ b/docs/DomainAPIVulnerabilityV2.md @@ -9,12 +9,14 @@ | **apps** | [**Array<DomainAPIVulnerabilityExtendedAppV2>**](DomainAPIVulnerabilityExtendedAppV2.md) | Provide details related to the products for which a the vulnerability has been detected | [optional] | | **cid** | **String** | Contains the customer identifier associated with the asset for which the vulnerability has been detected | | | **closed_timestamp** | **String** | A timestamp corresponding to the point in time when the vulnerability has no longer been detected (eg: it got fixed) | [optional] | +| **confidence** | **String** | Represents the confidence level of a vulnerability | [optional] | | **created_timestamp** | **String** | A timestamp corresponding to the point in time when the vulnerability has been created (detected) in our system | | | **cve** | [**DomainAPIVulnerabilityCVEDetailsFacetV2**](DomainAPIVulnerabilityCVEDetailsFacetV2.md) | | [optional] | | **data_providers** | [**Array<DomainAPIVulnerabilityDataProviderV1>**](DomainAPIVulnerabilityDataProviderV1.md) | Contains information about the vulnerability data providers of this entity | [optional] | | **host_info** | [**DomainAPIVulnerabilityHostFacetV2**](DomainAPIVulnerabilityHostFacetV2.md) | | [optional] | | **id** | **String** | Vulnerability unique ID | | | **remediation** | [**DomainAPIVulnerabilityRemediationFacetV2**](DomainAPIVulnerabilityRemediationFacetV2.md) | | [optional] | +| **services** | [**Array<DomainAPIVulnerabilityServiceV2>**](DomainAPIVulnerabilityServiceV2.md) | Contains details about the vulnerable services | [optional] | | **status** | **String** | Current status of a vulnerability (open, closed, reopen) | | | **suppression_info** | [**DomainAPIVulnerabilitySuppressionInfoV2**](DomainAPIVulnerabilitySuppressionInfoV2.md) | | [optional] | | **updated_timestamp** | **String** | A timestamp corresponding to the point in time when a vulnerability's information or status have been updated | | @@ -31,12 +33,14 @@ instance = Falcon::DomainAPIVulnerabilityV2.new( apps: null, cid: null, closed_timestamp: null, + confidence: null, created_timestamp: null, cve: null, data_providers: null, host_info: null, id: null, remediation: null, + services: null, status: null, suppression_info: null, updated_timestamp: null, diff --git a/docs/DomainAWSAccountResourceMetadata.md b/docs/DomainAWSAccountResourceMetadata.md new file mode 100644 index 00000000..26c6a647 --- /dev/null +++ b/docs/DomainAWSAccountResourceMetadata.md @@ -0,0 +1,30 @@ +# Falcon::DomainAWSAccountResourceMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **aws_cloudtrail_bucket_name** | **String** | AWS CloudTrail bucket name to store logs. | [optional] | +| **aws_cloudtrail_region** | **String** | AWS CloudTrail region. | [optional] | +| **aws_eventbus_arn** | **String** | AWS Eventbus ARN. | [optional] | +| **eventbus_name** | **String** | | [optional] | +| **external_id** | **String** | ID assigned for use with cross account IAM role access. | [optional] | +| **iam_role_arn** | **String** | The full arn of the IAM role created in this account to control access. | [optional] | +| **intermediate_role_arn** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAWSAccountResourceMetadata.new( + aws_cloudtrail_bucket_name: null, + aws_cloudtrail_region: null, + aws_eventbus_arn: null, + eventbus_name: null, + external_id: null, + iam_role_arn: null, + intermediate_role_arn: null +) +``` + diff --git a/docs/DomainAWSAccountV2.md b/docs/DomainAWSAccountV2.md index 31789e7b..daa9ef1f 100644 --- a/docs/DomainAWSAccountV2.md +++ b/docs/DomainAWSAccountV2.md @@ -24,15 +24,19 @@ | **cspm_enabled** | **Boolean** | | [optional] | | **d4c** | [**DomainAWSD4CAccountV1**](DomainAWSD4CAccountV1.md) | | [optional] | | **d4c_migrated** | **Boolean** | | [optional] | +| **dspm_enabled** | **Boolean** | | [optional] | +| **dspm_role_arn** | **String** | | [optional] | | **environment** | **String** | | [optional] | | **eventbus_name** | **String** | | [optional] | | **external_id** | **String** | ID assigned for use with cross account IAM role access. | [optional] | | **iam_role_arn** | **String** | The full arn of the IAM role created in this account to control access. | [optional] | | **intermediate_role_arn** | **String** | | [optional] | +| **inventory_filter** | [**Array<DomainAWSInventoryFilterSetting>**](DomainAWSInventoryFilterSetting.md) | | | | **is_cspm_lite** | **Boolean** | Is CSPM Lite enabled. | [optional] | | **is_custom_rolename** | **Boolean** | | | | **is_master** | **Boolean** | | [optional] | | **organization_id** | **String** | Up to 34 character AWS provided unique identifier for the organization. | [optional] | +| **products** | **Array<String>** | | [optional] | | **remediation_cloudformation_url** | **String** | | [optional] | | **remediation_region** | **String** | | [optional] | | **remediation_tou_accepted** | **Time** | | [optional] | @@ -42,6 +46,7 @@ | **sensor_management_enabled** | **Boolean** | | | | **settings** | **Object** | | [optional] | | **status** | **String** | Account registration status. | [optional] | +| **target_ous** | **Array<String>** | | [optional] | | **use_existing_cloudtrail** | **Boolean** | | [optional] | | **valid** | **Boolean** | | [optional] | @@ -71,15 +76,19 @@ instance = Falcon::DomainAWSAccountV2.new( cspm_enabled: null, d4c: null, d4c_migrated: null, + dspm_enabled: null, + dspm_role_arn: null, environment: null, eventbus_name: null, external_id: null, iam_role_arn: null, intermediate_role_arn: null, + inventory_filter: null, is_cspm_lite: null, is_custom_rolename: null, is_master: null, organization_id: null, + products: null, remediation_cloudformation_url: null, remediation_region: null, remediation_tou_accepted: null, @@ -89,6 +98,7 @@ instance = Falcon::DomainAWSAccountV2.new( sensor_management_enabled: null, settings: null, status: null, + target_ous: null, use_existing_cloudtrail: null, valid: null ) diff --git a/docs/DomainAWSInventoryFilterSetting.md b/docs/DomainAWSInventoryFilterSetting.md new file mode 100644 index 00000000..8b164d09 --- /dev/null +++ b/docs/DomainAWSInventoryFilterSetting.md @@ -0,0 +1,22 @@ +# Falcon::DomainAWSInventoryFilterSetting + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **account_id** | **String** | | | +| **regions** | **Array<String>** | | | +| **service** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAWSInventoryFilterSetting.new( + account_id: null, + regions: null, + service: null +) +``` + diff --git a/docs/DomainActionEntitiesResponseV1.md b/docs/DomainActionEntitiesResponseV1.md index 1ac0f69c..d6215732 100644 --- a/docs/DomainActionEntitiesResponseV1.md +++ b/docs/DomainActionEntitiesResponseV1.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<DomainReconAPIError>**](DomainReconAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainActionV1>**](DomainActionV1.md) | | | ## Example diff --git a/docs/DomainActorDocument.md b/docs/DomainActorDocument.md index f837032e..1b79771c 100644 --- a/docs/DomainActorDocument.md +++ b/docs/DomainActorDocument.md @@ -6,17 +6,17 @@ | ---- | ---- | ----------- | ----- | | **active** | **Boolean** | Boolean field marking if actor is active | | | **actor_type** | **String** | Actor type, one of: targeted, ecrime | [optional] | -| **capabilities** | [**Array<DomainEntity>**](DomainEntity.md) | actor's capabilities, some examples: RAT,Ransomware,Spearphishing,Downloader,Backdoor,InformationStealer,exploit,CredentialHarvesting,dropper,DenialOfService,Loader,Phishing | | -| **capability** | [**DomainEntity**](DomainEntity.md) | | [optional] | +| **capabilities** | **Array<Object>** | actor's capabilities, some examples: RAT,Ransomware,Spearphishing,Downloader,Backdoor,InformationStealer,exploit,CredentialHarvesting,dropper,DenialOfService,Loader,Phishing | | +| **capability** | **Object** | | [optional] | | **created_date** | **Integer** | Actor's document creation date when it was added to the Falcon portal in unix timestamp format | | | **description** | **String** | Actor's text description, partially containing structured data from other fields | [optional] | | **description_length** | **Integer** | | [optional] | | **develops_threats** | [**Array<DomainThreatEntity>**](DomainThreatEntity.md) | | [optional] | | **develops_threats_count** | **Integer** | | [optional] | | **ecrime_kill_chain** | [**DomainECrimeKillChain**](DomainECrimeKillChain.md) | | [optional] | -| **entitlements** | [**Array<DomainEntity>**](DomainEntity.md) | Field used to filter user's access to actor documents | [optional] | +| **entitlements** | **Array<Object>** | Field used to filter user's access to actor documents | [optional] | | **first_activity_date** | **Integer** | Actor's first activity observed date in unix timestamp format | | -| **group** | [**DomainEntity**](DomainEntity.md) | | [optional] | +| **group** | **Object** | | [optional] | | **has_subgroup** | [**Array<DomainActorEntity>**](DomainActorEntity.md) | | [optional] | | **has_subgroup_actors_count** | **Integer** | | [optional] | | **has_successor** | [**Array<DomainActorEntity>**](DomainActorEntity.md) | | [optional] | @@ -35,13 +35,13 @@ | **known_as** | **String** | Alternative names and community identifiers of an actor | | | **last_activity_date** | **Integer** | Actor's last (most recent) activity observed date in unix timestamp format | | | **last_modified_date** | **Integer** | Actor's document last modified date in unix timestamp format | | -| **motivations** | [**Array<DomainEntity>**](DomainEntity.md) | Actor's activity motivation, one of: State-Sponsored, Criminal, Hacktivism | | +| **motivations** | **Array<Object>** | Actor's activity motivation, one of: State-Sponsored, Criminal, Hacktivism | | | **name** | **String** | Actor's name, composed of 2 words | [optional] | | **notify_users** | **Boolean** | internal field | | -| **objectives** | [**Array<DomainEntity>**](DomainEntity.md) | Actor's activity objectives, one of: IntelligenceGathering, FinancialGain, IntellectualPropertyTheft, defacement, Destruction, DenialOfService | | -| **origins** | [**Array<DomainEntity>**](DomainEntity.md) | represents origin of actor's activity and/or members, some examples: China,Russian Federation,Eastern Europe,Iran,East Asia, South Asia | | +| **objectives** | **Array<Object>** | Actor's activity objectives, one of: IntelligenceGathering, FinancialGain, IntellectualPropertyTheft, defacement, Destruction, DenialOfService | | +| **origins** | **Array<Object>** | represents origin of actor's activity and/or members, some examples: China,Russian Federation,Eastern Europe,Iran,East Asia, South Asia | | | **recent_alerting** | **Integer** | Recent CrowdStrike's finished intelligence alerting date in unix timestamp format | [optional] | -| **region** | [**DomainEntity**](DomainEntity.md) | | [optional] | +| **region** | **Object** | | [optional] | | **rich_text_description** | **String** | Rich text version of the description field | [optional] | | **sells_threats** | [**Array<DomainThreatEntity>**](DomainThreatEntity.md) | | [optional] | | **sells_threats_count** | **Integer** | | [optional] | @@ -50,9 +50,9 @@ | **status** | **String** | Status of an actor, one of: Active, Inactive, Retired | | | **supports** | [**Array<DomainActorEntity>**](DomainActorEntity.md) | | [optional] | | **supports_actors_count** | **Integer** | | [optional] | -| **target_countries** | [**Array<DomainEntity>**](DomainEntity.md) | Target countries of actor's activity and attacks, slug value is a 2 characters code for the country value, some examples: United States,United Kingdom,Germany,India,Japan,France,Australia,Canada,China | | -| **target_industries** | [**Array<DomainEntity>**](DomainEntity.md) | Target economical industries of actor's activity and attacks. List of available values: Government, Financial Services, Technology, Telecommunications, Healthcare, Energy, Academic, Media, Aerospace, NGO, Manufacturing, Industrials and Engineering, Retail, Hospitality, Consulting and Professional Services, Opportunistic, Aviation, Defense, Transportation, Oil and Gas, Legal, Pharmaceutical, Logistics, Military, Automotive, Food and Beverage, Consumer Goods, Real Estate, Insurance, Agriculture, Chemicals, Utilities, Maritime, Extractive, Travel, Dissident, Cryptocurrency, Entertainment, National Government, Law Enforcement, Think Tanks, Local Government, Sports Organizations, Computer Gaming, Biomedical, Nonprofit, Financial Management & Hedge Funds, Political Parties, Architectural and Engineering, Emergency Services, Social Media, International Government, Nuclear, Research Entities, Vocational and Higher-Level Education, eCommerce | | -| **target_regions** | [**Array<DomainEntity>**](DomainEntity.md) | Target geographic regions of actor's activity and attacks. List of available values: North America, Western Europe, Southeast Asia, Middle East, Eastern Europe, South Asia, South America, Oceania, East Asia, Central Africa, Northern Europe, Southern Europe, North Africa, Southern Africa, Central America, Central Asia, East Africa, West Africa, Caribbean | | +| **target_countries** | **Array<Object>** | Target countries of actor's activity and attacks, slug value is a 2 characters code for the country value, some examples: United States,United Kingdom,Germany,India,Japan,France,Australia,Canada,China | | +| **target_industries** | **Array<Object>** | Target economical industries of actor's activity and attacks. List of available values: Government, Financial Services, Technology, Telecommunications, Healthcare, Energy, Academic, Media, Aerospace, NGO, Manufacturing, Industrials and Engineering, Retail, Hospitality, Consulting and Professional Services, Opportunistic, Aviation, Defense, Transportation, Oil and Gas, Legal, Pharmaceutical, Logistics, Military, Automotive, Food and Beverage, Consumer Goods, Real Estate, Insurance, Agriculture, Chemicals, Utilities, Maritime, Extractive, Travel, Dissident, Cryptocurrency, Entertainment, National Government, Law Enforcement, Think Tanks, Local Government, Sports Organizations, Computer Gaming, Biomedical, Nonprofit, Financial Management & Hedge Funds, Political Parties, Architectural and Engineering, Emergency Services, Social Media, International Government, Nuclear, Research Entities, Vocational and Higher-Level Education, eCommerce | | +| **target_regions** | **Array<Object>** | Target geographic regions of actor's activity and attacks. List of available values: North America, Western Europe, Southeast Asia, Middle East, Eastern Europe, South Asia, South America, Oceania, East Asia, Central Africa, Northern Europe, Southern Europe, North Africa, Southern Africa, Central America, Central Asia, East Africa, West Africa, Caribbean | | | **thumbnail** | [**DomainImage**](DomainImage.md) | | [optional] | | **url** | **String** | URL at which actor profile can be accessed | [optional] | | **uses_indicators_count** | **Integer** | | [optional] | diff --git a/docs/DomainActorsResponse.md b/docs/DomainActorsResponse.md index 8afb6e31..63c5bbac 100644 --- a/docs/DomainActorsResponse.md +++ b/docs/DomainActorsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | Array of API Errors | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | Array of API Errors | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainActorDocument>**](DomainActorDocument.md) | | | ## Example diff --git a/docs/DomainAggregateClusterAssessmentsResponse.md b/docs/DomainAggregateClusterAssessmentsResponse.md new file mode 100644 index 00000000..27e3eba9 --- /dev/null +++ b/docs/DomainAggregateClusterAssessmentsResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainAggregateClusterAssessmentsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsComplianceExportGroupedByClustersReport>**](ModelsComplianceExportGroupedByClustersReport.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAggregateClusterAssessmentsResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainAggregateFailedAssetCountBySeverityResponse.md b/docs/DomainAggregateFailedAssetCountBySeverityResponse.md new file mode 100644 index 00000000..ef7c0bcc --- /dev/null +++ b/docs/DomainAggregateFailedAssetCountBySeverityResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainAggregateFailedAssetCountBySeverityResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsNonCompliantAssetsBySeverity>**](ModelsNonCompliantAssetsBySeverity.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAggregateFailedAssetCountBySeverityResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainAggregateFailedAssetsByRulesResponse.md b/docs/DomainAggregateFailedAssetsByRulesResponse.md new file mode 100644 index 00000000..41fa946e --- /dev/null +++ b/docs/DomainAggregateFailedAssetsByRulesResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainAggregateFailedAssetsByRulesResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsRulesWithNonCompliantAssets>**](ModelsRulesWithNonCompliantAssets.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAggregateFailedAssetsByRulesResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainAggregateFailedRulesByClustersResponse.md b/docs/DomainAggregateFailedRulesByClustersResponse.md new file mode 100644 index 00000000..a6cb653a --- /dev/null +++ b/docs/DomainAggregateFailedRulesByClustersResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainAggregateFailedRulesByClustersResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsClusterWithFailedRules>**](ModelsClusterWithFailedRules.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAggregateFailedRulesByClustersResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainAggregateFailedRulesByImagesResponse.md b/docs/DomainAggregateFailedRulesByImagesResponse.md new file mode 100644 index 00000000..938e9403 --- /dev/null +++ b/docs/DomainAggregateFailedRulesByImagesResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainAggregateFailedRulesByImagesResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsImagesWithRulesFailed>**](ModelsImagesWithRulesFailed.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAggregateFailedRulesByImagesResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainAggregateFailedRulesCountBySeverityResponse.md b/docs/DomainAggregateFailedRulesCountBySeverityResponse.md new file mode 100644 index 00000000..a74bf693 --- /dev/null +++ b/docs/DomainAggregateFailedRulesCountBySeverityResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainAggregateFailedRulesCountBySeverityResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsRulesFailedBySeverity>**](ModelsRulesFailedBySeverity.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAggregateFailedRulesCountBySeverityResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainAggregateImageAssessmentsResponse.md b/docs/DomainAggregateImageAssessmentsResponse.md new file mode 100644 index 00000000..f0ad2e2b --- /dev/null +++ b/docs/DomainAggregateImageAssessmentsResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainAggregateImageAssessmentsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**DomainComplianceFindingsGroupedByImagesWithScroll**](DomainComplianceFindingsGroupedByImagesWithScroll.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAggregateImageAssessmentsResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainAggregateRulesAssessmentsResponse.md b/docs/DomainAggregateRulesAssessmentsResponse.md new file mode 100644 index 00000000..0b2fd61e --- /dev/null +++ b/docs/DomainAggregateRulesAssessmentsResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainAggregateRulesAssessmentsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsComplianceExportGroupedByRulesReport>**](ModelsComplianceExportGroupedByRulesReport.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAggregateRulesAssessmentsResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainAggregateRulesByStatusResponse.md b/docs/DomainAggregateRulesByStatusResponse.md new file mode 100644 index 00000000..3c0066f3 --- /dev/null +++ b/docs/DomainAggregateRulesByStatusResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainAggregateRulesByStatusResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsComplianceByRules>**](ModelsComplianceByRules.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAggregateRulesByStatusResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainAggregatesResponse.md b/docs/DomainAggregatesResponse.md index 1500b2ac..186f0e1e 100644 --- a/docs/DomainAggregatesResponse.md +++ b/docs/DomainAggregatesResponse.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<DomainReconAPIError>**](DomainReconAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<MsaAggregationResult>**](MsaAggregationResult.md) | | | ## Example diff --git a/docs/DomainAssessmentPaging.md b/docs/DomainAssessmentPaging.md new file mode 100644 index 00000000..54733151 --- /dev/null +++ b/docs/DomainAssessmentPaging.md @@ -0,0 +1,24 @@ +# Falcon::DomainAssessmentPaging + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **expires_at** | **Integer** | | [optional] | +| **limit** | **Integer** | | [optional] | +| **offset** | **String** | | | +| **total** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainAssessmentPaging.new( + expires_at: null, + limit: null, + offset: null, + total: null +) +``` + diff --git a/docs/DomainAssessmentsByScoreResponse.md b/docs/DomainAssessmentsByScoreResponse.md index 90efb8fe..182fe812 100644 --- a/docs/DomainAssessmentsByScoreResponse.md +++ b/docs/DomainAssessmentsByScoreResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**DomainSearchAfterMeta**](DomainSearchAfterMeta.md) | | | | **resources** | [**Array<DomainZeroTrustSimpleAssessment>**](DomainZeroTrustSimpleAssessment.md) | | | diff --git a/docs/DomainAssessmentsResponse.md b/docs/DomainAssessmentsResponse.md index a126b48c..cf870d6f 100644 --- a/docs/DomainAssessmentsResponse.md +++ b/docs/DomainAssessmentsResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**DomainMetaInfo**](DomainMetaInfo.md) | | | | **resources** | [**Array<DomainSignalProperties>**](DomainSignalProperties.md) | | | diff --git a/docs/DomainAuditResponse.md b/docs/DomainAuditResponse.md index 14fe20aa..fe2704fe 100644 --- a/docs/DomainAuditResponse.md +++ b/docs/DomainAuditResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**DomainMetaInfo**](DomainMetaInfo.md) | | | | **resources** | [**Array<CommonCIDAuditResult>**](CommonCIDAuditResult.md) | | | diff --git a/docs/DomainBaseAPIVulnerabilityV2.md b/docs/DomainBaseAPIVulnerabilityV2.md index f8d8cae8..974fc4ed 100644 --- a/docs/DomainBaseAPIVulnerabilityV2.md +++ b/docs/DomainBaseAPIVulnerabilityV2.md @@ -9,12 +9,14 @@ | **apps** | [**Array<DomainAPIVulnerabilityExtendedAppV2>**](DomainAPIVulnerabilityExtendedAppV2.md) | Provide details related to the products for which a the vulnerability has been detected | [optional] | | **cid** | **String** | Contains the customer identifier associated with the asset for which the vulnerability has been detected | | | **closed_timestamp** | **String** | A timestamp corresponding to the point in time when the vulnerability has no longer been detected (eg: it got fixed) | [optional] | +| **confidence** | **String** | Represents the confidence level of a vulnerability | [optional] | | **created_timestamp** | **String** | A timestamp corresponding to the point in time when the vulnerability has been created (detected) in our system | | | **cve** | [**DomainAPIVulnerabilityCVEDetailsFacetV2**](DomainAPIVulnerabilityCVEDetailsFacetV2.md) | | [optional] | | **data_providers** | [**Array<DomainAPIVulnerabilityDataProviderV1>**](DomainAPIVulnerabilityDataProviderV1.md) | Contains information about the vulnerability data providers of this entity | [optional] | | **host_info** | [**DomainAPIVulnerabilityHostFacetV2**](DomainAPIVulnerabilityHostFacetV2.md) | | [optional] | | **id** | **String** | Vulnerability unique ID | | | **remediation** | [**DomainAPIVulnerabilityRemediationFacetV2**](DomainAPIVulnerabilityRemediationFacetV2.md) | | [optional] | +| **services** | [**Array<DomainAPIVulnerabilityServiceV2>**](DomainAPIVulnerabilityServiceV2.md) | Contains details about the vulnerable services | [optional] | | **status** | **String** | Current status of a vulnerability (open, closed, reopen) | | | **suppression_info** | [**DomainAPIVulnerabilitySuppressionInfoV2**](DomainAPIVulnerabilitySuppressionInfoV2.md) | | [optional] | | **updated_timestamp** | **String** | A timestamp corresponding to the point in time when a vulnerability's information or status have been updated | | @@ -31,12 +33,14 @@ instance = Falcon::DomainBaseAPIVulnerabilityV2.new( apps: null, cid: null, closed_timestamp: null, + confidence: null, created_timestamp: null, cve: null, data_providers: null, host_info: null, id: null, remediation: null, + services: null, status: null, suppression_info: null, updated_timestamp: null, diff --git a/docs/DomainBatchGetCmdStatusResponse.md b/docs/DomainBatchGetCmdStatusResponse.md index 3857c13b..92469523 100644 --- a/docs/DomainBatchGetCmdStatusResponse.md +++ b/docs/DomainBatchGetCmdStatusResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Hash<String, ModelFile>**](ModelFile.md) | | | ## Example diff --git a/docs/DomainBatchGetCommandResponse.md b/docs/DomainBatchGetCommandResponse.md index ef3661d1..06262807 100644 --- a/docs/DomainBatchGetCommandResponse.md +++ b/docs/DomainBatchGetCommandResponse.md @@ -6,8 +6,8 @@ | ---- | ---- | ----------- | ----- | | **batch_get_cmd_req_id** | **String** | | | | **combined** | [**DomainMultiCommandExecuteResponse**](DomainMultiCommandExecuteResponse.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/DomainBatchInitSessionResponse.md b/docs/DomainBatchInitSessionResponse.md index d1a928da..1e43ff5c 100644 --- a/docs/DomainBatchInitSessionResponse.md +++ b/docs/DomainBatchInitSessionResponse.md @@ -5,8 +5,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **batch_id** | **String** | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Hash<String, DomainMultiStatusSensorResponse>**](DomainMultiStatusSensorResponse.md) | | | ## Example diff --git a/docs/DomainBatchRefreshSessionResponse.md b/docs/DomainBatchRefreshSessionResponse.md index acb8b40d..07364af1 100644 --- a/docs/DomainBatchRefreshSessionResponse.md +++ b/docs/DomainBatchRefreshSessionResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Hash<String, DomainMultiPulseSensorResponse>**](DomainMultiPulseSensorResponse.md) | | | ## Example diff --git a/docs/DomainBehavior.md b/docs/DomainBehavior.md index d6b40143..33463098 100644 --- a/docs/DomainBehavior.md +++ b/docs/DomainBehavior.md @@ -15,6 +15,7 @@ | **domain** | **String** | | [optional] | | **exclusion_type** | **String** | | [optional] | | **filepath** | **String** | | [optional] | +| **grouping_ids** | **Array<String>** | | [optional] | | **incident_id** | **String** | | [optional] | | **incident_ids** | **Array<String>** | | [optional] | | **ioc_source** | **String** | | [optional] | @@ -50,6 +51,7 @@ instance = Falcon::DomainBehavior.new( domain: null, exclusion_type: null, filepath: null, + grouping_ids: null, incident_id: null, incident_ids: null, ioc_source: null, diff --git a/docs/DomainBotnetConfigSource.md b/docs/DomainBotnetConfigSource.md deleted file mode 100644 index 084cb2dc..00000000 --- a/docs/DomainBotnetConfigSource.md +++ /dev/null @@ -1,32 +0,0 @@ -# Falcon::DomainBotnetConfigSource - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **actions** | [**Array<DomainKeyValuePair>**](DomainKeyValuePair.md) | Populated for action botnets. List of action key value pairs, defined as the action and its type | | -| **body** | **String** | Populated for spam botnets. The body of the spam template. If this contains replaceable variables, keep the variable names in the template as they appear in the raw config | | -| **botnet** | **String** | The botnet's name | | -| **config_type** | **String** | The type of botnet: `action`, `inject`, or `spam` | | -| **injects** | [**Array<DomainBotnetInject>**](DomainBotnetInject.md) | Populated for inject botnets. List of inject targets and their data | | -| **sub_botnet** | **String** | Optional sub-botnet differentiator | | -| **subject** | **String** | Populated for spam botnets. The subject of the spam template. If this contains replaceable variables, keep the variable names in the template as they appear in the raw config | | -| **variables** | [**Array<DomainKeyValuePair>**](DomainKeyValuePair.md) | Populated for spam botnets. List of key value pairs for any replaceable variables in the spam template | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainBotnetConfigSource.new( - actions: null, - body: null, - botnet: null, - config_type: null, - injects: null, - sub_botnet: null, - subject: null, - variables: null -) -``` - diff --git a/docs/DomainBotnetInject.md b/docs/DomainBotnetInject.md deleted file mode 100644 index d1cd0d2a..00000000 --- a/docs/DomainBotnetInject.md +++ /dev/null @@ -1,20 +0,0 @@ -# Falcon::DomainBotnetInject - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **inject** | **String** | The injected data. Populated for inject botnets | | -| **pattern** | **String** | The targeted pattern of data. Populated for inject botnets | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainBotnetInject.new( - inject: null, - pattern: null -) -``` - diff --git a/docs/DomainCIDGroupMembersResponseV1.md b/docs/DomainCIDGroupMembersResponseV1.md index fe9c27c0..74056d05 100644 --- a/docs/DomainCIDGroupMembersResponseV1.md +++ b/docs/DomainCIDGroupMembersResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainCIDGroupMembers>**](DomainCIDGroupMembers.md) | | | ## Example diff --git a/docs/DomainCIDGroupsResponseV1.md b/docs/DomainCIDGroupsResponseV1.md index 92f47f44..58d869da 100644 --- a/docs/DomainCIDGroupsResponseV1.md +++ b/docs/DomainCIDGroupsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainCIDGroup>**](DomainCIDGroup.md) | | | ## Example diff --git a/docs/DomainCISAKnownExploitedVulnerabilitiesInfo.md b/docs/DomainCISAKnownExploitedVulnerabilitiesInfo.md new file mode 100644 index 00000000..41cd6a25 --- /dev/null +++ b/docs/DomainCISAKnownExploitedVulnerabilitiesInfo.md @@ -0,0 +1,20 @@ +# Falcon::DomainCISAKnownExploitedVulnerabilitiesInfo + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **due_date** | **Time** | | | +| **is_cisa_kev** | **Boolean** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCISAKnownExploitedVulnerabilitiesInfo.new( + due_date: null, + is_cisa_kev: null +) +``` + diff --git a/docs/DomainCPSRating.md b/docs/DomainCPSRating.md new file mode 100644 index 00000000..439f402b --- /dev/null +++ b/docs/DomainCPSRating.md @@ -0,0 +1,26 @@ +# Falcon::DomainCPSRating + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **current_rating** | [**DomainCPSRatingHistoryEntry**](DomainCPSRatingHistoryEntry.md) | | | +| **highest_rating** | [**DomainCPSRatingHistoryEntry**](DomainCPSRatingHistoryEntry.md) | | | +| **negative_indicators** | [**Array<DomainCPSRatingIndicator>**](DomainCPSRatingIndicator.md) | | | +| **positive_indicators** | [**Array<DomainCPSRatingIndicator>**](DomainCPSRatingIndicator.md) | | | +| **rating_history** | [**Array<DomainCPSRatingHistoryEntry>**](DomainCPSRatingHistoryEntry.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCPSRating.new( + current_rating: null, + highest_rating: null, + negative_indicators: null, + positive_indicators: null, + rating_history: null +) +``` + diff --git a/docs/DomainCPSRatingHistoryEntry.md b/docs/DomainCPSRatingHistoryEntry.md new file mode 100644 index 00000000..a9c0b504 --- /dev/null +++ b/docs/DomainCPSRatingHistoryEntry.md @@ -0,0 +1,20 @@ +# Falcon::DomainCPSRatingHistoryEntry + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **date_recorded** | **Time** | | | +| **rating** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCPSRatingHistoryEntry.new( + date_recorded: null, + rating: null +) +``` + diff --git a/docs/DomainCPSRatingIndicator.md b/docs/DomainCPSRatingIndicator.md new file mode 100644 index 00000000..84ea8157 --- /dev/null +++ b/docs/DomainCPSRatingIndicator.md @@ -0,0 +1,22 @@ +# Falcon::DomainCPSRatingIndicator + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **description** | **String** | | | +| **name** | **String** | | | +| **value** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCPSRatingIndicator.new( + description: null, + name: null, + value: null +) +``` + diff --git a/docs/DomainCVE.md b/docs/DomainCVE.md new file mode 100644 index 00000000..12574e0b --- /dev/null +++ b/docs/DomainCVE.md @@ -0,0 +1,66 @@ +# Falcon::DomainCVE + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **actors** | **Array<String>** | | | +| **additional_info** | **String** | | [optional] | +| **base_score** | **Float** | | | +| **cisa_kev_info** | [**DomainCISAKnownExploitedVulnerabilitiesInfo**](DomainCISAKnownExploitedVulnerabilitiesInfo.md) | | | +| **content_packages** | [**Array<DomainContentPackage>**](DomainContentPackage.md) | | [optional] | +| **cps_rating** | [**DomainCPSRating**](DomainCPSRating.md) | | | +| **cvss_v2_score** | [**DomainCVSSv2**](DomainCVSSv2.md) | | [optional] | +| **cvss_v3_score** | [**DomainCVSSv3**](DomainCVSSv3.md) | | [optional] | +| **cvss_version** | **String** | | | +| **description** | **String** | | [optional] | +| **exploitability_score** | **Float** | | [optional] | +| **exploited** | [**DomainCVEExploit**](DomainCVEExploit.md) | | [optional] | +| **id** | **String** | | | +| **impact_score** | **Float** | | [optional] | +| **is_supported** | **Boolean** | | | +| **metadata_hash** | **Integer** | | | +| **name** | **String** | | | +| **published_date** | **Time** | | | +| **references** | [**Array<DomainReference>**](DomainReference.md) | | | +| **severity** | **String** | | | +| **source** | **String** | | | +| **source_type** | **String** | | | +| **spotlight_published_date** | **Time** | | | +| **types** | **Array<String>** | | | +| **vector** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCVE.new( + actors: null, + additional_info: null, + base_score: null, + cisa_kev_info: null, + content_packages: null, + cps_rating: null, + cvss_v2_score: null, + cvss_v3_score: null, + cvss_version: null, + description: null, + exploitability_score: null, + exploited: null, + id: null, + impact_score: null, + is_supported: null, + metadata_hash: null, + name: null, + published_date: null, + references: null, + severity: null, + source: null, + source_type: null, + spotlight_published_date: null, + types: null, + vector: null +) +``` + diff --git a/docs/DomainCVEExploit.md b/docs/DomainCVEExploit.md new file mode 100644 index 00000000..3df539f8 --- /dev/null +++ b/docs/DomainCVEExploit.md @@ -0,0 +1,24 @@ +# Falcon::DomainCVEExploit + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **date_recorded** | **Time** | | | +| **sources** | [**Array<DomainCVEExploitSource>**](DomainCVEExploitSource.md) | | | +| **status** | **Integer** | | | +| **updated_timestamp** | **Time** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCVEExploit.new( + date_recorded: null, + sources: null, + status: null, + updated_timestamp: null +) +``` + diff --git a/docs/DomainCVEExploitReference.md b/docs/DomainCVEExploitReference.md new file mode 100644 index 00000000..f91b355e --- /dev/null +++ b/docs/DomainCVEExploitReference.md @@ -0,0 +1,22 @@ +# Falcon::DomainCVEExploitReference + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **kind** | **Integer** | | | +| **label** | **String** | | | +| **url** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCVEExploitReference.new( + kind: null, + label: null, + url: null +) +``` + diff --git a/docs/DomainCVEExploitSource.md b/docs/DomainCVEExploitSource.md new file mode 100644 index 00000000..e70f0ada --- /dev/null +++ b/docs/DomainCVEExploitSource.md @@ -0,0 +1,24 @@ +# Falcon::DomainCVEExploitSource + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **is_flat** | **Boolean** | | | +| **label** | **String** | | | +| **references** | [**Array<DomainCVEExploitReference>**](DomainCVEExploitReference.md) | | | +| **source** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCVEExploitSource.new( + is_flat: null, + label: null, + references: null, + source: null +) +``` + diff --git a/docs/DomainCVSSv2.md b/docs/DomainCVSSv2.md new file mode 100644 index 00000000..9ed597fd --- /dev/null +++ b/docs/DomainCVSSv2.md @@ -0,0 +1,26 @@ +# Falcon::DomainCVSSv2 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **base_score** | **Float** | | | +| **exploitability_score** | **Float** | | [optional] | +| **impact_score** | **Float** | | [optional] | +| **severity** | **String** | | [optional] | +| **vector** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCVSSv2.new( + base_score: null, + exploitability_score: null, + impact_score: null, + severity: null, + vector: null +) +``` + diff --git a/docs/DomainCVSSv3.md b/docs/DomainCVSSv3.md new file mode 100644 index 00000000..96a2443f --- /dev/null +++ b/docs/DomainCVSSv3.md @@ -0,0 +1,42 @@ +# Falcon::DomainCVSSv3 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **attack_complexity** | **String** | | [optional] | +| **attack_vector** | **String** | | [optional] | +| **availability_impact** | **String** | | [optional] | +| **base_score** | **Float** | | | +| **confidentiality_impact** | **String** | | [optional] | +| **exploitability_score** | **Float** | | [optional] | +| **impact_score** | **Float** | | [optional] | +| **integrity_impact** | **String** | | [optional] | +| **privileges_required** | **String** | | [optional] | +| **scope** | **String** | | [optional] | +| **severity** | **String** | | [optional] | +| **user_interaction** | **String** | | [optional] | +| **vector** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCVSSv3.new( + attack_complexity: null, + attack_vector: null, + availability_impact: null, + base_score: null, + confidentiality_impact: null, + exploitability_score: null, + impact_score: null, + integrity_impact: null, + privileges_required: null, + scope: null, + severity: null, + user_interaction: null, + vector: null +) +``` + diff --git a/docs/DomainCaseCreationRequestV2.md b/docs/DomainCaseCreationRequestV2.md index 945e5505..41e98a10 100644 --- a/docs/DomainCaseCreationRequestV2.md +++ b/docs/DomainCaseCreationRequestV2.md @@ -7,6 +7,8 @@ | **body** | **String** | | | | **detections** | [**Array<MessagesAlert>**](MessagesAlert.md) | | | | **incidents** | [**Array<MessagesIncident>**](MessagesIncident.md) | | | +| **malware_submission_id** | **String** | | | +| **recon_rule_type** | **String** | | | | **title** | **String** | | | | **type** | **String** | | | | **user_uuid** | **String** | | [optional] | @@ -20,6 +22,8 @@ instance = Falcon::DomainCaseCreationRequestV2.new( body: null, detections: null, incidents: null, + malware_submission_id: null, + recon_rule_type: null, title: null, type: null, user_uuid: null diff --git a/docs/DomainCipher.md b/docs/DomainCipher.md new file mode 100644 index 00000000..43af858e --- /dev/null +++ b/docs/DomainCipher.md @@ -0,0 +1,22 @@ +# Falcon::DomainCipher + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **bits** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | +| **version** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCipher.new( + bits: null, + name: null, + version: null +) +``` + diff --git a/docs/DomainCloudAWSAccountV1.md b/docs/DomainCloudAWSAccountV1.md new file mode 100644 index 00000000..8b38460d --- /dev/null +++ b/docs/DomainCloudAWSAccountV1.md @@ -0,0 +1,64 @@ +# Falcon::DomainCloudAWSAccountV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **created_at** | **Time** | | | +| **deleted_at** | **Time** | | | +| **id** | **Integer** | | | +| **updated_at** | **Time** | | | +| **account_id** | **String** | 12 digit AWS provided unique identifier for the account. | [optional] | +| **account_name** | **String** | AWS account name | [optional] | +| **account_type** | **String** | | [optional] | +| **active_regions** | **Array<String>** | | [optional] | +| **cid** | **String** | | [optional] | +| **conditions** | [**Array<DomainCloudCondition>**](DomainCloudCondition.md) | | [optional] | +| **csp_events** | **Boolean** | csp live events are enabled | [optional] | +| **environment** | **String** | | [optional] | +| **iam_service_permissions_status** | [**Array<DomainProductPermission>**](DomainProductPermission.md) | Permissions status for each product returned via API. | | +| **inventory_filter** | [**Array<DomainAWSInventoryFilterSetting>**](DomainAWSInventoryFilterSetting.md) | | | +| **is_custom_rolename** | **Boolean** | | | +| **is_master** | **Boolean** | | [optional] | +| **organization_id** | **String** | Up to 34 character AWS provided unique identifier for the organization. | [optional] | +| **products** | [**Array<DomainProductFeatures>**](DomainProductFeatures.md) | | | +| **resource_metadata** | [**DomainAWSAccountResourceMetadata**](DomainAWSAccountResourceMetadata.md) | | | +| **root_account_id** | **String** | 12 digit AWS provided unique identifier for the root account (of the organization this account belongs to). | [optional] | +| **root_iam_role** | **Boolean** | | [optional] | +| **status** | [**Array<DomainProductFeaturesStatus>**](DomainProductFeaturesStatus.md) | Account registration status for each product and feature | [optional] | +| **target_ous** | **Array<String>** | | [optional] | +| **use_existing_cloudtrail** | **Boolean** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCloudAWSAccountV1.new( + created_at: null, + deleted_at: null, + id: null, + updated_at: null, + account_id: null, + account_name: null, + account_type: null, + active_regions: null, + cid: null, + conditions: null, + csp_events: null, + environment: null, + iam_service_permissions_status: null, + inventory_filter: null, + is_custom_rolename: null, + is_master: null, + organization_id: null, + products: null, + resource_metadata: null, + root_account_id: null, + root_iam_role: null, + status: null, + target_ous: null, + use_existing_cloudtrail: null +) +``` + diff --git a/docs/DomainCloudCondition.md b/docs/DomainCloudCondition.md new file mode 100644 index 00000000..70a989c8 --- /dev/null +++ b/docs/DomainCloudCondition.md @@ -0,0 +1,32 @@ +# Falcon::DomainCloudCondition + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **feature** | **String** | | | +| **is_visible** | **Boolean** | | | +| **last_transition** | **Time** | | | +| **message** | **String** | | [optional] | +| **product** | **String** | | [optional] | +| **reason** | **String** | | [optional] | +| **status** | **String** | | | +| **type** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCloudCondition.new( + feature: null, + is_visible: null, + last_transition: null, + message: null, + product: null, + reason: null, + status: null, + type: null +) +``` + diff --git a/docs/DomainCommandExecuteResponseWrapper.md b/docs/DomainCommandExecuteResponseWrapper.md index 98b782d1..719916a4 100644 --- a/docs/DomainCommandExecuteResponseWrapper.md +++ b/docs/DomainCommandExecuteResponseWrapper.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainCommandExecuteResponse>**](DomainCommandExecuteResponse.md) | | | ## Example diff --git a/docs/DomainCompliance.md b/docs/DomainCompliance.md new file mode 100644 index 00000000..e55f0a5a --- /dev/null +++ b/docs/DomainCompliance.md @@ -0,0 +1,26 @@ +# Falcon::DomainCompliance + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **benchmarks** | **Array<String>** | | [optional] | +| **frameworks** | **Array<String>** | | [optional] | +| **requirements** | **Array<String>** | | [optional] | +| **sections** | **Array<String>** | | [optional] | +| **versions** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCompliance.new( + benchmarks: null, + frameworks: null, + requirements: null, + sections: null, + versions: null +) +``` + diff --git a/docs/DomainComplianceFindingsGroupedByImagesWithScroll.md b/docs/DomainComplianceFindingsGroupedByImagesWithScroll.md new file mode 100644 index 00000000..1bfef4b4 --- /dev/null +++ b/docs/DomainComplianceFindingsGroupedByImagesWithScroll.md @@ -0,0 +1,20 @@ +# Falcon::DomainComplianceFindingsGroupedByImagesWithScroll + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **after** | **Object** | | | +| **results** | [**Array<ModelsComplianceExportGroupedByImagesReport>**](ModelsComplianceExportGroupedByImagesReport.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainComplianceFindingsGroupedByImagesWithScroll.new( + after: null, + results: null +) +``` + diff --git a/docs/DomainCondition.md b/docs/DomainCondition.md index d29417c2..01750821 100644 --- a/docs/DomainCondition.md +++ b/docs/DomainCondition.md @@ -4,6 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **feature** | **String** | | | +| **is_visible** | **Boolean** | | | | **last_transition** | **Time** | | | | **message** | **String** | | [optional] | | **reason** | **String** | | [optional] | @@ -16,6 +18,8 @@ require 'crimson-falcon' instance = Falcon::DomainCondition.new( + feature: null, + is_visible: null, last_transition: null, message: null, reason: null, diff --git a/docs/DomainConfigV1.md b/docs/DomainConfigV1.md new file mode 100644 index 00000000..887db1ff --- /dev/null +++ b/docs/DomainConfigV1.md @@ -0,0 +1,26 @@ +# Falcon::DomainConfigV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **app_id** | **String** | App ID of the configuration | | +| **config** | **Object** | | | +| **config_id** | **String** | ID of the configuration | | +| **definition_id** | **String** | Definition ID of the configuration | | +| **state** | **String** | The current state of the config | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainConfigV1.new( + app_id: null, + config: null, + config_id: null, + definition_id: null, + state: null +) +``` + diff --git a/docs/DomainConfigsV1.md b/docs/DomainConfigsV1.md new file mode 100644 index 00000000..ee5d1f81 --- /dev/null +++ b/docs/DomainConfigsV1.md @@ -0,0 +1,22 @@ +# Falcon::DomainConfigsV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<DomainConfigV1>**](DomainConfigV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainConfigsV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainContentPackage.md b/docs/DomainContentPackage.md new file mode 100644 index 00000000..7059553a --- /dev/null +++ b/docs/DomainContentPackage.md @@ -0,0 +1,18 @@ +# Falcon::DomainContentPackage + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainContentPackage.new( + id: null +) +``` + diff --git a/docs/DomainControl.md b/docs/DomainControl.md new file mode 100644 index 00000000..8391fe09 --- /dev/null +++ b/docs/DomainControl.md @@ -0,0 +1,28 @@ +# Falcon::DomainControl + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **benchmarks** | [**Array<DomainControlBenchmark>**](DomainControlBenchmark.md) | | [optional] | +| **description** | **String** | | [optional] | +| **framework** | **String** | | [optional] | +| **name** | **String** | | [optional] | +| **section** | **String** | | [optional] | +| **version** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainControl.new( + benchmarks: null, + description: null, + framework: null, + name: null, + section: null, + version: null +) +``` + diff --git a/docs/DomainControlBenchmark.md b/docs/DomainControlBenchmark.md new file mode 100644 index 00000000..2a1e57f9 --- /dev/null +++ b/docs/DomainControlBenchmark.md @@ -0,0 +1,20 @@ +# Falcon::DomainControlBenchmark + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **name** | **String** | | [optional] | +| **version** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainControlBenchmark.new( + name: null, + version: null +) +``` + diff --git a/docs/DomainCreateSubmissionV1ErrorResponse.md b/docs/DomainCreateSubmissionV1ErrorResponse.md new file mode 100644 index 00000000..509d3068 --- /dev/null +++ b/docs/DomainCreateSubmissionV1ErrorResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainCreateSubmissionV1ErrorResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **analyzer** | **String** | | | +| **entity** | **String** | | [default to 'sha256'] | +| **type** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainCreateSubmissionV1ErrorResponse.new( + analyzer: null, + entity: null, + type: null +) +``` + diff --git a/docs/DomainCredentials.md b/docs/DomainCredentials.md index 680ac79a..201136e8 100644 --- a/docs/DomainCredentials.md +++ b/docs/DomainCredentials.md @@ -4,9 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **sites_all** | **Array<String>** | | [optional] | -| **sites_with_cookie_only** | **Array<String>** | | [optional] | -| **sites_with_password** | **Array<String>** | | [optional] | +| **token** | **String** | | | ## Example @@ -14,9 +12,7 @@ require 'crimson-falcon' instance = Falcon::DomainCredentials.new( - sites_all: null, - sites_with_cookie_only: null, - sites_with_password: null + token: null ) ``` diff --git a/docs/DomainDDOSAttackSource.md b/docs/DomainDDOSAttackSource.md deleted file mode 100644 index de2358ea..00000000 --- a/docs/DomainDDOSAttackSource.md +++ /dev/null @@ -1,42 +0,0 @@ -# Falcon::DomainDDOSAttackSource - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **attack_type** | **String** | The type of attack. One of `Amplification`, `Botnet`, `Other` | | -| **confidence** | **String** | The confidence level. One of `Low`, `Medium`, `High` | | -| **duration** | **Integer** | The duration of the attack in seconds | | -| **key** | **String** | The hash over target and date | | -| **network_protocol** | **String** | The network protocol used. One of `TCP`, `UDP`, `ICMP`, `Other` | | -| **protocols** | **Array<String>** | The protocols used in the attack | | -| **requests** | **Integer** | The number of requests against the target | | -| **start_time** | **String** | The ISO-8601 date for the attack start time | | -| **target** | **String** | The target's IPv4/6 address or hostname | | -| **target_details** | [**DomainDDOSTargetDetails**](DomainDDOSTargetDetails.md) | | | -| **target_domain** | **String** | The target's domain | | -| **target_ip** | **String** | The target's IPv4/6 address | | -| **target_ports** | **Array<Integer>** | List of ports where the attack took place | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainDDOSAttackSource.new( - attack_type: null, - confidence: null, - duration: null, - key: null, - network_protocol: null, - protocols: null, - requests: null, - start_time: null, - target: null, - target_details: null, - target_domain: null, - target_ip: null, - target_ports: null -) -``` - diff --git a/docs/DomainDDOSTargetDetails.md b/docs/DomainDDOSTargetDetails.md deleted file mode 100644 index f789cf2f..00000000 --- a/docs/DomainDDOSTargetDetails.md +++ /dev/null @@ -1,36 +0,0 @@ -# Falcon::DomainDDOSTargetDetails - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **asn** | **Integer** | The autonomous system number of the target | | -| **asn_name** | **String** | The autonomous system name of the target | | -| **cidr** | **String** | The CIDR of the IP address | | -| **city** | **String** | The target's city | | -| **company_name** | **String** | The name of the company who has registered the IP address | | -| **connection_type** | **String** | The connection type of the target | | -| **country** | **String** | The target's country | | -| **country_code** | **String** | | | -| **pdns** | **Array<String>** | The passive DNS of the target | | -| **rdns** | **String** | The reverse DNS hostname of the target's IP address | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainDDOSTargetDetails.new( - asn: null, - asn_name: null, - cidr: null, - city: null, - company_name: null, - connection_type: null, - country: null, - country_code: null, - pdns: null, - rdns: null -) -``` - diff --git a/docs/DomainDenormalizedAdversaryReference.md b/docs/DomainDenormalizedAdversaryReference.md new file mode 100644 index 00000000..c536be7c --- /dev/null +++ b/docs/DomainDenormalizedAdversaryReference.md @@ -0,0 +1,22 @@ +# Falcon::DomainDenormalizedAdversaryReference + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | | | +| **name** | **String** | | [optional] | +| **type** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDenormalizedAdversaryReference.new( + id: null, + name: null, + type: null +) +``` + diff --git a/docs/DomainDenormalizedCountry.md b/docs/DomainDenormalizedCountry.md new file mode 100644 index 00000000..b161dcc8 --- /dev/null +++ b/docs/DomainDenormalizedCountry.md @@ -0,0 +1,20 @@ +# Falcon::DomainDenormalizedCountry + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **code** | **String** | | | +| **name** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDenormalizedCountry.new( + code: null, + name: null +) +``` + diff --git a/docs/DomainDenormalizedCustomerTarget.md b/docs/DomainDenormalizedCustomerTarget.md new file mode 100644 index 00000000..7233182d --- /dev/null +++ b/docs/DomainDenormalizedCustomerTarget.md @@ -0,0 +1,18 @@ +# Falcon::DomainDenormalizedCustomerTarget + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **customer_target** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDenormalizedCustomerTarget.new( + customer_target: null +) +``` + diff --git a/docs/DomainDenormalizedReportReference.md b/docs/DomainDenormalizedReportReference.md new file mode 100644 index 00000000..ec47361b --- /dev/null +++ b/docs/DomainDenormalizedReportReference.md @@ -0,0 +1,22 @@ +# Falcon::DomainDenormalizedReportReference + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **publish_date** | **String** | | [optional] | +| **report_id** | **String** | | | +| **title** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDenormalizedReportReference.new( + publish_date: null, + report_id: null, + title: null +) +``` + diff --git a/docs/DomainDenormalizedSector.md b/docs/DomainDenormalizedSector.md new file mode 100644 index 00000000..79f7d73d --- /dev/null +++ b/docs/DomainDenormalizedSector.md @@ -0,0 +1,20 @@ +# Falcon::DomainDenormalizedSector + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | | | +| **name** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDenormalizedSector.new( + id: null, + name: null +) +``` + diff --git a/docs/DomainDenormalizedThreatReference.md b/docs/DomainDenormalizedThreatReference.md new file mode 100644 index 00000000..6bd5a901 --- /dev/null +++ b/docs/DomainDenormalizedThreatReference.md @@ -0,0 +1,20 @@ +# Falcon::DomainDenormalizedThreatReference + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **name** | **String** | | [optional] | +| **slug** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDenormalizedThreatReference.new( + name: null, + slug: null +) +``` + diff --git a/docs/DomainDenormalizedThreatUsedMitre.md b/docs/DomainDenormalizedThreatUsedMitre.md new file mode 100644 index 00000000..093a60c3 --- /dev/null +++ b/docs/DomainDenormalizedThreatUsedMitre.md @@ -0,0 +1,30 @@ +# Falcon::DomainDenormalizedThreatUsedMitre + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **attack_id** | **String** | | [optional] | +| **observables** | **Array<String>** | | [optional] | +| **reports** | [**Array<DomainDenormalizedReportReference>**](DomainDenormalizedReportReference.md) | | [optional] | +| **tactic_id** | **String** | | [optional] | +| **tactic_name** | **String** | | [optional] | +| **technique_id** | **String** | | [optional] | +| **technique_name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDenormalizedThreatUsedMitre.new( + attack_id: null, + observables: null, + reports: null, + tactic_id: null, + tactic_name: null, + technique_id: null, + technique_name: null +) +``` + diff --git a/docs/DomainDevice.md b/docs/DomainDevice.md index bdfab0e1..a3ea0faf 100644 --- a/docs/DomainDevice.md +++ b/docs/DomainDevice.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **platform_id_numeric** | **Integer** | | | +| **_** | **Integer** | | | | **agent_version** | **String** | | [optional] | | **config_id_base** | **String** | | [optional] | | **config_id_build** | **String** | | [optional] | @@ -46,7 +46,7 @@ require 'crimson-falcon' instance = Falcon::DomainDevice.new( - platform_id_numeric: null, + _: null, agent_version: null, config_id_base: null, config_id_build: null, diff --git a/docs/DomainDiscoverAPIAccount.md b/docs/DomainDiscoverAPIAccount.md index 3981ba4a..5da7ebf4 100644 --- a/docs/DomainDiscoverAPIAccount.md +++ b/docs/DomainDiscoverAPIAccount.md @@ -12,13 +12,13 @@ | **id** | **String** | The unique ID of the account. | | | **last_failed_login_hostname** | **String** | The hostname of the asset on which the account last made a failed login. | [optional] | | **last_failed_login_timestamp** | **String** | The date and time of the account's most recent failed login. | [optional] | -| **last_failed_login_type** | **String** | The type of the account's most recent failed login. <ul><li>Interactive</li><li>Network</li><li>Batch</li><li>Service</li><li>Unlock</li><li>Network cleartext</li><li>New credentials</li><li>Terminal server</li><li>Cached credentials</li><li>Auditing</li></ul> | [optional] | +| **last_failed_login_type** | **String** | The type of the account's most recent failed login. <ul><li>Interactive</li><li>Network</li><li>Batch</li><li>Service</li><li>Unlock</li><li>Network cleartext</li><li>New credentials</li><li>Remote interactive</li><li>Cached credentials</li><li>Auditing</li></ul> | [optional] | | **last_successful_login_host_city** | **String** | The name of the city where the asset is located on which the account last successfully logged in. | [optional] | | **last_successful_login_host_country** | **String** | The name of the country where the asset is located on which the account last successfully logged in. | [optional] | | **last_successful_login_hostname** | **String** | The hostname of the asset on which the account last successfully logged in. | [optional] | | **last_successful_login_remote_ip** | **String** | The remote IP address of the asset on which the account last successfully logged in. | [optional] | | **last_successful_login_timestamp** | **String** | The date and time of the account's most recent successful login. | [optional] | -| **last_successful_login_type** | **String** | The type of the account's most recent successful login. <ul><li>Interactive</li><li>Service</li><li>Terminal server</li><li>Cached credentials</li><li>Auditing</li></ul> | [optional] | +| **last_successful_login_type** | **String** | The type of the account's most recent successful login. <ul><li>Interactive</li><li>Network</li><li>Service</li><li>Remote interactive</li><li>Cached credentials</li><li>Auditing</li></ul> | [optional] | | **local_admin_privileges** | **String** | Whether the account has local administrator privileges (Yes, No). | [optional] | | **login_domain** | **String** | The domain of the asset the account successfully logged in to. | [optional] | | **password_last_set_timestamp** | **String** | The most recent date and time the account's password was changed. | [optional] | diff --git a/docs/DomainDiscoverAPIAccountEntitiesResponse.md b/docs/DomainDiscoverAPIAccountEntitiesResponse.md index 26288595..84d1d2a2 100644 --- a/docs/DomainDiscoverAPIAccountEntitiesResponse.md +++ b/docs/DomainDiscoverAPIAccountEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainDiscoverAPIAccount>**](DomainDiscoverAPIAccount.md) | | | ## Example diff --git a/docs/DomainDiscoverAPIApplication.md b/docs/DomainDiscoverAPIApplication.md index be87b761..10caec20 100644 --- a/docs/DomainDiscoverAPIApplication.md +++ b/docs/DomainDiscoverAPIApplication.md @@ -5,6 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **architectures** | **Array<String>** | Represents the application architectures (x86 / x64). | [optional] | +| **browser_extension** | [**DomainDiscoverAPIApplicationBrowserExtension**](DomainDiscoverAPIApplicationBrowserExtension.md) | | [optional] | | **category** | **String** | The category of the application. | [optional] | | **cid** | **String** | The customer ID of this application. | | | **first_seen_timestamp** | **String** | Timestamp when this application was first seen by the cloud. | [optional] | @@ -24,6 +25,7 @@ | **name** | **String** | The name of the application. | [optional] | | **name_vendor** | **String** | The combined field on which we will be able to group by app. | [optional] | | **name_vendor_version** | **String** | The combined field on which we will be able to group by app + version. | [optional] | +| **software_type** | **String** | The type of software of the application. | [optional] | | **vendor** | **String** | The name the application's vendor. | [optional] | | **version** | **String** | The version of the application. | [optional] | | **versioning_scheme** | **String** | The version scheme of the application. | [optional] | @@ -35,6 +37,7 @@ require 'crimson-falcon' instance = Falcon::DomainDiscoverAPIApplication.new( architectures: null, + browser_extension: null, category: null, cid: null, first_seen_timestamp: null, @@ -54,6 +57,7 @@ instance = Falcon::DomainDiscoverAPIApplication.new( name: null, name_vendor: null, name_vendor_version: null, + software_type: null, vendor: null, version: null, versioning_scheme: null diff --git a/docs/DomainDiscoverAPIApplicationBrowserExtension.md b/docs/DomainDiscoverAPIApplicationBrowserExtension.md new file mode 100644 index 00000000..2e378f7f --- /dev/null +++ b/docs/DomainDiscoverAPIApplicationBrowserExtension.md @@ -0,0 +1,32 @@ +# Falcon::DomainDiscoverAPIApplicationBrowserExtension + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **architecture** | **String** | The architecture of the browser extension | [optional] | +| **browser_name** | **String** | The name of the browser that's running the extension | [optional] | +| **enabled** | **Boolean** | Describes if the extension is enabled on the host on at least one browser profile | | +| **id** | **String** | The unique ID of the browser extension. | | +| **installations** | [**Array<DomainDiscoverAPIApplicationBrowserExtensionInstallation>**](DomainDiscoverAPIApplicationBrowserExtensionInstallation.md) | The installations of this browser extension for each browser profile | [optional] | +| **permission_severity** | **String** | The computed serverity of all permissions requested by the browser extension | [optional] | +| **permissions** | **Array<String>** | The browser permissions the extension requires to run | [optional] | +| **store_url** | **String** | The calculated browser webstore URL for this extension | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDiscoverAPIApplicationBrowserExtension.new( + architecture: null, + browser_name: null, + enabled: null, + id: null, + installations: null, + permission_severity: null, + permissions: null, + store_url: null +) +``` + diff --git a/docs/DomainDiscoverAPIApplicationBrowserExtensionInstallation.md b/docs/DomainDiscoverAPIApplicationBrowserExtensionInstallation.md new file mode 100644 index 00000000..894b3376 --- /dev/null +++ b/docs/DomainDiscoverAPIApplicationBrowserExtensionInstallation.md @@ -0,0 +1,34 @@ +# Falcon::DomainDiscoverAPIApplicationBrowserExtensionInstallation + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **browser_profile_id** | **String** | The browser profile ID of this installation | [optional] | +| **browser_profile_name** | **String** | The browser profile name of this installation | [optional] | +| **browser_version** | **String** | The version of the browser running this extension | [optional] | +| **enabled** | **Boolean** | Describes if the extension is enabled on this browser profile installation | | +| **method** | **String** | The method that was used to install the browser extension | [optional] | +| **path** | **String** | The file path location of the browser extension | [optional] | +| **role** | **String** | The role of the account that installed the extension | [optional] | +| **user_sid** | **String** | The host user SID for which the extension was installed | [optional] | +| **username** | **String** | The host username for which the extension was installed | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDiscoverAPIApplicationBrowserExtensionInstallation.new( + browser_profile_id: null, + browser_profile_name: null, + browser_version: null, + enabled: null, + method: null, + path: null, + role: null, + user_sid: null, + username: null +) +``` + diff --git a/docs/DomainDiscoverAPIApplicationEntitiesResponse.md b/docs/DomainDiscoverAPIApplicationEntitiesResponse.md index 183b5d6d..1659eb6a 100644 --- a/docs/DomainDiscoverAPIApplicationEntitiesResponse.md +++ b/docs/DomainDiscoverAPIApplicationEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainDiscoverAPIApplication>**](DomainDiscoverAPIApplication.md) | | | ## Example diff --git a/docs/DomainDiscoverAPICombinedApplicationsResponse.md b/docs/DomainDiscoverAPICombinedApplicationsResponse.md new file mode 100644 index 00000000..9bac8062 --- /dev/null +++ b/docs/DomainDiscoverAPICombinedApplicationsResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainDiscoverAPICombinedApplicationsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**DomainDiscoverAPIMetaInfo**](DomainDiscoverAPIMetaInfo.md) | | | +| **resources** | [**Array<DomainDiscoverAPIApplication>**](DomainDiscoverAPIApplication.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDiscoverAPICombinedApplicationsResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainDiscoverAPICombinedHostsResponse.md b/docs/DomainDiscoverAPICombinedHostsResponse.md new file mode 100644 index 00000000..65127358 --- /dev/null +++ b/docs/DomainDiscoverAPICombinedHostsResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainDiscoverAPICombinedHostsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**DomainDiscoverAPIMetaInfo**](DomainDiscoverAPIMetaInfo.md) | | | +| **resources** | [**Array<DomainDiscoverAPIHost>**](DomainDiscoverAPIHost.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDiscoverAPICombinedHostsResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainDiscoverAPIHost.md b/docs/DomainDiscoverAPIHost.md index c1e7d36a..8d825fbe 100644 --- a/docs/DomainDiscoverAPIHost.md +++ b/docs/DomainDiscoverAPIHost.md @@ -20,8 +20,10 @@ | **bios_id** | **String** | The id of the bios on the host | [optional] | | **bios_manufacturer** | **String** | The name of the asset's BIOS manufacturer. | [optional] | | **bios_version** | **String** | The asset's BIOS version. | [optional] | +| **business_criticality** | **String** | The business criticality of the IoT asset. | [optional] | | **cid** | **String** | The asset's customer ID. | | | **city** | **String** | The name of the city where the asset is located. | [optional] | +| **claroty_id** | **String** | The external ID of the IoT Device in 3rd Party System(Claroty). | [optional] | | **classification** | **String** | How the server is classified, such as production, development, disaster recovery, or user acceptance testing. | [optional] | | **cloud_account_id** | **String** | The cloud provider assigned identifier of the cloud account the instance is located in. | [optional] | | **cloud_instance_id** | **String** | The id of the cloud instance. | [optional] | @@ -49,15 +51,22 @@ | **data_providers_count** | **Integer** | How many services provided data about the asset. | [optional] | | **department** | **String** | The department where the asset is used. | [optional] | | **descriptions** | **Array<String>** | The descriptions of the asset in Active Directory (Cannot be used for filtering, sorting, or querying). | [optional] | +| **device_class** | **String** | The Device Class of IoT Asset | [optional] | +| **device_family** | **String** | The Device Family of IoT Asset | [optional] | +| **device_mode** | **String** | The device mode of the host | [optional] | +| **device_slots** | [**Array<DomainDiscoverAPIDeviceSlot>**](DomainDiscoverAPIDeviceSlot.md) | The slots of IoT Asset | [optional] | +| **device_type** | **String** | The Device Type of IoT Asset | [optional] | | **discoverer_aids** | **Array<String>** | The agent IDs of the Falcon sensors installed on the sources that discovered the asset. | [optional] | | **discoverer_count** | **Integer** | The number of sources that discovered the asset. | [optional] | | **discoverer_criticalities** | **Array<String>** | The criticalities of the sources that discovered the asset | [optional] | | **discoverer_hostnames** | **Array<String>** | The hostnames of the sources that discovered the asset. | [optional] | +| **discoverer_ics_collector_ids** | **Array<String>** | A list of agent IDs of the Falcon sensors installed on the source hosts that discovered the asset via ICS Asset discovery mechanism | [optional] | | **discoverer_platform_names** | **Array<String>** | The platform names of the sources that discovered the asset. | [optional] | | **discoverer_product_type_descs** | **Array<String>** | The product type descriptions of the sources that discovered the asset. | [optional] | | **discoverer_tags** | **Array<String>** | The tags of the sources that discovered the asset. | [optional] | | **discovering_by** | **Array<String>** | Represents the status of a managed host (“Not Discovering“, “Passive“, “Active“ or both). | [optional] | | **disk_sizes** | [**Array<DomainDiscoverAPIDiskSize>**](DomainDiscoverAPIDiskSize.md) | The names and sizes of the disks on the asset | [optional] | +| **dragos_id** | **String** | The ID generated by dragos asset discovery mechanism | [optional] | | **email** | **String** | The email of the asset as listed in Active Directory. | [optional] | | **encrypted_drives** | **Array<String>** | The list of encrypted drives on the host | [optional] | | **encrypted_drives_count** | **Integer** | The count of encrypted drives on the host | [optional] | @@ -71,6 +80,7 @@ | **fqdn** | **String** | The fully qualified domain name of the asset. | [optional] | | **groups** | **Array<String>** | The host management groups the asset is part of. | [optional] | | **hostname** | **String** | The asset's hostname. | [optional] | +| **ics_id** | **String** | The ID generated by ICS collector asset discovery mechanism | [optional] | | **id** | **String** | The unique ID of the asset. | | | **internet_exposure** | **String** | Whether the asset is exposed to the internet (Yes, No or Pending). | [optional] | | **internet_exposure_description** | **String** | The description the user entered when manually assigning a internet exposure level | [optional] | @@ -79,6 +89,7 @@ | **kernel_version** | **String** | For Linux and Mac hosts: the major version, minor version, and patch version of the kernel for the asset. For Windows hosts: the build number of the asset. | [optional] | | **last_discoverer_aid** | **String** | The agent ID of the Falcon sensor installed on the source that most recently discovered the asset. | [optional] | | **last_discoverer_hostname** | **String** | The hostname of the last source that discovered the asset. | [optional] | +| **last_discoverer_ics_collector_id** | **String** | The agent ID of the Falcon sensor installed on the source host that most recently discovered the asset via ICS Asset discovery mechanism | [optional] | | **last_seen_timestamp** | **String** | The most recent time the asset was seen in your environment. | [optional] | | **local_ip_addresses** | **Array<String>** | Historical local IPv4 addresses associated with the asset. | [optional] | | **local_ips_count** | **Integer** | The number of historical local IPv4 addresses the asset has had. | [optional] | @@ -90,8 +101,11 @@ | **max_memory_usage** | **Integer** | The max memory usage in the last 15 minutes on the host | [optional] | | **max_memory_usage_pct** | **Integer** | The max memory usage percent in the last 15 minutes on the host | [optional] | | **max_processor_usage** | **Integer** | The max processor usage in the last 15 minutes on the host | [optional] | +| **memory_total** | **Integer** | The Total memory. | [optional] | | **mount_storage_info** | [**Array<DomainDiscoverAPIMountStorageInfo>**](DomainDiscoverAPIMountStorageInfo.md) | The path, used and available space on mounted disks | [optional] | +| **network_id** | **String** | The network ID to which device is connected. | [optional] | | **network_interfaces** | [**Array<DomainDiscoverAPINetworkInterface>**](DomainDiscoverAPINetworkInterface.md) | The asset's network interfaces (Cannot be used for filtering, sorting, or querying). | [optional] | +| **network_scanned_ids** | **Array<String>** | The set of unique identifiers for the asset scanned by the Falcon sensor. | [optional] | | **number_of_disk_drives** | **Integer** | The number of active physical drives available on the system. | [optional] | | **object_guid** | **String** | The globally unique identifier (GUID) of the asset in Active Directory. | [optional] | | **object_sid** | **String** | The security identifier (SID) of the asset in Active Directory. | [optional] | @@ -99,6 +113,9 @@ | **os_security** | [**DomainDiscoverAPIOsSecurity**](DomainDiscoverAPIOsSecurity.md) | | [optional] | | **os_service_pack** | **String** | The OS service pack on the asset. | [optional] | | **os_version** | **String** | The OS version of the asset. | [optional] | +| **ot_information_sources** | **Array<String>** | A list of sources through which host is discovered | [optional] | +| **ot_network_ids** | **Array<String>** | A list of network ids to which host belongs | [optional] | +| **ot_serial_numbers** | **Array<String>** | A list of ot serial numbers that discovered with host | [optional] | | **ou** | **String** | The organizational unit of the asset. | [optional] | | **override_asset_roles** | **Boolean** | Whether a user overrode automatically assigned asset roles to manually assign a role to the asset (true or false). | [optional] | | **override_criticality_rules** | **Boolean** | Whether a user overrode a criticality rule to manually assign a criticality level on the asset (true or false). | [optional] | @@ -109,10 +126,15 @@ | **processor_package_count** | **Integer** | The number of physical processors available on the system. | [optional] | | **product_type** | **String** | The product type of the asset represented as a number (1 = Workstation, 2 = Domain Controller, 3 = Server). | [optional] | | **product_type_desc** | **String** | The product type of the asset (Workstation, Domain Controller, Server). | [optional] | +| **protocols** | **Array<String>** | The list of protocols supported by the device | [optional] | +| **purdue_level** | **String** | The purdue level of IoT Asset | [optional] | +| **qualys_id** | **String** | Represents the unique identifier of an asset reported by Qualys | [optional] | +| **qualys_network_id** | **String** | Represents the network id of an asset reported by Qualys | [optional] | | **reduced_functionality_mode** | **String** | Whether the asset is in reduced functionality mode (Yes or No). | [optional] | | **servicenow_id** | **String** | The unique identifier of the asset from ServiceNow, if any. | [optional] | | **site_name** | **String** | The site name of the domain the asset is joined to (applies only to Windows hosts). | [optional] | | **state** | **String** | The name of the U.S. state where the asset is located. | [optional] | +| **subnet** | **String** | The subnet to which device is connected. | [optional] | | **system_manufacturer** | **String** | The asset's system manufacturer. | [optional] | | **system_product_name** | **String** | The asset's system product name. | [optional] | | **system_serial_number** | **String** | The asset's system serial number. | [optional] | @@ -129,6 +151,9 @@ | **used_for** | **String** | What the asset is used for, such as production, staging, or QA. | [optional] | | **user_asset_roles** | **Array<String>** | The asset role or roles manually assigned to the asset. | [optional] | | **user_internet_exposure** | **String** | The internet exposure manually assigned to the asset | [optional] | +| **virtual_zone** | **String** | The Virtual Zone name in which device is installed. | [optional] | +| **vlan** | **Array<String>** | The VLAN IDs to which device is connected. | [optional] | +| **xdome_id** | **String** | The external ID of the IoT Device in 3rd Party System(Claroty Xdome) | [optional] | ## Example @@ -152,8 +177,10 @@ instance = Falcon::DomainDiscoverAPIHost.new( bios_id: null, bios_manufacturer: null, bios_version: null, + business_criticality: null, cid: null, city: null, + claroty_id: null, classification: null, cloud_account_id: null, cloud_instance_id: null, @@ -181,15 +208,22 @@ instance = Falcon::DomainDiscoverAPIHost.new( data_providers_count: null, department: null, descriptions: null, + device_class: null, + device_family: null, + device_mode: null, + device_slots: null, + device_type: null, discoverer_aids: null, discoverer_count: null, discoverer_criticalities: null, discoverer_hostnames: null, + discoverer_ics_collector_ids: null, discoverer_platform_names: null, discoverer_product_type_descs: null, discoverer_tags: null, discovering_by: null, disk_sizes: null, + dragos_id: null, email: null, encrypted_drives: null, encrypted_drives_count: null, @@ -203,6 +237,7 @@ instance = Falcon::DomainDiscoverAPIHost.new( fqdn: null, groups: null, hostname: null, + ics_id: null, id: null, internet_exposure: null, internet_exposure_description: null, @@ -211,6 +246,7 @@ instance = Falcon::DomainDiscoverAPIHost.new( kernel_version: null, last_discoverer_aid: null, last_discoverer_hostname: null, + last_discoverer_ics_collector_id: null, last_seen_timestamp: null, local_ip_addresses: null, local_ips_count: null, @@ -222,8 +258,11 @@ instance = Falcon::DomainDiscoverAPIHost.new( max_memory_usage: null, max_memory_usage_pct: null, max_processor_usage: null, + memory_total: null, mount_storage_info: null, + network_id: null, network_interfaces: null, + network_scanned_ids: null, number_of_disk_drives: null, object_guid: null, object_sid: null, @@ -231,6 +270,9 @@ instance = Falcon::DomainDiscoverAPIHost.new( os_security: null, os_service_pack: null, os_version: null, + ot_information_sources: null, + ot_network_ids: null, + ot_serial_numbers: null, ou: null, override_asset_roles: null, override_criticality_rules: null, @@ -241,10 +283,15 @@ instance = Falcon::DomainDiscoverAPIHost.new( processor_package_count: null, product_type: null, product_type_desc: null, + protocols: null, + purdue_level: null, + qualys_id: null, + qualys_network_id: null, reduced_functionality_mode: null, servicenow_id: null, site_name: null, state: null, + subnet: null, system_manufacturer: null, system_product_name: null, system_serial_number: null, @@ -260,7 +307,10 @@ instance = Falcon::DomainDiscoverAPIHost.new( used_disk_space_pct: null, used_for: null, user_asset_roles: null, - user_internet_exposure: null + user_internet_exposure: null, + virtual_zone: null, + vlan: null, + xdome_id: null ) ``` diff --git a/docs/DomainDiscoverAPIHostEntitiesResponse.md b/docs/DomainDiscoverAPIHostEntitiesResponse.md index 65127884..a66f81f8 100644 --- a/docs/DomainDiscoverAPIHostEntitiesResponse.md +++ b/docs/DomainDiscoverAPIHostEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainDiscoverAPIHost>**](DomainDiscoverAPIHost.md) | | | ## Example diff --git a/docs/DomainDiscoverAPIIoTHost.md b/docs/DomainDiscoverAPIIoTHost.md index 777dfc57..3b39a435 100644 --- a/docs/DomainDiscoverAPIIoTHost.md +++ b/docs/DomainDiscoverAPIIoTHost.md @@ -4,98 +4,143 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **account_enabled** | **String** | Whether the asset is account-enabled in Active Directory (Yes or No). | [optional] | +| **ad_user_account_control** | **Integer** | The user account control properties in Active Directory. | [optional] | | **agent_version** | **String** | The version of the Falcon sensor that's installed on the asset. | [optional] | | **aid** | **String** | The agent ID of the Falcon sensor installed on the asset. | [optional] | -| **available_disk_space** | **Integer** | The Amount of available disk space on the asset in GB | [optional] | -| **average_memory_usage** | **Integer** | The average memory usage in the last 15 minutes on the asset | [optional] | -| **average_processor_usage** | **Integer** | The average processor usage in the last 15 minutes on the asset | [optional] | -| **bios_id** | **String** | The id of the bios on the asset | [optional] | +| **asset_roles** | **Array<String>** | The asset role or roles currently assigned to the asset either automatically or by a user (Jump host, Highly connected, Highly active, Server by behavior, DHCP server, DNS server, FTP server, SSH server, or Web server). | [optional] | +| **assigned_to** | **String** | The first and last name of the person who is assigned to this asset. | [optional] | +| **available_disk_space** | **Integer** | The available disk space in the last 15 minutes on the host | [optional] | +| **available_disk_space_pct** | **Integer** | The available disk space percent in the last 15 minutes on the host | [optional] | +| **average_memory_usage** | **Integer** | The average memory usage in the last 15 minutes on the host | [optional] | +| **average_memory_usage_pct** | **Integer** | The average memory usage percent in the last 15 minutes on the host | [optional] | +| **average_processor_usage** | **Integer** | The average processor usage in the last 15 minutes on the host | [optional] | +| **bios_hashes_data** | [**Array<DomainDiscoverAPIBiosHashesData>**](DomainDiscoverAPIBiosHashesData.md) | The list of found sha256 and their measurement types | [optional] | +| **bios_id** | **String** | The id of the bios on the host | [optional] | | **bios_manufacturer** | **String** | The name of the asset's BIOS manufacturer. | [optional] | | **bios_version** | **String** | The asset's BIOS version. | [optional] | | **business_criticality** | **String** | The business criticality of the IoT asset. | [optional] | | **cid** | **String** | The asset's customer ID. | | | **city** | **String** | The name of the city where the asset is located. | [optional] | | **claroty_id** | **String** | The external ID of the IoT Device in 3rd Party System(Claroty). | [optional] | -| **computed_internet_exposure** | **String** | Whether the asset is exposed to the internet (Yes or Unknown) | [optional] | -| **computed_internet_exposure_external_ip** | **String** | External IP that is exposed to the Internet | [optional] | -| **computed_internet_exposure_last_seen** | **String** | Timestamp when the asset was last seen as exposed to the Internet | [optional] | +| **classification** | **String** | How the server is classified, such as production, development, disaster recovery, or user acceptance testing. | [optional] | +| **computed_asset_roles** | **Array<String>** | The asset role or roles assigned to the asset automatically (Jump host, Highly connected, Highly active, Server by behavior, DHCP server, DNS server, FTP server, SSH server, or Web server). | [optional] | +| **computed_internet_exposure** | **String** | Whether the asset is exposed to the internet as determined automatically (Yes, No, or Pending). | [optional] | +| **computed_internet_exposure_external_ip** | **String** | External IP exposed to the internet. | [optional] | +| **computed_internet_exposure_last_seen** | **String** | When the asset was last seen as internet exposed. | [optional] | | **confidence** | **Integer** | The level of confidence that the asset is a corporate asset (25 = low confidence, 50 = medium confidence, 75 = high confidence). | [optional] | | **country** | **String** | The name of the country where the asset is located. | [optional] | -| **cpu_processor_name** | **String** | The Detailed processor name | [optional] | -| **credential_guard_status** | **Boolean** | The credential guard status of the asset | [optional] | +| **cpu_manufacturer** | **String** | The manufacturer of the asset's CPU. | [optional] | +| **cpu_processor_name** | **String** | The name of the processor on the system | [optional] | +| **creation_timestamp** | **String** | The time the asset was created in Active Directory, according to LDAP info. | [optional] | +| **criticality** | **String** | The criticality level of the asset (Critical, High, Noncritical, or Unassigned) | [optional] | +| **criticality_description** | **String** | The description the user entered when manually assigning a criticality level | [optional] | +| **criticality_rule_id** | **String** | The ID of the criticality rule that has most recently applied to the asset. | [optional] | +| **criticality_timestamp** | **String** | The date and time the criticality level was manually assigned | [optional] | +| **criticality_username** | **String** | The username of the account that manually assigned the criticality level | [optional] | | **current_local_ip** | **String** | The last seen local IPv4 address of the asset. | [optional] | -| **data_providers** | **Array<String>** | The asset's data providers. | [optional] | -| **data_providers_count** | **Integer** | The number of data providers for the asset. | [optional] | +| **current_network_prefix** | **String** | The last seen network prefix of the asset. | [optional] | +| **data_providers** | **Array<String>** | Where the data about the asset came from (such as CrowdStrike, ServiceNow, or Active Directory). | [optional] | +| **data_providers_count** | **Integer** | How many services provided data about the asset. | [optional] | +| **department** | **String** | The department where the asset is used. | [optional] | +| **descriptions** | **Array<String>** | The descriptions of the asset in Active Directory (Cannot be used for filtering, sorting, or querying). | [optional] | | **device_class** | **String** | The Device Class of IoT Asset | [optional] | | **device_family** | **String** | The Device Family of IoT Asset | [optional] | -| **device_guard_status** | **Boolean** | The device guard status of the asset | [optional] | +| **device_mode** | **String** | The device mode of the host | [optional] | | **device_slots** | [**Array<DomainDiscoverAPIDeviceSlot>**](DomainDiscoverAPIDeviceSlot.md) | The slots of IoT Asset | [optional] | | **device_type** | **String** | The Device Type of IoT Asset | [optional] | +| **discoverer_aids** | **Array<String>** | The agent IDs of the Falcon sensors installed on the sources that discovered the asset. | [optional] | | **discoverer_count** | **Integer** | The number of sources that discovered the asset. | [optional] | +| **discoverer_criticalities** | **Array<String>** | The criticalities of the sources that discovered the asset | [optional] | +| **discoverer_hostnames** | **Array<String>** | The hostnames of the sources that discovered the asset. | [optional] | | **discoverer_ics_collector_ids** | **Array<String>** | A list of agent IDs of the Falcon sensors installed on the source hosts that discovered the asset via ICS Asset discovery mechanism | [optional] | +| **discoverer_platform_names** | **Array<String>** | The platform names of the sources that discovered the asset. | [optional] | | **discoverer_product_type_descs** | **Array<String>** | The product type descriptions of the sources that discovered the asset. | [optional] | +| **discoverer_tags** | **Array<String>** | The tags of the sources that discovered the asset. | [optional] | +| **discovering_by** | **Array<String>** | Represents the status of a managed host (“Not Discovering“, “Passive“, “Active“ or both). | [optional] | | **disk_sizes** | [**Array<DomainDiscoverAPIDiskSize>**](DomainDiscoverAPIDiskSize.md) | The names and sizes of the disks on the asset | [optional] | | **dragos_id** | **String** | The ID generated by dragos asset discovery mechanism | [optional] | -| **encrypted_drives** | **Array<String>** | The list of encrypted drives on the asset | [optional] | -| **encrypted_drives_count** | **Integer** | The count of encrypted drives on the asset | [optional] | -| **encryption_status** | **String** | The encryption status of the asset | [optional] | +| **email** | **String** | The email of the asset as listed in Active Directory. | [optional] | +| **encrypted_drives** | **Array<String>** | The list of encrypted drives on the host | [optional] | +| **encrypted_drives_count** | **Integer** | The count of encrypted drives on the host | [optional] | +| **encryption_status** | **String** | The encryption status of the host | [optional] | | **entity_type** | **String** | The type of asset (managed, unmanaged, unsupported). | [optional] | | **external_ip** | **String** | The external IPv4 address of the asset. | [optional] | | **field_metadata** | [**Hash<String, DomainDiscoverAPIFieldMetadata>**](DomainDiscoverAPIFieldMetadata.md) | Lists the data providers for each property in the response (Cannot be used for filtering, sorting, or querying). | [optional] | +| **first_discoverer_aid** | **String** | The agent ID of the Falcon sensor on the source that first discovered the asset. | [optional] | | **first_seen_timestamp** | **String** | The first time the asset was seen in your environment. | [optional] | +| **form_factor** | **String** | The form factor of the host | [optional] | +| **fqdn** | **String** | The fully qualified domain name of the asset. | [optional] | | **groups** | **Array<String>** | The host management groups the asset is part of. | [optional] | -| **hostname** | **String** | The asset's hostname . | [optional] | +| **hostname** | **String** | The asset's hostname. | [optional] | | **ics_id** | **String** | The ID generated by ICS collector asset discovery mechanism | [optional] | | **id** | **String** | The unique ID of the asset. | | -| **internet_exposure** | **String** | Whether the asset is exposed to the internet (Yes or Unknown) | [optional] | -| **iommu_protection_status** | **String** | The iommu protection status of the host | [optional] | -| **kernel_dma_protection_status** | **Boolean** | The kernel dma protection status of the asset | [optional] | +| **internet_exposure** | **String** | Whether the asset is exposed to the internet (Yes, No or Pending). | [optional] | +| **internet_exposure_description** | **String** | The description the user entered when manually assigning a internet exposure level | [optional] | +| **internet_exposure_timestamp** | **String** | The date and time the internet exposure level was manually assigned | [optional] | +| **internet_exposure_username** | **String** | The username of the account that manually assigned the internet exposure level | [optional] | | **kernel_version** | **String** | For Linux and Mac hosts: the major version, minor version, and patch version of the kernel for the asset. For Windows hosts: the build number of the asset. | [optional] | +| **last_discoverer_aid** | **String** | The agent ID of the Falcon sensor installed on the source that most recently discovered the asset. | [optional] | +| **last_discoverer_hostname** | **String** | The hostname of the last source that discovered the asset. | [optional] | | **last_discoverer_ics_collector_id** | **String** | The agent ID of the Falcon sensor installed on the source host that most recently discovered the asset via ICS Asset discovery mechanism | [optional] | | **last_seen_timestamp** | **String** | The most recent time the asset was seen in your environment. | [optional] | -| **local_ip_addresses** | **Array<String>** | The IoT asset's IP address list | [optional] | +| **local_ip_addresses** | **Array<String>** | Historical local IPv4 addresses associated with the asset. | [optional] | | **local_ips_count** | **Integer** | The number of historical local IPv4 addresses the asset has had. | [optional] | -| **logical_core_count** | **Integer** | The Number of Logical Cores on the asset | [optional] | -| **mac_addresses** | **Array<String>** | The IoT asset's MAC address list | [optional] | -| **machine_domain** | **String** | The domain name the asset is currently joined to (applies only to Windows hosts). | [optional] | -| **max_memory_usage** | **Integer** | The max memory usage in the last 15 minutes on the asset | [optional] | -| **max_processor_usage** | **Integer** | The max processor usage in the last 15 minutes on the asset | [optional] | +| **location** | **String** | The location of the asset. | [optional] | +| **logical_core_count** | **Integer** | The number of logical cores available on the system | [optional] | +| **mac_addresses** | **Array<String>** | Historical MAC addresses associated with the asset. | [optional] | +| **machine_domain** | **String** | The domain name the asset is currently joined to. | [optional] | +| **managed_by** | **String** | The first and last name of the person who manages this asset. | [optional] | +| **max_memory_usage** | **Integer** | The max memory usage in the last 15 minutes on the host | [optional] | +| **max_memory_usage_pct** | **Integer** | The max memory usage percent in the last 15 minutes on the host | [optional] | +| **max_processor_usage** | **Integer** | The max processor usage in the last 15 minutes on the host | [optional] | | **memory_total** | **Integer** | The Total memory. | [optional] | | **mount_storage_info** | [**Array<DomainDiscoverAPIMountStorageInfo>**](DomainDiscoverAPIMountStorageInfo.md) | The path, used and available space on mounted disks | [optional] | | **network_id** | **String** | The network ID to which device is connected. | [optional] | -| **network_interfaces** | [**Array<DomainDiscoverAPINetworkInterface>**](DomainDiscoverAPINetworkInterface.md) | The asset's network interfaces. | [optional] | -| **number_of_disk_drives** | **Integer** | The number of active physical drives available on the system | [optional] | -| **os_is_eol** | **String** | Whether the asset is at end of support (Yes, No, or Unknown) | [optional] | +| **network_interfaces** | [**Array<DomainDiscoverAPINetworkInterface>**](DomainDiscoverAPINetworkInterface.md) | The asset's network interfaces (Cannot be used for filtering, sorting, or querying). | [optional] | +| **number_of_disk_drives** | **Integer** | The number of active physical drives available on the system. | [optional] | +| **object_guid** | **String** | The globally unique identifier (GUID) of the asset in Active Directory. | [optional] | +| **object_sid** | **String** | The security identifier (SID) of the asset in Active Directory. | [optional] | +| **os_is_eol** | **String** | Whether the asset is at end of support (Yes, No, or Unknown). | [optional] | +| **os_security** | [**DomainDiscoverAPIOsSecurity**](DomainDiscoverAPIOsSecurity.md) | | [optional] | +| **os_service_pack** | **String** | The OS service pack on the asset. | [optional] | | **os_version** | **String** | The OS version of the asset. | [optional] | -| **ot_information_sources** | **Array<String>** | A list of sources through which host is discovered | | -| **ot_serial_numbers** | **Array<String>** | A list of ot serial numbers that discovered with host | | -| **ou** | **String** | The organizational unit of the asset (applies only to Windows hosts). | [optional] | -| **physical_core_count** | **Integer** | The number of physical CPU cores available on the system | [optional] | +| **ot_information_sources** | **Array<String>** | A list of sources through which host is discovered | [optional] | +| **ot_network_ids** | **Array<String>** | A list of network ids to which host belongs | [optional] | +| **ot_serial_numbers** | **Array<String>** | A list of ot serial numbers that discovered with host | [optional] | +| **ou** | **String** | The organizational unit of the asset. | [optional] | +| **override_asset_roles** | **Boolean** | Whether a user overrode automatically assigned asset roles to manually assign a role to the asset (true or false). | [optional] | +| **override_criticality_rules** | **Boolean** | Whether a user overrode a criticality rule to manually assign a criticality level on the asset (true or false). | [optional] | +| **override_internet_exposure** | **Boolean** | Whether a user overrode the automatically assigned internet exposure (True or False). | [optional] | +| **owned_by** | **String** | The first and last name of the person who owns this asset. | [optional] | +| **physical_core_count** | **Integer** | The number of physical CPU cores available on the system. | [optional] | | **platform_name** | **String** | The platform name of the asset (Windows, Mac, Linux). | [optional] | -| **processor_package_count** | **Integer** | The number of physical processors available on the system | [optional] | +| **processor_package_count** | **Integer** | The number of physical processors available on the system. | [optional] | | **product_type** | **String** | The product type of the asset represented as a number (1 = Workstation, 2 = Domain Controller, 3 = Server). | [optional] | | **product_type_desc** | **String** | The product type of the asset (Workstation, Domain Controller, Server). | [optional] | | **protocols** | **Array<String>** | The list of protocols supported by the device | [optional] | | **purdue_level** | **String** | The purdue level of IoT Asset | [optional] | -| **reduced_functionality_mode** | **String** | Whether the asset is in reduced functionality mode (Yes or No) | [optional] | -| **secure_boot_enabled_status** | **Boolean** | The secure boot enabled status of the asset | [optional] | -| **secure_boot_requested_status** | **Boolean** | The secure boot requested status of the asset | [optional] | -| **secure_memory_overwrite_requested_status** | **String** | The secure memory overwrite requested status of the asset | [optional] | +| **reduced_functionality_mode** | **String** | Whether the asset is in reduced functionality mode (Yes or No). | [optional] | +| **servicenow_id** | **String** | The unique identifier of the asset from ServiceNow, if any. | [optional] | | **site_name** | **String** | The site name of the domain the asset is joined to (applies only to Windows hosts). | [optional] | +| **state** | **String** | The name of the U.S. state where the asset is located. | [optional] | | **subnet** | **String** | The subnet to which device is connected. | [optional] | -| **system_guard_status** | **String** | The system guard status of the asset | [optional] | | **system_manufacturer** | **String** | The asset's system manufacturer. | [optional] | | **system_product_name** | **String** | The asset's system product name. | [optional] | | **system_serial_number** | **String** | The asset's system serial number. | [optional] | | **tags** | **Array<String>** | The sensor and cloud tags of the asset. | [optional] | | **total_bios_files** | **Integer** | The count of bios files measured by the firmware image | [optional] | -| **total_disk_space** | **Integer** | The Total amount of disk space available on the asset in GB | [optional] | -| **uefi_memory_protection_status** | **String** | The uefi memory protection status of the asset | [optional] | -| **unencrypted_drives** | **Array<String>** | The list of unencrypted drives on the asset | [optional] | -| **unencrypted_drives_count** | **Integer** | The count of unencrypted drives on the asset | [optional] | -| **used_disk_space** | **Integer** | The Current amount of used disk space on the asset in GB | [optional] | +| **total_disk_space** | **Integer** | Total amount of disk space available on the system | [optional] | +| **total_memory** | **Integer** | The total memory of the asset | [optional] | +| **triage** | [**DomainDiscoverAPIIoTHostTriage**](DomainDiscoverAPIIoTHostTriage.md) | | [optional] | +| **unencrypted_drives** | **Array<String>** | The list of unencrypted drives on the host | [optional] | +| **unencrypted_drives_count** | **Integer** | The count of unencrypted drives on the host | [optional] | +| **used_disk_space** | **Integer** | The used disk space in the last 15 minutes on the host | [optional] | +| **used_disk_space_pct** | **Integer** | The used disk space percent in the last 15 minutes on the host | [optional] | +| **used_for** | **String** | What the asset is used for, such as production, staging, or QA. | [optional] | +| **user_asset_roles** | **Array<String>** | The asset role or roles manually assigned to the asset. | [optional] | +| **user_internet_exposure** | **String** | The internet exposure manually assigned to the asset | [optional] | | **virtual_zone** | **String** | The Virtual Zone name in which device is installed. | [optional] | -| **virtualization_based_security_status** | **Boolean** | The virtualization based security status of the asset | [optional] | | **vlan** | **Array<String>** | The VLAN IDs to which device is connected. | [optional] | | **xdome_id** | **String** | The external ID of the IoT Device in 3rd Party System(Claroty Xdome) | [optional] | @@ -105,11 +150,18 @@ require 'crimson-falcon' instance = Falcon::DomainDiscoverAPIIoTHost.new( + account_enabled: null, + ad_user_account_control: null, agent_version: null, aid: null, + asset_roles: null, + assigned_to: null, available_disk_space: null, + available_disk_space_pct: null, average_memory_usage: null, + average_memory_usage_pct: null, average_processor_usage: null, + bios_hashes_data: null, bios_id: null, bios_manufacturer: null, bios_version: null, @@ -117,60 +169,96 @@ instance = Falcon::DomainDiscoverAPIIoTHost.new( cid: null, city: null, claroty_id: null, + classification: null, + computed_asset_roles: null, computed_internet_exposure: null, computed_internet_exposure_external_ip: null, computed_internet_exposure_last_seen: null, confidence: null, country: null, + cpu_manufacturer: null, cpu_processor_name: null, - credential_guard_status: null, + creation_timestamp: null, + criticality: null, + criticality_description: null, + criticality_rule_id: null, + criticality_timestamp: null, + criticality_username: null, current_local_ip: null, + current_network_prefix: null, data_providers: null, data_providers_count: null, + department: null, + descriptions: null, device_class: null, device_family: null, - device_guard_status: null, + device_mode: null, device_slots: null, device_type: null, + discoverer_aids: null, discoverer_count: null, + discoverer_criticalities: null, + discoverer_hostnames: null, discoverer_ics_collector_ids: null, + discoverer_platform_names: null, discoverer_product_type_descs: null, + discoverer_tags: null, + discovering_by: null, disk_sizes: null, dragos_id: null, + email: null, encrypted_drives: null, encrypted_drives_count: null, encryption_status: null, entity_type: null, external_ip: null, field_metadata: null, + first_discoverer_aid: null, first_seen_timestamp: null, + form_factor: null, + fqdn: null, groups: null, hostname: null, ics_id: null, id: null, internet_exposure: null, - iommu_protection_status: null, - kernel_dma_protection_status: null, + internet_exposure_description: null, + internet_exposure_timestamp: null, + internet_exposure_username: null, kernel_version: null, + last_discoverer_aid: null, + last_discoverer_hostname: null, last_discoverer_ics_collector_id: null, last_seen_timestamp: null, local_ip_addresses: null, local_ips_count: null, + location: null, logical_core_count: null, mac_addresses: null, machine_domain: null, + managed_by: null, max_memory_usage: null, + max_memory_usage_pct: null, max_processor_usage: null, memory_total: null, mount_storage_info: null, network_id: null, network_interfaces: null, number_of_disk_drives: null, + object_guid: null, + object_sid: null, os_is_eol: null, + os_security: null, + os_service_pack: null, os_version: null, ot_information_sources: null, + ot_network_ids: null, ot_serial_numbers: null, ou: null, + override_asset_roles: null, + override_criticality_rules: null, + override_internet_exposure: null, + owned_by: null, physical_core_count: null, platform_name: null, processor_package_count: null, @@ -179,24 +267,26 @@ instance = Falcon::DomainDiscoverAPIIoTHost.new( protocols: null, purdue_level: null, reduced_functionality_mode: null, - secure_boot_enabled_status: null, - secure_boot_requested_status: null, - secure_memory_overwrite_requested_status: null, + servicenow_id: null, site_name: null, + state: null, subnet: null, - system_guard_status: null, system_manufacturer: null, system_product_name: null, system_serial_number: null, tags: null, total_bios_files: null, total_disk_space: null, - uefi_memory_protection_status: null, + total_memory: null, + triage: null, unencrypted_drives: null, unencrypted_drives_count: null, used_disk_space: null, + used_disk_space_pct: null, + used_for: null, + user_asset_roles: null, + user_internet_exposure: null, virtual_zone: null, - virtualization_based_security_status: null, vlan: null, xdome_id: null ) diff --git a/docs/DomainDiscoverAPIIoTHostEntitiesResponse.md b/docs/DomainDiscoverAPIIoTHostEntitiesResponse.md index f258fd99..5c7f40c1 100644 --- a/docs/DomainDiscoverAPIIoTHostEntitiesResponse.md +++ b/docs/DomainDiscoverAPIIoTHostEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainDiscoverAPIIoTHost>**](DomainDiscoverAPIIoTHost.md) | | | ## Example diff --git a/docs/DomainDiscoverAPIIoTHostTriage.md b/docs/DomainDiscoverAPIIoTHostTriage.md new file mode 100644 index 00000000..461869bb --- /dev/null +++ b/docs/DomainDiscoverAPIIoTHostTriage.md @@ -0,0 +1,28 @@ +# Falcon::DomainDiscoverAPIIoTHostTriage + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **action** | **String** | The host triage action. | [optional] | +| **assigned_to** | **String** | The user assigned to triage the host. | [optional] | +| **description** | **String** | The host triage description. | [optional] | +| **status** | **String** | The host triage status. | [optional] | +| **updated_by** | **String** | The user who last triaged the host.' | [optional] | +| **updated_timestamp** | **String** | The time at which the host was last triaged. | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDiscoverAPIIoTHostTriage.new( + action: null, + assigned_to: null, + description: null, + status: null, + updated_by: null, + updated_timestamp: null +) +``` + diff --git a/docs/DomainDiscoverAPILogin.md b/docs/DomainDiscoverAPILogin.md index 7b83a01c..9a58e662 100644 --- a/docs/DomainDiscoverAPILogin.md +++ b/docs/DomainDiscoverAPILogin.md @@ -24,7 +24,7 @@ | **login_event_count** | **Integer** | Number of times a login attempt happened in the specified aggregation time interval for this login (1-hour window for logins in the past day, or 24-hour window for logins older than a day). | [optional] | | **login_status** | **String** | The status of the login (Successful or Failed). | [optional] | | **login_timestamp** | **String** | The date and time of the most recent attempt in the login. | [optional] | -| **login_type** | **String** | The type of the login. For successful logins: <ul><li>Interactive</li><li>Service</li><li>Terminal server</li><li>Cached credentials</li><li>Auditing</li></ul> For failed logins: <ul><li>Interactive</li><li>Network</li><li>Batch</li><li>Service</li><li>Unlock</li><li>Network cleartext</li><li>New credentials</li><li>Terminal server</li><li>Cached credentials</li><li>Auditing</li></ul> | [optional] | +| **login_type** | **String** | The type of the login. For successful logins: <ul><li>Interactive</li><li>Network</li><li>Service</li><li>Remote interactive</li><li>Cached credentials</li><li>Auditing</li></ul> For failed logins: <ul><li>Interactive</li><li>Network</li><li>Batch</li><li>Service</li><li>Unlock</li><li>Network cleartext</li><li>New credentials</li><li>Remote Credentials</li><li>Cached credentials</li><li>Auditing</li></ul> | [optional] | | **remote_ip** | **String** | The remote IP address where the login was initiated. | [optional] | | **user_sid** | **String** | The security identifier of the account on a Windows asset that made the login. | [optional] | | **username** | **String** | The username of the account that made the login. | [optional] | diff --git a/docs/DomainDiscoverAPILoginEntitiesResponse.md b/docs/DomainDiscoverAPILoginEntitiesResponse.md index 5fd8d1fd..babf4c63 100644 --- a/docs/DomainDiscoverAPILoginEntitiesResponse.md +++ b/docs/DomainDiscoverAPILoginEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainDiscoverAPILogin>**](DomainDiscoverAPILogin.md) | | | ## Example diff --git a/docs/MsaspecMetaInfo.md b/docs/DomainDiscoverAPIMetaInfo.md similarity index 70% rename from docs/MsaspecMetaInfo.md rename to docs/DomainDiscoverAPIMetaInfo.md index fc04e352..8cb15fee 100644 --- a/docs/MsaspecMetaInfo.md +++ b/docs/DomainDiscoverAPIMetaInfo.md @@ -1,10 +1,10 @@ -# Falcon::MsaspecMetaInfo +# Falcon::DomainDiscoverAPIMetaInfo ## Properties | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **pagination** | [**MsaspecPaging**](MsaspecPaging.md) | | [optional] | +| **pagination** | [**DomainDiscoverAPIPaging**](DomainDiscoverAPIPaging.md) | | [optional] | | **powered_by** | **String** | | [optional] | | **query_time** | **Float** | | | | **trace_id** | **String** | | | @@ -15,7 +15,7 @@ ```ruby require 'crimson-falcon' -instance = Falcon::MsaspecMetaInfo.new( +instance = Falcon::DomainDiscoverAPIMetaInfo.new( pagination: null, powered_by: null, query_time: null, diff --git a/docs/MsaspecPaging.md b/docs/DomainDiscoverAPIPaging.md similarity index 65% rename from docs/MsaspecPaging.md rename to docs/DomainDiscoverAPIPaging.md index 700ed5f9..e4aa7afb 100644 --- a/docs/MsaspecPaging.md +++ b/docs/DomainDiscoverAPIPaging.md @@ -1,11 +1,11 @@ -# Falcon::MsaspecPaging +# Falcon::DomainDiscoverAPIPaging ## Properties | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **after** | **String** | | | | **limit** | **Integer** | | | -| **offset** | **Integer** | | | | **total** | **Integer** | | | ## Example @@ -13,9 +13,9 @@ ```ruby require 'crimson-falcon' -instance = Falcon::MsaspecPaging.new( +instance = Falcon::DomainDiscoverAPIPaging.new( + after: null, limit: null, - offset: null, total: null ) ``` diff --git a/docs/DomainDiscoverAPIResponse.md b/docs/DomainDiscoverAPIResponse.md new file mode 100644 index 00000000..359d8ea1 --- /dev/null +++ b/docs/DomainDiscoverAPIResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainDiscoverAPIResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**DomainDiscoverAPIMetaInfo**](DomainDiscoverAPIMetaInfo.md) | | | +| **resources** | **Array<String>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainDiscoverAPIResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainDiscoverParams.md b/docs/DomainDiscoverParams.md index d9302fe7..f1ddc4be 100644 --- a/docs/DomainDiscoverParams.md +++ b/docs/DomainDiscoverParams.md @@ -7,6 +7,7 @@ | **application_filters** | **String** | | | | **application_group_id** | **String** | | | | **application_vendors** | **String** | | | +| **inline_app_filter** | **String** | | | | **requirement_criteria** | **String** | | | ## Example @@ -18,6 +19,7 @@ instance = Falcon::DomainDiscoverParams.new( application_filters: null, application_group_id: null, application_vendors: null, + inline_app_filter: null, requirement_criteria: null ) ``` diff --git a/docs/DomainEntity.md b/docs/DomainEntity.md deleted file mode 100644 index 4fc14aa2..00000000 --- a/docs/DomainEntity.md +++ /dev/null @@ -1,24 +0,0 @@ -# Falcon::DomainEntity - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **id** | **Integer** | numerical id ensuring data integrity | | -| **name** | **String** | name of the entity | [optional] | -| **slug** | **String** | search and url friendly value, usually lowercase representation of value with spaces replaced with dashes, except for countries where 2 letters codes are used | [optional] | -| **value** | **String** | string value of the generic entity which is searchable and filterable | [optional] | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainEntity.new( - id: null, - name: null, - slug: null, - value: null -) -``` - diff --git a/docs/DomainErrorsOnly.md b/docs/DomainErrorsOnly.md index 9fe8d6a4..3512d009 100644 --- a/docs/DomainErrorsOnly.md +++ b/docs/DomainErrorsOnly.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<DomainReconAPIError>**](DomainReconAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/DomainEvent.md b/docs/DomainEvent.md deleted file mode 100644 index f4edf2e8..00000000 --- a/docs/DomainEvent.md +++ /dev/null @@ -1,44 +0,0 @@ -# Falcon::DomainEvent - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **body** | **String** | The raw body of the event | | -| **body_is_truncated** | **Boolean** | By default, event bodies are truncated to 64kb and bodyIsTruncated is set to True. For event bodies larger than 64kb, call the /events-full-body endpoint with the respective eventId | | -| **body_link** | **String** | Link to the event, can be missing | [optional] | -| **botnet_config_source** | [**DomainBotnetConfigSource**](DomainBotnetConfigSource.md) | | [optional] | -| **created_date** | **String** | The date the event was created (in UTC format) | | -| **ddos_attack_source** | [**DomainDDOSAttackSource**](DomainDDOSAttackSource.md) | | [optional] | -| **event_type** | **String** | The type of event. One of `TweetEvent`, `CodePasteEvent`, `BotnetConfigEvent`, `DdosAttackEvent` | | -| **fingerprint** | **String** | The event's fingerprint | | -| **id** | **String** | The unique event ID | | -| **matched_rules** | [**Array<DomainMatchedRule>**](DomainMatchedRule.md) | List of objects with rules that matched the event | [optional] | -| **pastebin_text_source** | [**DomainPastebinTextSource**](DomainPastebinTextSource.md) | | [optional] | -| **tags** | **Array<String>** | A list of tags summarizing event content | [optional] | -| **tweet_source** | [**DomainTweetSource**](DomainTweetSource.md) | | [optional] | -| **updated_date** | **String** | The date the event was last updated (in UTC format) | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainEvent.new( - body: null, - body_is_truncated: null, - body_link: null, - botnet_config_source: null, - created_date: null, - ddos_attack_source: null, - event_type: null, - fingerprint: null, - id: null, - matched_rules: null, - pastebin_text_source: null, - tags: null, - tweet_source: null, - updated_date: null -) -``` - diff --git a/docs/DomainEventEntitiesResponse.md b/docs/DomainEventEntitiesResponse.md deleted file mode 100644 index baa16d24..00000000 --- a/docs/DomainEventEntitiesResponse.md +++ /dev/null @@ -1,22 +0,0 @@ -# Falcon::DomainEventEntitiesResponse - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | -| **resources** | [**Array<DomainEvent>**](DomainEvent.md) | | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainEventEntitiesResponse.new( - errors: null, - meta: null, - resources: null -) -``` - diff --git a/docs/DomainExecuteCommandRequestV1.md b/docs/DomainExecuteCommandRequestV1.md new file mode 100644 index 00000000..a31ffbf7 --- /dev/null +++ b/docs/DomainExecuteCommandRequestV1.md @@ -0,0 +1,18 @@ +# Falcon::DomainExecuteCommandRequestV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<DomainExecuteCommandV1>**](DomainExecuteCommandV1.md) | List of commands to execute | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExecuteCommandRequestV1.new( + resources: null +) +``` + diff --git a/docs/DomainExecuteCommandResultV1.md b/docs/DomainExecuteCommandResultV1.md new file mode 100644 index 00000000..2df1e145 --- /dev/null +++ b/docs/DomainExecuteCommandResultV1.md @@ -0,0 +1,26 @@ +# Falcon::DomainExecuteCommandResultV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **headers** | **Hash<String, Array<String>>** | The response headers from the partner operation | [optional] | +| **id** | **String** | ID of the plugin that was executed in the format 'definition_id.operation_id'. Multi-instance plugins require a config_id as part of the id as well in the format 'definition_id.operation_id.config_id'. | | +| **parsed_headers** | **Object** | The response headers from the partner operation | [optional] | +| **response_body** | **Object** | | [optional] | +| **status_code** | **Integer** | The response status code from the partner operation. | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExecuteCommandResultV1.new( + headers: null, + id: null, + parsed_headers: null, + response_body: null, + status_code: null +) +``` + diff --git a/docs/DomainExecuteCommandResultsV1.md b/docs/DomainExecuteCommandResultsV1.md new file mode 100644 index 00000000..469d79d8 --- /dev/null +++ b/docs/DomainExecuteCommandResultsV1.md @@ -0,0 +1,22 @@ +# Falcon::DomainExecuteCommandResultsV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<DomainExecuteCommandResultV1>**](DomainExecuteCommandResultV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExecuteCommandResultsV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainExecuteCommandV1.md b/docs/DomainExecuteCommandV1.md new file mode 100644 index 00000000..e1af68d5 --- /dev/null +++ b/docs/DomainExecuteCommandV1.md @@ -0,0 +1,30 @@ +# Falcon::DomainExecuteCommandV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **config_auth_type** | **String** | Config auth type for plugin to execute. Only applicable for oneOf security scheme plugins. If not provided, it will use the default auth type on the config | | +| **config_id** | **String** | ConfigID for plugin to execute. If omitted, the oldest config will be used as part of the execution. | | +| **definition_id** | **String** | ID of the definition containing the operation to execute.' | | +| **id** | **String** | ID of the specific plugin to execute, in the format 'definition_name.operation_name' | | +| **operation_id** | **String** | The specific operation to execute. | | +| **request** | [**DomainRequest**](DomainRequest.md) | | | +| **version** | **Integer** | The version of the definition to execute. | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExecuteCommandV1.new( + config_auth_type: null, + config_id: null, + definition_id: null, + id: null, + operation_id: null, + request: null, + version: null +) +``` + diff --git a/docs/DomainExecutionMetadataSummary.md b/docs/DomainExecutionMetadataSummary.md index 7ad887cb..0a09f4a3 100644 --- a/docs/DomainExecutionMetadataSummary.md +++ b/docs/DomainExecutionMetadataSummary.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **report_params** | [**DomainReportParams**](DomainReportParams.md) | | | | **subtype** | **String** | | | | **unscheduled_execution_type** | **String** | | | | **xdr_data** | [**DomainXDRData**](DomainXDRData.md) | | | @@ -15,6 +16,7 @@ require 'crimson-falcon' instance = Falcon::DomainExecutionMetadataSummary.new( + report_params: null, subtype: null, unscheduled_execution_type: null, xdr_data: null, diff --git a/docs/DomainExecutionMetadataV1.md b/docs/DomainExecutionMetadataV1.md index 1d86262d..a2855cbd 100644 --- a/docs/DomainExecutionMetadataV1.md +++ b/docs/DomainExecutionMetadataV1.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **report_params** | [**DomainReportParams**](DomainReportParams.md) | | | | **retry_allowed** | **Boolean** | | | | **retry_performed** | **Boolean** | | | | **retry_report_execution_id** | **String** | | | @@ -18,6 +19,7 @@ require 'crimson-falcon' instance = Falcon::DomainExecutionMetadataV1.new( + report_params: null, retry_allowed: null, retry_performed: null, retry_report_execution_id: null, diff --git a/docs/DomainExportJobEntitiesResponseV1.md b/docs/DomainExportJobEntitiesResponseV1.md index 8e94e8f0..4a7c393d 100644 --- a/docs/DomainExportJobEntitiesResponseV1.md +++ b/docs/DomainExportJobEntitiesResponseV1.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<ReconmsaAPIError>**](ReconmsaAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainExportJobMetadataV1>**](DomainExportJobMetadataV1.md) | | | ## Example diff --git a/docs/DomainExportJobIDResponseV1.md b/docs/DomainExportJobIDResponseV1.md index ad73e14a..cf656d07 100644 --- a/docs/DomainExportJobIDResponseV1.md +++ b/docs/DomainExportJobIDResponseV1.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<ReconmsaAPIError>**](ReconmsaAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/DomainExternalAssetAPIDeleteRequestV1.md b/docs/DomainExternalAssetAPIDeleteRequestV1.md new file mode 100644 index 00000000..c81c84b0 --- /dev/null +++ b/docs/DomainExternalAssetAPIDeleteRequestV1.md @@ -0,0 +1,18 @@ +# Falcon::DomainExternalAssetAPIDeleteRequestV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **description** | **String** | Some description that the user attached to the delete | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetAPIDeleteRequestV1.new( + description: null +) +``` + diff --git a/docs/DomainExternalAssetAPIPatchRequestV1.md b/docs/DomainExternalAssetAPIPatchRequestV1.md new file mode 100644 index 00000000..3185588d --- /dev/null +++ b/docs/DomainExternalAssetAPIPatchRequestV1.md @@ -0,0 +1,18 @@ +# Falcon::DomainExternalAssetAPIPatchRequestV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **assets** | [**Array<DomainExternalAssetsAPIPatch>**](DomainExternalAssetsAPIPatch.md) | List of asset patches | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetAPIPatchRequestV1.new( + assets: null +) +``` + diff --git a/docs/DomainExternalAssetApplication.md b/docs/DomainExternalAssetApplication.md new file mode 100644 index 00000000..83ab4cfa --- /dev/null +++ b/docs/DomainExternalAssetApplication.md @@ -0,0 +1,26 @@ +# Falcon::DomainExternalAssetApplication + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **category** | **String** | | [optional] | +| **cpe** | **String** | | [optional] | +| **name** | **String** | | [optional] | +| **vendor** | **String** | | [optional] | +| **version** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetApplication.new( + category: null, + cpe: null, + name: null, + vendor: null, + version: null +) +``` + diff --git a/docs/DomainExternalAssetCertificate.md b/docs/DomainExternalAssetCertificate.md new file mode 100644 index 00000000..6eac62d5 --- /dev/null +++ b/docs/DomainExternalAssetCertificate.md @@ -0,0 +1,36 @@ +# Falcon::DomainExternalAssetCertificate + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ciphers** | **Array<Object>** | | [optional] | +| **fingerprint_sha256** | **String** | | [optional] | +| **issuer** | [**DomainExternalAssetCertificateEntityIdentifiers**](DomainExternalAssetCertificateEntityIdentifiers.md) | | [optional] | +| **pubkey_bits** | **Integer** | | [optional] | +| **pubkey_type** | **String** | | [optional] | +| **serial** | **String** | | [optional] | +| **signature_algorithm** | **String** | | [optional] | +| **subject** | [**DomainExternalAssetCertificateEntityIdentifiers**](DomainExternalAssetCertificateEntityIdentifiers.md) | | [optional] | +| **valid_from** | **Time** | | [optional] | +| **valid_to** | **Time** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetCertificate.new( + ciphers: null, + fingerprint_sha256: null, + issuer: null, + pubkey_bits: null, + pubkey_type: null, + serial: null, + signature_algorithm: null, + subject: null, + valid_from: null, + valid_to: null +) +``` + diff --git a/docs/DomainExternalAssetCertificateEntityIdentifiers.md b/docs/DomainExternalAssetCertificateEntityIdentifiers.md new file mode 100644 index 00000000..0b480603 --- /dev/null +++ b/docs/DomainExternalAssetCertificateEntityIdentifiers.md @@ -0,0 +1,48 @@ +# Falcon::DomainExternalAssetCertificateEntityIdentifiers + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **common_name** | **String** | | [optional] | +| **country_name** | **String** | | [optional] | +| **dn_qualifier** | **String** | | [optional] | +| **domain_component** | **String** | | [optional] | +| **email_address** | **String** | | [optional] | +| **generation_qualifier** | **String** | | [optional] | +| **given_name** | **String** | | [optional] | +| **locality_name** | **String** | | [optional] | +| **organization_name** | **String** | | [optional] | +| **organizational_unit** | **String** | | [optional] | +| **pseudonym** | **String** | | [optional] | +| **serial_number** | **String** | | [optional] | +| **state_or_province_name** | **String** | | [optional] | +| **street_address** | **String** | | [optional] | +| **surname** | **String** | | [optional] | +| **user_id** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetCertificateEntityIdentifiers.new( + common_name: null, + country_name: null, + dn_qualifier: null, + domain_component: null, + email_address: null, + generation_qualifier: null, + given_name: null, + locality_name: null, + organization_name: null, + organizational_unit: null, + pseudonym: null, + serial_number: null, + state_or_province_name: null, + street_address: null, + surname: null, + user_id: null +) +``` + diff --git a/docs/DomainExternalAssetCloudVM.md b/docs/DomainExternalAssetCloudVM.md new file mode 100644 index 00000000..bc54f201 --- /dev/null +++ b/docs/DomainExternalAssetCloudVM.md @@ -0,0 +1,40 @@ +# Falcon::DomainExternalAssetCloudVM + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **description** | **String** | The VM description | [optional] | +| **instance_id** | **String** | The ID of the cloud VM | [optional] | +| **lifecycle** | **String** | The lifecycle phase | [optional] | +| **mac_address** | **String** | MAC address of the VM | [optional] | +| **owner_id** | **String** | VM owner ID | [optional] | +| **platform** | **String** | VM platform information | [optional] | +| **private_ip** | **String** | VM private IP address | [optional] | +| **public_ip** | **String** | VM public IP address | [optional] | +| **region** | **String** | The cloud region | [optional] | +| **security_groups** | **Array<String>** | Security groups | [optional] | +| **source** | **String** | The VM source image | [optional] | +| **status** | **String** | Connectivity status of the cloud VM | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetCloudVM.new( + description: null, + instance_id: null, + lifecycle: null, + mac_address: null, + owner_id: null, + platform: null, + private_ip: null, + public_ip: null, + region: null, + security_groups: null, + source: null, + status: null +) +``` + diff --git a/docs/DomainExternalAssetDiscoveryAttributes.md b/docs/DomainExternalAssetDiscoveryAttributes.md new file mode 100644 index 00000000..8662d908 --- /dev/null +++ b/docs/DomainExternalAssetDiscoveryAttributes.md @@ -0,0 +1,20 @@ +# Falcon::DomainExternalAssetDiscoveryAttributes + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **alternative_paths** | [**Array<DomainExternalAssetDiscoveryPathAttributes>**](DomainExternalAssetDiscoveryPathAttributes.md) | Alternative discovery paths | [optional] | +| **path** | [**DomainExternalAssetDiscoveryPathAttributes**](DomainExternalAssetDiscoveryPathAttributes.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetDiscoveryAttributes.new( + alternative_paths: null, + path: null +) +``` + diff --git a/docs/DomainExternalAssetDiscoveryPathAttributes.md b/docs/DomainExternalAssetDiscoveryPathAttributes.md new file mode 100644 index 00000000..3566b01d --- /dev/null +++ b/docs/DomainExternalAssetDiscoveryPathAttributes.md @@ -0,0 +1,18 @@ +# Falcon::DomainExternalAssetDiscoveryPathAttributes + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **steps** | [**Array<DomainExternalAssetDiscoveryStepAttributes>**](DomainExternalAssetDiscoveryStepAttributes.md) | The list of steps in the current discovery path | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetDiscoveryPathAttributes.new( + steps: null +) +``` + diff --git a/docs/DomainExternalAssetDiscoveryStepAttributes.md b/docs/DomainExternalAssetDiscoveryStepAttributes.md new file mode 100644 index 00000000..e6271e74 --- /dev/null +++ b/docs/DomainExternalAssetDiscoveryStepAttributes.md @@ -0,0 +1,26 @@ +# Falcon::DomainExternalAssetDiscoveryStepAttributes + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **clue** | **String** | The reasoning behind this association | | +| **entity** | **String** | The step entity | | +| **entity_type** | **String** | The entity type of the described entity | | +| **id** | **String** | The discovery step identifier | [optional] | +| **redirect_path** | [**Array<DomainExternalAssetRedirectStepAttributes>**](DomainExternalAssetRedirectStepAttributes.md) | The redirect path | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetDiscoveryStepAttributes.new( + clue: null, + entity: null, + entity_type: null, + id: null, + redirect_path: null +) +``` + diff --git a/docs/DomainExternalAssetGeographicalLocation.md b/docs/DomainExternalAssetGeographicalLocation.md new file mode 100644 index 00000000..3fb01c1a --- /dev/null +++ b/docs/DomainExternalAssetGeographicalLocation.md @@ -0,0 +1,34 @@ +# Falcon::DomainExternalAssetGeographicalLocation + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **area_code** | **String** | | [optional] | +| **city** | **String** | | [optional] | +| **country_code** | **String** | | [optional] | +| **country_name** | **String** | | [optional] | +| **geo_point** | [**DomainGeoPoint**](DomainGeoPoint.md) | | [optional] | +| **postal_code** | **String** | | [optional] | +| **region_code** | **String** | | [optional] | +| **region_name** | **String** | | [optional] | +| **timezone** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetGeographicalLocation.new( + area_code: null, + city: null, + country_code: null, + country_name: null, + geo_point: null, + postal_code: null, + region_code: null, + region_name: null, + timezone: null +) +``` + diff --git a/docs/DomainExternalAssetHTTPAttributes.md b/docs/DomainExternalAssetHTTPAttributes.md new file mode 100644 index 00000000..baf5b94e --- /dev/null +++ b/docs/DomainExternalAssetHTTPAttributes.md @@ -0,0 +1,26 @@ +# Falcon::DomainExternalAssetHTTPAttributes + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cookies** | **Array<String>** | | [optional] | +| **meta** | **Array<String>** | | [optional] | +| **response_headers** | **String** | | | +| **technologies** | **Array<String>** | | [optional] | +| **title** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetHTTPAttributes.new( + cookies: null, + meta: null, + response_headers: null, + technologies: null, + title: null +) +``` + diff --git a/docs/DomainExternalAssetRedirectStepAttributes.md b/docs/DomainExternalAssetRedirectStepAttributes.md new file mode 100644 index 00000000..af7a9239 --- /dev/null +++ b/docs/DomainExternalAssetRedirectStepAttributes.md @@ -0,0 +1,24 @@ +# Falcon::DomainExternalAssetRedirectStepAttributes + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **clue** | **String** | Clue to how the entity was discovered | | +| **entity** | **String** | The value of the entity being presented | | +| **entity_type** | **String** | The entity type of the described entity | | +| **id** | **String** | The discovery redirect step identifier, can be omitted | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetRedirectStepAttributes.new( + clue: null, + entity: null, + entity_type: null, + id: null +) +``` + diff --git a/docs/DomainExternalAssetSSLRecord.md b/docs/DomainExternalAssetSSLRecord.md new file mode 100644 index 00000000..2432a81f --- /dev/null +++ b/docs/DomainExternalAssetSSLRecord.md @@ -0,0 +1,32 @@ +# Falcon::DomainExternalAssetSSLRecord + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **alpn** | **String** | | [optional] | +| **alternative_name** | **String** | | [optional] | +| **certificate** | [**DomainExternalAssetCertificate**](DomainExternalAssetCertificate.md) | | [optional] | +| **cipher_suites** | [**Array<DomainCipher>**](DomainCipher.md) | | [optional] | +| **ja3s** | **String** | | [optional] | +| **jarm** | **String** | | [optional] | +| **supported_versions** | **Array<String>** | | [optional] | +| **version** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetSSLRecord.new( + alpn: null, + alternative_name: null, + certificate: null, + cipher_suites: null, + ja3s: null, + jarm: null, + supported_versions: null, + version: null +) +``` + diff --git a/docs/DomainExternalAssetService.md b/docs/DomainExternalAssetService.md new file mode 100644 index 00000000..d598690b --- /dev/null +++ b/docs/DomainExternalAssetService.md @@ -0,0 +1,52 @@ +# Falcon::DomainExternalAssetService + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **applications** | [**Array<DomainExternalAssetApplication>**](DomainExternalAssetApplication.md) | Details about the applications associated to the service | [optional] | +| **blob_links** | [**DomainExternalAssetServiceBlobsLinks**](DomainExternalAssetServiceBlobsLinks.md) | | [optional] | +| **cloud_provider** | **String** | The cloud provider name | [optional] | +| **cpes** | **Array<String>** | A list of Common Platform Enumeration identifiers for this service. The schema format is: cpe:<cpe_version>:<part>:<vendor>:<product>:<version>:<update>:<edition>:<language>:<sw_edition>:<target_sw>:<target_hw>:<other> | [optional] | +| **first_seen** | **Time** | The first time this service was observed | [optional] | +| **hosting_provider** | **String** | The hosting provider name | [optional] | +| **http_attributes** | [**DomainExternalAssetHTTPAttributes**](DomainExternalAssetHTTPAttributes.md) | | [optional] | +| **id** | **String** | The unique external asset identifier | | +| **last_seen** | **Time** | The date on which this was last scanned | | +| **os** | **String** | The operating system the service is running on | [optional] | +| **platform_name** | **String** | The name of the platform on which the service is running (Windows, Mac, Linux). | [optional] | +| **port** | **Integer** | The port on which the service is accessible | | +| **protocol** | **String** | The protocol used to access this service | | +| **status** | **String** | The availability status for this service | | +| **status_code** | **Integer** | The status code returned by the service | | +| **subsidiaries** | [**Array<DomainExternalAssetSubsidiary>**](DomainExternalAssetSubsidiary.md) | List of subsidiaries that the asset belongs to | [optional] | +| **tls** | [**DomainExternalAssetSSLRecord**](DomainExternalAssetSSLRecord.md) | | [optional] | +| **transport** | **String** | The network transport used to access this service | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetService.new( + applications: null, + blob_links: null, + cloud_provider: null, + cpes: null, + first_seen: null, + hosting_provider: null, + http_attributes: null, + id: null, + last_seen: null, + os: null, + platform_name: null, + port: null, + protocol: null, + status: null, + status_code: null, + subsidiaries: null, + tls: null, + transport: null +) +``` + diff --git a/docs/DomainExternalAssetServiceBlobsLinks.md b/docs/DomainExternalAssetServiceBlobsLinks.md new file mode 100644 index 00000000..f18043b6 --- /dev/null +++ b/docs/DomainExternalAssetServiceBlobsLinks.md @@ -0,0 +1,24 @@ +# Falcon::DomainExternalAssetServiceBlobsLinks + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **download_attributes** | **String** | | [optional] | +| **download_banner** | **String** | | [optional] | +| **preview_attributes** | **String** | | [optional] | +| **preview_banner** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetServiceBlobsLinks.new( + download_attributes: null, + download_banner: null, + preview_attributes: null, + preview_banner: null +) +``` + diff --git a/docs/DomainExternalAssetSubsidiary.md b/docs/DomainExternalAssetSubsidiary.md new file mode 100644 index 00000000..343bf9ed --- /dev/null +++ b/docs/DomainExternalAssetSubsidiary.md @@ -0,0 +1,20 @@ +# Falcon::DomainExternalAssetSubsidiary + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | ExternalAssetSubsidiary ID | | +| **name** | **String** | ExternalAssetSubsidiary name | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetSubsidiary.new( + id: null, + name: null +) +``` + diff --git a/docs/DomainExternalAssetsAPIPatch.md b/docs/DomainExternalAssetsAPIPatch.md new file mode 100644 index 00000000..b57bdfd1 --- /dev/null +++ b/docs/DomainExternalAssetsAPIPatch.md @@ -0,0 +1,26 @@ +# Falcon::DomainExternalAssetsAPIPatch + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cid** | **String** | The asset's customer ID. | [optional] | +| **criticality** | **String** | The criticality level manually assigned to this asset. | [optional] | +| **criticality_description** | **String** | The criticality description manually assigned to this asset. | [optional] | +| **id** | **String** | The unique ID of the asset. | | +| **triage** | [**DomainExternalAssetsAPITriagePatch**](DomainExternalAssetsAPITriagePatch.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetsAPIPatch.new( + cid: null, + criticality: null, + criticality_description: null, + id: null, + triage: null +) +``` + diff --git a/docs/DomainExternalAssetsAPITriage.md b/docs/DomainExternalAssetsAPITriage.md new file mode 100644 index 00000000..76c3d416 --- /dev/null +++ b/docs/DomainExternalAssetsAPITriage.md @@ -0,0 +1,28 @@ +# Falcon::DomainExternalAssetsAPITriage + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **action** | **String** | The asset triage action. | [optional] | +| **assigned_to** | **String** | The asset assigned to triage the host. | [optional] | +| **description** | **String** | The asset triage description. | [optional] | +| **status** | **String** | The asset triage status. | [optional] | +| **updated_by** | **String** | The user who last triaged the asset.' | [optional] | +| **updated_timestamp** | **String** | The time at which the asset was last triaged. | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetsAPITriage.new( + action: null, + assigned_to: null, + description: null, + status: null, + updated_by: null, + updated_timestamp: null +) +``` + diff --git a/docs/DomainExternalAssetsAPITriagePatch.md b/docs/DomainExternalAssetsAPITriagePatch.md new file mode 100644 index 00000000..05c586b8 --- /dev/null +++ b/docs/DomainExternalAssetsAPITriagePatch.md @@ -0,0 +1,24 @@ +# Falcon::DomainExternalAssetsAPITriagePatch + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **action** | **String** | The asset triage action. | [optional] | +| **assigned_to** | **String** | The user assigned to triage the asset. | [optional] | +| **description** | **String** | The asset triage description. | [optional] | +| **status** | **String** | The asset triage status. | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetsAPITriagePatch.new( + action: null, + assigned_to: null, + description: null, + status: null +) +``` + diff --git a/docs/DomainExternalAssetsAPITypeV1.md b/docs/DomainExternalAssetsAPITypeV1.md new file mode 100644 index 00000000..2adcc753 --- /dev/null +++ b/docs/DomainExternalAssetsAPITypeV1.md @@ -0,0 +1,22 @@ +# Falcon::DomainExternalAssetsAPITypeV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<DomainFemExternalAsset>**](DomainFemExternalAsset.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetsAPITypeV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainExternalAssetsBlobAPITypeV1.md b/docs/DomainExternalAssetsBlobAPITypeV1.md new file mode 100644 index 00000000..84c73fb4 --- /dev/null +++ b/docs/DomainExternalAssetsBlobAPITypeV1.md @@ -0,0 +1,22 @@ +# Falcon::DomainExternalAssetsBlobAPITypeV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | **Array<String>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalAssetsBlobAPITypeV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainExternalExportJob.md b/docs/DomainExternalExportJob.md new file mode 100644 index 00000000..524398ea --- /dev/null +++ b/docs/DomainExternalExportJob.md @@ -0,0 +1,28 @@ +# Falcon::DomainExternalExportJob + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **created_at** | **String** | | | +| **id** | **String** | | | +| **resource** | **String** | Resource to be exported | | +| **retries** | **Integer** | Number of times the job was retried | | +| **status** | **String** | Current status of the job. One of [READY, WAITING, IN_PROGRESS, DONE, FAILED, WAITING_FOR_RETRY, CANCELED, RESULT_DELETED] | | +| **updated_at** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainExternalExportJob.new( + created_at: null, + id: null, + resource: null, + retries: null, + status: null, + updated_at: null +) +``` + diff --git a/docs/DomainExternalQueryResponse.md b/docs/DomainExternalQueryResponse.md index 76917683..afe6576c 100644 --- a/docs/DomainExternalQueryResponse.md +++ b/docs/DomainExternalQueryResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | [optional] | ## Example diff --git a/docs/DomainExternalRegistryListResponse.md b/docs/DomainExternalRegistryListResponse.md index 2db5a5fd..7136f443 100644 --- a/docs/DomainExternalRegistryListResponse.md +++ b/docs/DomainExternalRegistryListResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainExternalAPIRegistry>**](DomainExternalAPIRegistry.md) | | [optional] | ## Example diff --git a/docs/DomainExternalRegistryResponse.md b/docs/DomainExternalRegistryResponse.md index 6f20b8e9..51a9d648 100644 --- a/docs/DomainExternalRegistryResponse.md +++ b/docs/DomainExternalRegistryResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**DomainExternalAPIRegistry**](DomainExternalAPIRegistry.md) | | [optional] | ## Example diff --git a/docs/DomainFeaturePermission.md b/docs/DomainFeaturePermission.md new file mode 100644 index 00000000..34300f76 --- /dev/null +++ b/docs/DomainFeaturePermission.md @@ -0,0 +1,20 @@ +# Falcon::DomainFeaturePermission + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **feature** | **String** | | | +| **permissions** | [**Array<DomainPermission>**](DomainPermission.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFeaturePermission.new( + feature: null, + permissions: null +) +``` + diff --git a/docs/DomainFeatureStatus.md b/docs/DomainFeatureStatus.md new file mode 100644 index 00000000..96281c43 --- /dev/null +++ b/docs/DomainFeatureStatus.md @@ -0,0 +1,20 @@ +# Falcon::DomainFeatureStatus + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **feature** | **String** | | | +| **status** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFeatureStatus.new( + feature: null, + status: null +) +``` + diff --git a/docs/DomainFemDNSDomain.md b/docs/DomainFemDNSDomain.md new file mode 100644 index 00000000..1ff4f54a --- /dev/null +++ b/docs/DomainFemDNSDomain.md @@ -0,0 +1,28 @@ +# Falcon::DomainFemDNSDomain + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **fqdn** | **String** | The FQDN | | +| **isps** | **Array<String>** | The ISPs hosting this domain | [optional] | +| **parent_domain** | **String** | The ID of the parent domain (only populated if domain type is subdomain) | [optional] | +| **resolved_ips** | **Array<String>** | IPs the domain resolved to | [optional] | +| **services** | [**Array<DomainExternalAssetService>**](DomainExternalAssetService.md) | A list of exposed services on the domain | [optional] | +| **type** | **String** | The type of domain (root, subdomain) | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFemDNSDomain.new( + fqdn: null, + isps: null, + parent_domain: null, + resolved_ips: null, + services: null, + type: null +) +``` + diff --git a/docs/DomainFemEcosystemSubsidiariesEntitiesResponse.md b/docs/DomainFemEcosystemSubsidiariesEntitiesResponse.md new file mode 100644 index 00000000..b10b1915 --- /dev/null +++ b/docs/DomainFemEcosystemSubsidiariesEntitiesResponse.md @@ -0,0 +1,20 @@ +# Falcon::DomainFemEcosystemSubsidiariesEntitiesResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **fem_ecosystem_subsidiaries_response_fields** | [**DomainFemEcosystemSubsidiariesResponseFields**](DomainFemEcosystemSubsidiariesResponseFields.md) | | | +| **resources** | [**Array<DomainFemEcosystemSubsidiary>**](DomainFemEcosystemSubsidiary.md) | Contains entities returned by the API | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFemEcosystemSubsidiariesEntitiesResponse.new( + fem_ecosystem_subsidiaries_response_fields: null, + resources: null +) +``` + diff --git a/docs/DomainFemEcosystemSubsidiariesMeta.md b/docs/DomainFemEcosystemSubsidiariesMeta.md new file mode 100644 index 00000000..acb87939 --- /dev/null +++ b/docs/DomainFemEcosystemSubsidiariesMeta.md @@ -0,0 +1,20 @@ +# Falcon::DomainFemEcosystemSubsidiariesMeta + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **meta_info** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **version_id** | **String** | The version ID of an ecosystem | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFemEcosystemSubsidiariesMeta.new( + meta_info: null, + version_id: null +) +``` + diff --git a/docs/DomainFemEcosystemSubsidiariesQueryResponse.md b/docs/DomainFemEcosystemSubsidiariesQueryResponse.md new file mode 100644 index 00000000..3e51ab8e --- /dev/null +++ b/docs/DomainFemEcosystemSubsidiariesQueryResponse.md @@ -0,0 +1,20 @@ +# Falcon::DomainFemEcosystemSubsidiariesQueryResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **fem_ecosystem_subsidiaries_response_fields** | [**DomainFemEcosystemSubsidiariesResponseFields**](DomainFemEcosystemSubsidiariesResponseFields.md) | | | +| **resources** | **Array<String>** | Contains entities returned by the API | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFemEcosystemSubsidiariesQueryResponse.new( + fem_ecosystem_subsidiaries_response_fields: null, + resources: null +) +``` + diff --git a/docs/DomainFemEcosystemSubsidiariesResponseFields.md b/docs/DomainFemEcosystemSubsidiariesResponseFields.md new file mode 100644 index 00000000..316b396b --- /dev/null +++ b/docs/DomainFemEcosystemSubsidiariesResponseFields.md @@ -0,0 +1,20 @@ +# Falcon::DomainFemEcosystemSubsidiariesResponseFields + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | Array of errors returned in case of request issues or processing failures | [optional] | +| **meta** | [**DomainFemEcosystemSubsidiariesMeta**](DomainFemEcosystemSubsidiariesMeta.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFemEcosystemSubsidiariesResponseFields.new( + errors: null, + meta: null +) +``` + diff --git a/docs/DomainFemEcosystemSubsidiary.md b/docs/DomainFemEcosystemSubsidiary.md new file mode 100644 index 00000000..b5d8b469 --- /dev/null +++ b/docs/DomainFemEcosystemSubsidiary.md @@ -0,0 +1,34 @@ +# Falcon::DomainFemEcosystemSubsidiary + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **asset_count** | **Integer** | The number of assets associated with the subsidiary | [optional] | +| **children_count** | **Integer** | The number of subsidiary children | | +| **cid** | **String** | The customer ID | | +| **discovery** | [**DomainExternalAssetDiscoveryAttributes**](DomainExternalAssetDiscoveryAttributes.md) | | [optional] | +| **id** | **String** | The ID of the subsidiary | | +| **name** | **String** | The name of the subsidiary | | +| **parent_id** | **String** | The ID of the parent subsidiary | | +| **primary_domain** | **String** | The primary domain of the subsidiary (Originally was called apex_domain) | | +| **risk_score** | **Float** | The risk score of the subsidiary | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFemEcosystemSubsidiary.new( + asset_count: null, + children_count: null, + cid: null, + discovery: null, + id: null, + name: null, + parent_id: null, + primary_domain: null, + risk_score: null +) +``` + diff --git a/docs/DomainFemExternalAsset.md b/docs/DomainFemExternalAsset.md new file mode 100644 index 00000000..8046f030 --- /dev/null +++ b/docs/DomainFemExternalAsset.md @@ -0,0 +1,62 @@ +# Falcon::DomainFemExternalAsset + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **applicable_actions** | **Array<String>** | Lists the user actions can be taken on this asset (triage, delete, etc) | | +| **asset_type** | **String** | The type of external asset (ip, dns_domain) | | +| **cid** | **String** | The customer ID | | +| **confidence** | **Integer** | Confidence level for the asset association to the organization | | +| **criticality** | **String** | The criticality level of the asset (Critical, High, Noncritical, or Unassigned) | [optional] | +| **criticality_description** | **String** | The description the user entered when manually assigning a criticality level | [optional] | +| **criticality_timestamp** | **String** | The date and time the criticality level was manually assigned | [optional] | +| **criticality_username** | **String** | The username of the account that manually assigned the criticality level | [optional] | +| **data_providers** | **Array<String>** | A list of the source providers for the asset information | | +| **discovered_by** | **String** | The identifier of the asset | [optional] | +| **discovery** | [**DomainExternalAssetDiscoveryAttributes**](DomainExternalAssetDiscoveryAttributes.md) | | [optional] | +| **dns_domain** | [**DomainFemDNSDomain**](DomainFemDNSDomain.md) | | [optional] | +| **entity_type** | **String** | this is similar with the entity_type field from DiscoverAPIHost; it will be always 'external' and it aligns this structure with other assets structures, making UI handling of assets more generic | | +| **first_seen** | **String** | The first time this asset has been observed as externally exposed | [optional] | +| **id** | **String** | The unique external asset identifier | | +| **internet_exposure** | **String** | The internet exposure status of the asset | [optional] | +| **ip** | [**DomainFemExternalIP**](DomainFemExternalIP.md) | | [optional] | +| **last_seen** | **String** | The last time this asset has been observed as externally exposed | [optional] | +| **manual** | **Boolean** | Flag indicating if the asset has been manually added | [optional] | +| **perimeter** | **String** | Perimeter of this asset (Official/Unofficial) | [optional] | +| **status** | **String** | The availability status for the asset | | +| **subsidiaries** | [**Array<DomainExternalAssetSubsidiary>**](DomainExternalAssetSubsidiary.md) | List of subsidiaries that the asset belongs to | [optional] | +| **triage** | [**DomainExternalAssetsAPITriage**](DomainExternalAssetsAPITriage.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFemExternalAsset.new( + applicable_actions: null, + asset_type: null, + cid: null, + confidence: null, + criticality: null, + criticality_description: null, + criticality_timestamp: null, + criticality_username: null, + data_providers: null, + discovered_by: null, + discovery: null, + dns_domain: null, + entity_type: null, + first_seen: null, + id: null, + internet_exposure: null, + ip: null, + last_seen: null, + manual: null, + perimeter: null, + status: null, + subsidiaries: null, + triage: null +) +``` + diff --git a/docs/DomainFemExternalIP.md b/docs/DomainFemExternalIP.md new file mode 100644 index 00000000..9d90a19b --- /dev/null +++ b/docs/DomainFemExternalIP.md @@ -0,0 +1,36 @@ +# Falcon::DomainFemExternalIP + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **aid** | **String** | AID if available | [optional] | +| **asn** | **Integer** | ASN | [optional] | +| **cloud_provider** | **String** | Cloud Provider | [optional] | +| **cloud_vm** | [**DomainExternalAssetCloudVM**](DomainExternalAssetCloudVM.md) | | [optional] | +| **fqdns** | **Array<String>** | The FQDN List of the related domains | [optional] | +| **ip_address** | **String** | The IP address | [optional] | +| **isp** | **String** | The ISP | [optional] | +| **location** | [**DomainExternalAssetGeographicalLocation**](DomainExternalAssetGeographicalLocation.md) | | [optional] | +| **ptr** | **String** | The PTR record | [optional] | +| **services** | [**Array<DomainExternalAssetService>**](DomainExternalAssetService.md) | A list of exposed services on the IP | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainFemExternalIP.new( + aid: null, + asn: null, + cloud_provider: null, + cloud_vm: null, + fqdns: null, + ip_address: null, + isp: null, + location: null, + ptr: null, + services: null +) +``` + diff --git a/docs/DomainGCPAccountV1.md b/docs/DomainGCPAccountV1.md index 8fab18ab..fad19f03 100644 --- a/docs/DomainGCPAccountV1.md +++ b/docs/DomainGCPAccountV1.md @@ -10,6 +10,7 @@ | **updated_at** | **Time** | | | | **cid** | **String** | | | | **cloud_scopes** | [**Array<DomainCloudScope>**](DomainCloudScope.md) | | [optional] | +| **conditions** | [**Array<DomainCondition>**](DomainCondition.md) | | [optional] | | **cspm_enabled** | **Boolean** | | | | **display_name** | **String** | GCP Display Name | [optional] | | **environment** | **String** | | [optional] | @@ -23,6 +24,7 @@ | **project_id** | **String** | GCP Project ID | [optional] | | **service_account_client_email** | **String** | | [optional] | | **service_account_client_id** | **String** | | [optional] | +| **service_account_conditions** | [**Array<DomainCondition>**](DomainCondition.md) | | [optional] | | **service_account_id** | **Integer** | GCP service account ID | [optional] | | **service_account_private_key_id** | **String** | | [optional] | | **service_account_project_id** | **String** | | | @@ -40,6 +42,7 @@ instance = Falcon::DomainGCPAccountV1.new( updated_at: null, cid: null, cloud_scopes: null, + conditions: null, cspm_enabled: null, display_name: null, environment: null, @@ -53,6 +56,7 @@ instance = Falcon::DomainGCPAccountV1.new( project_id: null, service_account_client_email: null, service_account_client_id: null, + service_account_conditions: null, service_account_id: null, service_account_private_key_id: null, service_account_project_id: null, diff --git a/docs/DomainGeoPoint.md b/docs/DomainGeoPoint.md new file mode 100644 index 00000000..7350c9fe --- /dev/null +++ b/docs/DomainGeoPoint.md @@ -0,0 +1,20 @@ +# Falcon::DomainGeoPoint + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **lat** | **Float** | | [optional] | +| **lon** | **Float** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainGeoPoint.new( + lat: null, + lon: null +) +``` + diff --git a/docs/DomainIncident.md b/docs/DomainIncident.md index 4c969507..85d71fdf 100644 --- a/docs/DomainIncident.md +++ b/docs/DomainIncident.md @@ -13,6 +13,7 @@ | **_end** | **Time** | | | | **events_histogram** | [**Array<DomainEventHistogram>**](DomainEventHistogram.md) | | [optional] | | **fine_score** | **Integer** | | | +| **grouping_ids** | **Array<String>** | | [optional] | | **host_ids** | **Array<String>** | | | | **hosts** | [**Array<DetectsDeviceDetailIndexed>**](DetectsDeviceDetailIndexed.md) | | [optional] | | **incident_id** | **String** | | | @@ -48,6 +49,7 @@ instance = Falcon::DomainIncident.new( _end: null, events_histogram: null, fine_score: null, + grouping_ids: null, host_ids: null, hosts: null, incident_id: null, diff --git a/docs/DomainInitResponse.md b/docs/DomainInitResponse.md index c6aa919e..45e136ad 100644 --- a/docs/DomainInitResponse.md +++ b/docs/DomainInitResponse.md @@ -5,8 +5,10 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **created_at** | **Time** | | | +| **device_id** | **String** | | [optional] | | **existing_aid_sessions** | **Integer** | | | | **offline_queued** | **Boolean** | | | +| **platform** | **String** | | [optional] | | **previous_commands** | **Array<String>** | | [optional] | | **pwd** | **String** | | [optional] | | **scripts** | [**Array<DomainScriptHelp>**](DomainScriptHelp.md) | | | @@ -19,8 +21,10 @@ require 'crimson-falcon' instance = Falcon::DomainInitResponse.new( created_at: null, + device_id: null, existing_aid_sessions: null, offline_queued: null, + platform: null, previous_commands: null, pwd: null, scripts: null, diff --git a/docs/DomainInitResponseWrapper.md b/docs/DomainInitResponseWrapper.md index b44c31df..c737ee4d 100644 --- a/docs/DomainInitResponseWrapper.md +++ b/docs/DomainInitResponseWrapper.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainInitResponse>**](DomainInitResponse.md) | | | ## Example diff --git a/docs/DomainItemDetailsV1.md b/docs/DomainItemDetailsV1.md index 089d9eef..2d8f1196 100644 --- a/docs/DomainItemDetailsV1.md +++ b/docs/DomainItemDetailsV1.md @@ -4,33 +4,34 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **actor_slug** | **String** | Threat actor associated with the raw intelligence item, if available | [optional] | -| **attachments** | [**Array<DomainAttachment>**](DomainAttachment.md) | Pointers to attachments items linked to this item | [optional] | -| **author** | **String** | The raw intelligence item author username | [optional] | +| **actor_slug** | **String** | The threat actor associated with a raw intelligence item, if available. | [optional] | +| **attachments** | [**Array<DomainAttachment>**](DomainAttachment.md) | Attachments items linked to the raw intelligence item | [optional] | +| **author** | **String** | The author’s username of a raw intelligence item | [optional] | | **author_id** | **String** | The raw intelligence item author identifier in our system | [optional] | -| **category** | **String** | Category of the source where the item was found | | -| **collection_date** | **Time** | The date when the raw intelligence item was scraped from the original source | [optional] | -| **content** | **String** | Highlighted content based on the rule that generated the notifications. Highlights are surrounded with a `<cs-highlight>` tag | | -| **created_date** | **Time** | The date when the raw intelligence item was created | | -| **file_type** | **String** | Mime type of the file for file type items | [optional] | +| **category** | **String** | The type of source where the raw intelligence item was found | | +| **collection_date** | **Time** | The date and time the raw intelligence item was scraped from the original source | [optional] | +| **content** | **String** | Highlighted content based on the monitoring rule that generated the notification. Highlights are surrounded with a `<cs-highlight>` tag | | +| **created_date** | **Time** | The date and time when the raw intelligence item was created | | +| **file_type** | **String** | The file type of the raw intelligence item, if available | [optional] | | **fragment_info** | [**DomainFragmentInfo**](DomainFragmentInfo.md) | | [optional] | -| **ioc_types** | **Array<String>** | IOC types available in the raw intelligence item. List of keys populated in the iocs field | [optional] | +| **full_content_url** | **String** | The URL to download the full raw text content of the raw intelligence item. It has a limited time to live | [optional] | +| **ioc_types** | **Array<String>** | The types of IOCs found in the raw intelligence item. List of keys populated in the iocs field | [optional] | | **iocs** | [**DomainIOC**](DomainIOC.md) | | [optional] | -| **labels** | **Array<String>** | The raw intelligence item labels. These contain hints around what is actually included in the item (malware, IPs, emails, etc). | [optional] | -| **language** | **String** | The raw intelligence item language | [optional] | +| **labels** | **Array<String>** | Labels for the type of information included in a raw intelligence item | [optional] | +| **language** | **String** | The language of the raw intelligence item | [optional] | | **marketplace_product** | [**DomainMarketplaceProduct**](DomainMarketplaceProduct.md) | | [optional] | -| **mime_type** | **String** | Mime type of the file for file type items | [optional] | -| **sha256** | **String** | SHA256 of the file contents for file type items | [optional] | +| **mime_type** | **String** | The mime type of the file | [optional] | +| **sha256** | **String** | The SHA256 hash for the file | [optional] | | **site** | **String** | The site where the raw intelligence item was found | [optional] | | **site_id** | **String** | The ID of the site where the raw intelligence item was found | | -| **size** | **Integer** | Size of the item's content in bytes, if available | [optional] | +| **size** | **Integer** | The size of the item's content in bytes, if available | [optional] | | **telegram_info** | [**DomainTelegramInfo**](DomainTelegramInfo.md) | | [optional] | -| **thread_id** | **String** | Identifier that groups all raw intelligence items belonging to the same 'conversation stream', i.e. chatroom, forum thread, etc. | [optional] | -| **title** | **String** | The raw intelligence item title | [optional] | +| **thread_id** | **String** | Identifier that groups all raw intelligence items belonging to the same conversation thread | [optional] | +| **title** | **String** | The title of the raw intelligence item | [optional] | | **type** | **String** | The type of the raw intelligence item | | -| **updated_date** | **Time** | The date when the raw intelligence item was updated | | -| **url** | **String** | The raw intelligence item URL | [optional] | -| **user_id** | **String** | The raw intelligence item author identifier in the original site | [optional] | +| **updated_date** | **Time** | The date and time when the raw intelligence item was updated | | +| **url** | **String** | The URL of the raw intelligence item | [optional] | +| **user_id** | **String** | The raw intelligence item author identifier in the original source | [optional] | ## Example @@ -48,6 +49,7 @@ instance = Falcon::DomainItemDetailsV1.new( created_date: null, file_type: null, fragment_info: null, + full_content_url: null, ioc_types: null, iocs: null, labels: null, diff --git a/docs/DomainLaunchExportJobResponseV1.md b/docs/DomainLaunchExportJobResponseV1.md index 2a049eac..3acbaaf5 100644 --- a/docs/DomainLaunchExportJobResponseV1.md +++ b/docs/DomainLaunchExportJobResponseV1.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<ReconmsaAPIError>**](ReconmsaAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainExportJobV1>**](DomainExportJobV1.md) | | | ## Example diff --git a/docs/DomainListFilesResponseWrapper.md b/docs/DomainListFilesResponseWrapper.md index 42922c87..24125f6e 100644 --- a/docs/DomainListFilesResponseWrapper.md +++ b/docs/DomainListFilesResponseWrapper.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelFile>**](ModelFile.md) | | | ## Example diff --git a/docs/DomainListFilesV2ResponseWrapper.md b/docs/DomainListFilesV2ResponseWrapper.md index 97b49789..b6178690 100644 --- a/docs/DomainListFilesV2ResponseWrapper.md +++ b/docs/DomainListFilesV2ResponseWrapper.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainFileV2>**](DomainFileV2.md) | | | ## Example diff --git a/docs/DomainListSessionsResponseMsa.md b/docs/DomainListSessionsResponseMsa.md index 4cbd8102..f9dce0bf 100644 --- a/docs/DomainListSessionsResponseMsa.md +++ b/docs/DomainListSessionsResponseMsa.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/DomainMSSPRoleResponseV1.md b/docs/DomainMSSPRoleResponseV1.md index 6e1bf796..d6c7a731 100644 --- a/docs/DomainMSSPRoleResponseV1.md +++ b/docs/DomainMSSPRoleResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainMSSPRoles>**](DomainMSSPRoles.md) | | | ## Example diff --git a/docs/DomainMalwareDocument.md b/docs/DomainMalwareDocument.md new file mode 100644 index 00000000..3b73ed70 --- /dev/null +++ b/docs/DomainMalwareDocument.md @@ -0,0 +1,118 @@ +# Falcon::DomainMalwareDocument + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **actors_count** | **Integer** | | [optional] | +| **all_systems** | **Array<String>** | All the Systems affected (i.e AWS, Lambda) | [optional] | +| **associated_actors** | [**Array<DomainDenormalizedAdversaryReference>**](DomainDenormalizedAdversaryReference.md) | All the actors related to this Malware | [optional] | +| **capabilities** | **Array<String>** | | [optional] | +| **community_identifiers** | **Array<String>** | Malware's community identifiers | [optional] | +| **created_timestamp** | **String** | Malware's creation date when it was added to CKB in unix timestamp format | [optional] | +| **description** | **String** | Malware's text description | [optional] | +| **description_text_length** | **Integer** | | [optional] | +| **developed_by** | [**Array<DomainDenormalizedAdversaryReference>**](DomainDenormalizedAdversaryReference.md) | Actors that developed this Malware | [optional] | +| **developed_by_count** | **Integer** | | [optional] | +| **files_containing_threat_count** | **Integer** | | [optional] | +| **id** | **String** | Alphanumeric ID for the Malware | | +| **indicator_count** | **Integer** | | [optional] | +| **kill_chain** | **Array<String>** | | [optional] | +| **last_updated** | **String** | Malware's last updated date in unix timestamp format | [optional] | +| **mitre** | [**Array<DomainDenormalizedThreatUsedMitre>**](DomainDenormalizedThreatUsedMitre.md) | MITRE used by this Malware | [optional] | +| **mitre_attack_count** | **Integer** | | [optional] | +| **mitre_tactic_count** | **Integer** | | [optional] | +| **mitre_technique_count** | **Integer** | | [optional] | +| **motivation** | **Array<String>** | Malware's activity motivation, one of: State-Sponsored, Criminal, Hacktivism | [optional] | +| **name** | **String** | Malware's family name | | +| **next_stage_of** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The previous stage of this Malware | [optional] | +| **next_stages** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The next stages of this Malware | [optional] | +| **plugin_of** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The parent of this Malware | [optional] | +| **plugins** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The plugins of this Malware | [optional] | +| **purchased_by** | [**Array<DomainDenormalizedAdversaryReference>**](DomainDenormalizedAdversaryReference.md) | Actors that purchase this Malware | [optional] | +| **purchased_by_count** | **Integer** | | [optional] | +| **report_count** | **Integer** | | [optional] | +| **reports** | [**Array<DomainDenormalizedReportReference>**](DomainDenormalizedReportReference.md) | Reports that contain this Malware | [optional] | +| **seen_in_environment** | [**DomainMalwareEnvironmentAggregates**](DomainMalwareEnvironmentAggregates.md) | | [optional] | +| **slug** | **String** | Name in url friendly format, lowercased and spaces replaced with dash | [optional] | +| **sold_by** | [**Array<DomainDenormalizedAdversaryReference>**](DomainDenormalizedAdversaryReference.md) | Actors that sell this Malware | [optional] | +| **sold_by_count** | **Integer** | | [optional] | +| **status** | **String** | | [optional] | +| **sub_botnet_of** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The parent botnet of this Malware | [optional] | +| **sub_botnets** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The sub-botnets of this Malware | [optional] | +| **successor_of** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The predecessor of this Malware | [optional] | +| **successors** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The successors of this Malware | [optional] | +| **systems_targeted_count** | **Integer** | | [optional] | +| **target_countries** | [**Array<DomainDenormalizedCountry>**](DomainDenormalizedCountry.md) | Target countries of malware's activity and attacks, slug value is a 2 characters code for the country value, some examples: United States,United Kingdom,Germany,India,Japan,France,Australia,Canada,China | [optional] | +| **target_industries** | [**Array<DomainDenormalizedSector>**](DomainDenormalizedSector.md) | Target economical industries of malware's activity and attacks. List of available values: Government, Financial Services, Technology, Telecommunications, Healthcare, Energy, Academic, Media, Aerospace, NGO, Manufacturing, Industrials and Engineering, Retail, Hospitality, Consulting and Professional Services, Opportunistic, Aviation, Defense, Transportation, Oil and Gas, Legal, Pharmaceutical, Logistics, Military, Automotive, Food and Beverage, Consumer Goods, Real Estate, Insurance, Agriculture, Chemicals, Utilities, Maritime, Extractive, Travel, Dissident, Cryptocurrency, Entertainment, National Government, Law Enforcement, Think Tanks, Local Government, Sports Organizations, Computer Gaming, Biomedical, Nonprofit, Financial Management & Hedge Funds, Political Parties, Architectural and Engineering, Emergency Services, Social Media, International Government, Nuclear, Research Entities, Vocational and Higher-Level Education, eCommerce | [optional] | +| **targeting_profile** | **Array<String>** | Malware's targeting profile | [optional] | +| **targets_systems** | [**Array<DomainDenormalizedCustomerTarget>**](DomainDenormalizedCustomerTarget.md) | The System directly targeted by this Malware (i.e Lambda) | [optional] | +| **threat_file_count** | **Integer** | | [optional] | +| **threat_properties** | **Array<String>** | Malware's properties one of: Commodity, OpenSource, SourceCodeLeaked, Modular, RepurposedLegitimateSoftware | [optional] | +| **threat_relations_count** | **Integer** | | [optional] | +| **used_by** | [**Array<DomainDenormalizedAdversaryReference>**](DomainDenormalizedAdversaryReference.md) | Actors that use this Malware | [optional] | +| **used_by_count** | **Integer** | | [optional] | +| **variant_of** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The parent variant of this Malware | [optional] | +| **variants** | [**Array<DomainDenormalizedThreatReference>**](DomainDenormalizedThreatReference.md) | The variants of this Malware | [optional] | +| **vulnerabilities** | [**Array<DomainVuln>**](DomainVuln.md) | Vulnerabilities this Malware exploits | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainMalwareDocument.new( + actors_count: null, + all_systems: null, + associated_actors: null, + capabilities: null, + community_identifiers: null, + created_timestamp: null, + description: null, + description_text_length: null, + developed_by: null, + developed_by_count: null, + files_containing_threat_count: null, + id: null, + indicator_count: null, + kill_chain: null, + last_updated: null, + mitre: null, + mitre_attack_count: null, + mitre_tactic_count: null, + mitre_technique_count: null, + motivation: null, + name: null, + next_stage_of: null, + next_stages: null, + plugin_of: null, + plugins: null, + purchased_by: null, + purchased_by_count: null, + report_count: null, + reports: null, + seen_in_environment: null, + slug: null, + sold_by: null, + sold_by_count: null, + status: null, + sub_botnet_of: null, + sub_botnets: null, + successor_of: null, + successors: null, + systems_targeted_count: null, + target_countries: null, + target_industries: null, + targeting_profile: null, + targets_systems: null, + threat_file_count: null, + threat_properties: null, + threat_relations_count: null, + used_by: null, + used_by_count: null, + variant_of: null, + variants: null, + vulnerabilities: null +) +``` + diff --git a/docs/DomainMalwareEnvironmentAggregates.md b/docs/DomainMalwareEnvironmentAggregates.md new file mode 100644 index 00000000..fe8f739e --- /dev/null +++ b/docs/DomainMalwareEnvironmentAggregates.md @@ -0,0 +1,22 @@ +# Falcon::DomainMalwareEnvironmentAggregates + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **detections** | **Integer** | | | +| **sandbox** | **Integer** | | | +| **vulnerabilities** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainMalwareEnvironmentAggregates.new( + detections: null, + sandbox: null, + vulnerabilities: null +) +``` + diff --git a/docs/DomainMalwareResponse.md b/docs/DomainMalwareResponse.md new file mode 100644 index 00000000..33a0855f --- /dev/null +++ b/docs/DomainMalwareResponse.md @@ -0,0 +1,22 @@ +# Falcon::DomainMalwareResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | Array of API Errors | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<DomainMalwareDocument>**](DomainMalwareDocument.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainMalwareResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainMarketplaceCredentials.md b/docs/DomainMarketplaceCredentials.md new file mode 100644 index 00000000..d9f81394 --- /dev/null +++ b/docs/DomainMarketplaceCredentials.md @@ -0,0 +1,22 @@ +# Falcon::DomainMarketplaceCredentials + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **sites_all** | **Array<String>** | | [optional] | +| **sites_with_cookie_only** | **Array<String>** | | [optional] | +| **sites_with_password** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainMarketplaceCredentials.new( + sites_all: null, + sites_with_cookie_only: null, + sites_with_password: null +) +``` + diff --git a/docs/DomainMarketplaceProduct.md b/docs/DomainMarketplaceProduct.md index f74cc5f9..71bffce8 100644 --- a/docs/DomainMarketplaceProduct.md +++ b/docs/DomainMarketplaceProduct.md @@ -6,7 +6,7 @@ | ---- | ---- | ----------- | ----- | | **card** | [**DomainCard**](DomainCard.md) | | [optional] | | **country_code** | **String** | | [optional] | -| **credentials** | [**DomainCredentials**](DomainCredentials.md) | | [optional] | +| **credentials** | [**DomainMarketplaceCredentials**](DomainMarketplaceCredentials.md) | | [optional] | | **host** | [**DomainHost**](DomainHost.md) | | [optional] | | **location** | **String** | | [optional] | | **price** | **String** | | [optional] | diff --git a/docs/DomainMatchedRule.md b/docs/DomainMatchedRule.md deleted file mode 100644 index 5b5a5f22..00000000 --- a/docs/DomainMatchedRule.md +++ /dev/null @@ -1,22 +0,0 @@ -# Falcon::DomainMatchedRule - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **customer_id** | **String** | The customer ID | [optional] | -| **hit_id** | **String** | The matched rule hit ID | [optional] | -| **rule_id** | **String** | The matched rule ID | [optional] | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainMatchedRule.new( - customer_id: null, - hit_id: null, - rule_id: null -) -``` - diff --git a/docs/DomainMetaInfo.md b/docs/DomainMetaInfo.md index d71228a7..3c436889 100644 --- a/docs/DomainMetaInfo.md +++ b/docs/DomainMetaInfo.md @@ -4,12 +4,10 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **pagination** | [**MsaspecPaging**](MsaspecPaging.md) | | [optional] | +| **pagination** | [**DomainAssessmentPaging**](DomainAssessmentPaging.md) | | [optional] | | **powered_by** | **String** | | [optional] | | **query_time** | **Float** | | | -| **quota** | [**DomainQuota**](DomainQuota.md) | | [optional] | | **trace_id** | **String** | | | -| **writes** | [**MsaspecWrites**](MsaspecWrites.md) | | [optional] | ## Example @@ -20,9 +18,7 @@ instance = Falcon::DomainMetaInfo.new( pagination: null, powered_by: null, query_time: null, - quota: null, - trace_id: null, - writes: null + trace_id: null ) ``` diff --git a/docs/DomainMsaDetectSummariesResponse.md b/docs/DomainMsaDetectSummariesResponse.md index 987d1c7e..e2ffa68f 100644 --- a/docs/DomainMsaDetectSummariesResponse.md +++ b/docs/DomainMsaDetectSummariesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainAPIDetectionDocument>**](DomainAPIDetectionDocument.md) | | | ## Example diff --git a/docs/DomainMsaEnvironmentScoreResponse.md b/docs/DomainMsaEnvironmentScoreResponse.md index ff4536c0..593448c7 100644 --- a/docs/DomainMsaEnvironmentScoreResponse.md +++ b/docs/DomainMsaEnvironmentScoreResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainEnvironmentScore>**](DomainEnvironmentScore.md) | | | ## Example diff --git a/docs/DomainMsaExternalBehaviorResponse.md b/docs/DomainMsaExternalBehaviorResponse.md index cabdcbcf..d6d785b0 100644 --- a/docs/DomainMsaExternalBehaviorResponse.md +++ b/docs/DomainMsaExternalBehaviorResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainBehavior>**](DomainBehavior.md) | | | ## Example diff --git a/docs/DomainMsaExternalIncidentResponse.md b/docs/DomainMsaExternalIncidentResponse.md index b0bdb0b8..217d0706 100644 --- a/docs/DomainMsaExternalIncidentResponse.md +++ b/docs/DomainMsaExternalIncidentResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainIncident>**](DomainIncident.md) | | | ## Example diff --git a/docs/DomainMsaIncidentPerformActionResponse.md b/docs/DomainMsaIncidentPerformActionResponse.md index 3aeb5375..9adbe8eb 100644 --- a/docs/DomainMsaIncidentPerformActionResponse.md +++ b/docs/DomainMsaIncidentPerformActionResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainUpdateResults>**](DomainUpdateResults.md) | | | ## Example diff --git a/docs/DomainMsaIncidentQueryResponse.md b/docs/DomainMsaIncidentQueryResponse.md index 8a596e98..a791e753 100644 --- a/docs/DomainMsaIncidentQueryResponse.md +++ b/docs/DomainMsaIncidentQueryResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<Object>** | | | ## Example diff --git a/docs/DomainMsaMetaInfo.md b/docs/DomainMsaMetaInfo.md new file mode 100644 index 00000000..a114f644 --- /dev/null +++ b/docs/DomainMsaMetaInfo.md @@ -0,0 +1,20 @@ +# Falcon::DomainMsaMetaInfo + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **pagination** | [**MsaPaging**](MsaPaging.md) | | [optional] | +| **query_time** | **Float** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainMsaMetaInfo.new( + pagination: null, + query_time: null +) +``` + diff --git a/docs/DomainMsaQfResponse.md b/docs/DomainMsaQfResponse.md index c0e54744..4030f2fb 100644 --- a/docs/DomainMsaQfResponse.md +++ b/docs/DomainMsaQfResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<QuarantineQuarantinedFile>**](QuarantineQuarantinedFile.md) | | | ## Example diff --git a/docs/DomainMultiCommandExecuteResponseWrapper.md b/docs/DomainMultiCommandExecuteResponseWrapper.md index 217d6d20..5f29a262 100644 --- a/docs/DomainMultiCommandExecuteResponseWrapper.md +++ b/docs/DomainMultiCommandExecuteResponseWrapper.md @@ -5,8 +5,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **combined** | [**DomainMultiCommandExecuteResponse**](DomainMultiCommandExecuteResponse.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/DomainMultiPulseSensorResponse.md b/docs/DomainMultiPulseSensorResponse.md index 6f23ccfa..219c9f01 100644 --- a/docs/DomainMultiPulseSensorResponse.md +++ b/docs/DomainMultiPulseSensorResponse.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **aid** | **String** | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **session_id** | **String** | | | ## Example diff --git a/docs/DomainMultiStatusSensorResponse.md b/docs/DomainMultiStatusSensorResponse.md index f14a2acf..5ce9d9af 100644 --- a/docs/DomainMultiStatusSensorResponse.md +++ b/docs/DomainMultiStatusSensorResponse.md @@ -7,7 +7,7 @@ | **aid** | **String** | | | | **base_command** | **String** | | [optional] | | **complete** | **Boolean** | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **offline_queued** | **Boolean** | | | | **query_time** | **Float** | | | | **sequence_id** | **Integer** | | [optional] | diff --git a/docs/DomainNewsDocument.md b/docs/DomainNewsDocument.md index 2bb27b4a..addc179f 100644 --- a/docs/DomainNewsDocument.md +++ b/docs/DomainNewsDocument.md @@ -9,24 +9,25 @@ | **attachments** | [**Array<DomainFile>**](DomainFile.md) | News attachment, containing either pdf url or feeds zip and/or gzip archive | [optional] | | **created_date** | **Integer** | Date of the news document creation, unix timestampt | | | **description** | **String** | Full report description, extracted from the document | [optional] | -| **entitlements** | [**Array<DomainEntity>**](DomainEntity.md) | internal property used for permissions check of access, not returned or explicitly filterable | [optional] | +| **entitlements** | **Array<Object>** | internal property used for permissions check of access, not returned or explicitly filterable | [optional] | | **id** | **Integer** | Integer ID of the News document | | | **image** | [**DomainImage**](DomainImage.md) | | [optional] | | **last_modified_date** | **Integer** | Date of the news document last modification, unix timestampt | | | **malware** | [**Array<DomainReportMalware>**](DomainReportMalware.md) | Malware mentioned, related or referenced in the news/report | [optional] | -| **motivations** | [**Array<DomainEntity>**](DomainEntity.md) | News mentioned motivation or motivation of related actors and malware families | | +| **motivations** | **Array<Object>** | News mentioned motivation or motivation of related actors and malware families | | | **name** | **String** | News title | | | **notify_users** | **Boolean** | internal field, not used | [optional] | | **rich_text_description** | **String** | Rich text description with markup | [optional] | +| **rich_text_short_description** | **String** | Rich text short description with markup | [optional] | | **short_description** | **String** | Short description of the report content | [optional] | | **slug** | **String** | News title in a url friendly way, which is title in lowercase and special characters including space replaced with dash | | -| **sub_type** | [**DomainEntity**](DomainEntity.md) | | [optional] | -| **tags** | [**Array<DomainEntity>**](DomainEntity.md) | News tags, which contains MITRE, Vulnerability community identifiers, capabilities, malware family name, customer target, activity cluster, notable event, geopolitical issue | | -| **target_countries** | [**Array<DomainEntity>**](DomainEntity.md) | News mentioned target countries or related actor's target countries | | -| **target_industries** | [**Array<DomainEntity>**](DomainEntity.md) | News mentioned target industries or related actor's target industries | | +| **sub_type** | **Object** | | [optional] | +| **tags** | **Array<Object>** | News tags, which contains MITRE, Vulnerability community identifiers, capabilities, malware family name, customer target, activity cluster, notable event, geopolitical issue | | +| **target_countries** | **Array<Object>** | News mentioned target countries or related actor's target countries | | +| **target_industries** | **Array<Object>** | News mentioned target industries or related actor's target industries | | | **thumbnail** | [**DomainImage**](DomainImage.md) | | | -| **topic** | [**DomainEntity**](DomainEntity.md) | | [optional] | -| **type** | [**DomainEntity**](DomainEntity.md) | | [optional] | +| **topic** | **Object** | | [optional] | +| **type** | **Object** | | [optional] | | **url** | **String** | URL of the news document where it can be accessed in the Falcon Portal | [optional] | ## Example @@ -49,6 +50,7 @@ instance = Falcon::DomainNewsDocument.new( name: null, notify_users: null, rich_text_description: null, + rich_text_short_description: null, short_description: null, slug: null, sub_type: null, diff --git a/docs/DomainNewsResponse.md b/docs/DomainNewsResponse.md index ed6296a4..7073989b 100644 --- a/docs/DomainNewsResponse.md +++ b/docs/DomainNewsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | Array of API Errors | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | Array of API Errors | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainNewsDocument>**](DomainNewsDocument.md) | | | ## Example diff --git a/docs/DomainNotificationDetailsResponseV1.md b/docs/DomainNotificationDetailsResponseV1.md index d8e1a808..956fd111 100644 --- a/docs/DomainNotificationDetailsResponseV1.md +++ b/docs/DomainNotificationDetailsResponseV1.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<DomainReconAPIError>**](DomainReconAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainDetailedNotificationV1>**](DomainDetailedNotificationV1.md) | | | ## Example diff --git a/docs/DomainNotificationEntitiesResponseV1.md b/docs/DomainNotificationEntitiesResponseV1.md index de75ba33..b7d9cb68 100644 --- a/docs/DomainNotificationEntitiesResponseV1.md +++ b/docs/DomainNotificationEntitiesResponseV1.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<DomainReconAPIError>**](DomainReconAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainNotificationV1>**](DomainNotificationV1.md) | | | ## Example diff --git a/docs/DomainNotificationIDResponse.md b/docs/DomainNotificationIDResponse.md index b099afbe..c400c3e2 100644 --- a/docs/DomainNotificationIDResponse.md +++ b/docs/DomainNotificationIDResponse.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **errors** | [**Array<DomainReconAPIError>**](DomainReconAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/DomainNotificationV1.md b/docs/DomainNotificationV1.md index 3c445cb8..fe6e03ac 100644 --- a/docs/DomainNotificationV1.md +++ b/docs/DomainNotificationV1.md @@ -22,6 +22,9 @@ | **item_type** | **String** | Type of the item which matched the rule: `post`, `reply`, `botnet_config`, `breach`, etc. | | | **logs** | [**Array<SadomainNotificationLog>**](SadomainNotificationLog.md) | | [optional] | | **raw_intel_id** | **String** | ID of the raw intel item that matched the rule | | +| **rule_creator_name** | **String** | The name of the user who created the rule | [optional] | +| **rule_creator_uid** | **String** | The user ID of the user who created the rule | [optional] | +| **rule_creator_uuid** | **String** | The unique UUID of the user who created the rule | [optional] | | **rule_id** | **String** | The ID of the rule that generated this notification | | | **rule_name** | **String** | The name of the rule that generated this notification | | | **rule_priority** | **String** | The priority of the rule that generated this notification | | @@ -55,6 +58,9 @@ instance = Falcon::DomainNotificationV1.new( item_type: null, logs: null, raw_intel_id: null, + rule_creator_name: null, + rule_creator_uid: null, + rule_creator_uuid: null, rule_id: null, rule_name: null, rule_priority: null, diff --git a/docs/DomainPastebinTextSource.md b/docs/DomainPastebinTextSource.md deleted file mode 100644 index 520a1212..00000000 --- a/docs/DomainPastebinTextSource.md +++ /dev/null @@ -1,26 +0,0 @@ -# Falcon::DomainPastebinTextSource - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **author_name** | **String** | The name of the author | | -| **legacy_source** | **Object** | | [optional] | -| **pastebin_id** | **String** | Unique ID of the Pastebin content | | -| **source_link** | **String** | The Pastebin URL | | -| **title** | **String** | The title of the Pastebin content | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainPastebinTextSource.new( - author_name: null, - legacy_source: null, - pastebin_id: null, - source_link: null, - title: null -) -``` - diff --git a/docs/DomainPlatform.md b/docs/DomainPlatform.md index a8512e47..5bdc042e 100644 --- a/docs/DomainPlatform.md +++ b/docs/DomainPlatform.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **id** | **String** | | | -| **label** | **String** | | | +| **id** | **Integer** | | | +| **name** | **String** | | | ## Example @@ -14,7 +14,7 @@ require 'crimson-falcon' instance = Falcon::DomainPlatform.new( id: null, - label: null + name: null ) ``` diff --git a/docs/DomainPolicyInfo.md b/docs/DomainPolicyInfo.md index 927ab755..87a92f72 100644 --- a/docs/DomainPolicyInfo.md +++ b/docs/DomainPolicyInfo.md @@ -24,10 +24,14 @@ | **cloud_platform_type** | **String** | | [optional] | | **cloud_service** | **Integer** | | [optional] | | **cloud_service_friendly** | **String** | | [optional] | +| **cloud_service_id** | **Integer** | | [optional] | | **cloud_service_subtype** | **String** | | [optional] | | **cloud_service_type** | **String** | | [optional] | +| **compliance** | [**DomainCompliance**](DomainCompliance.md) | | [optional] | | **confidence** | **String** | | [optional] | +| **controls** | [**Array<DomainControl>**](DomainControl.md) | | [optional] | | **default_severity** | **String** | | [optional] | +| **deprecated** | **Boolean** | | [optional] | | **description** | **String** | | [optional] | | **event_type** | **String** | | [optional] | | **fql_policy** | **String** | | [optional] | @@ -50,6 +54,8 @@ | **policy_statement** | **String** | | [optional] | | **policy_type** | **String** | | [optional] | | **remediation_summary** | **String** | | [optional] | +| **resource_type_friendly_name** | **String** | | [optional] | +| **resource_type_id** | **String** | | [optional] | | **soc2_benchmark_ids** | **Array<Integer>** | | [optional] | | **tactic** | **String** | | [optional] | | **tactic_id** | **String** | | [optional] | @@ -84,10 +90,14 @@ instance = Falcon::DomainPolicyInfo.new( cloud_platform_type: null, cloud_service: null, cloud_service_friendly: null, + cloud_service_id: null, cloud_service_subtype: null, cloud_service_type: null, + compliance: null, confidence: null, + controls: null, default_severity: null, + deprecated: null, description: null, event_type: null, fql_policy: null, @@ -110,6 +120,8 @@ instance = Falcon::DomainPolicyInfo.new( policy_statement: null, policy_type: null, remediation_summary: null, + resource_type_friendly_name: null, + resource_type_id: null, soc2_benchmark_ids: null, tactic: null, tactic_id: null, diff --git a/docs/DomainProductFeatures.md b/docs/DomainProductFeatures.md new file mode 100644 index 00000000..229cc499 --- /dev/null +++ b/docs/DomainProductFeatures.md @@ -0,0 +1,20 @@ +# Falcon::DomainProductFeatures + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **features** | **Array<String>** | | | +| **product** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainProductFeatures.new( + features: null, + product: null +) +``` + diff --git a/docs/DomainProductFeaturesStatus.md b/docs/DomainProductFeaturesStatus.md new file mode 100644 index 00000000..ced0eb95 --- /dev/null +++ b/docs/DomainProductFeaturesStatus.md @@ -0,0 +1,20 @@ +# Falcon::DomainProductFeaturesStatus + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **features** | [**Array<DomainFeatureStatus>**](DomainFeatureStatus.md) | | | +| **product** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainProductFeaturesStatus.new( + features: null, + product: null +) +``` + diff --git a/docs/DomainProductPermission.md b/docs/DomainProductPermission.md new file mode 100644 index 00000000..8689c19a --- /dev/null +++ b/docs/DomainProductPermission.md @@ -0,0 +1,20 @@ +# Falcon::DomainProductPermission + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **features** | [**Array<DomainFeaturePermission>**](DomainFeaturePermission.md) | | | +| **product** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainProductPermission.new( + features: null, + product: null +) +``` + diff --git a/docs/DomainPublicIndicatorsV3Response.md b/docs/DomainPublicIndicatorsV3Response.md index e20f6ef0..4eb93288 100644 --- a/docs/DomainPublicIndicatorsV3Response.md +++ b/docs/DomainPublicIndicatorsV3Response.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainPublicIndicatorV3>**](DomainPublicIndicatorV3.md) | | | ## Example diff --git a/docs/DomainQueryMitreAttacksResponse.md b/docs/DomainQueryMitreAttacksResponse.md index 293847b6..e94dc36a 100644 --- a/docs/DomainQueryMitreAttacksResponse.md +++ b/docs/DomainQueryMitreAttacksResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | Array of API Errors | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | Array of API Errors | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | Actor's MITRE attack (Tactic and Technique) ids, represents a concatenation of actors slug, tactic id and technique id (optional) concatenated by underscore, example: fancy-bear_TA0011_T1071' | | ## Example diff --git a/docs/DomainQueryResponse.md b/docs/DomainQueryResponse.md index f2587360..b1b9ea2a 100644 --- a/docs/DomainQueryResponse.md +++ b/docs/DomainQueryResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<DomainReconAPIError>**](DomainReconAPIError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**DomainMsaMetaInfo**](DomainMsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/DomainQueuedSessionResponseWrapper.md b/docs/DomainQueuedSessionResponseWrapper.md index 0096e8c4..38d08c3d 100644 --- a/docs/DomainQueuedSessionResponseWrapper.md +++ b/docs/DomainQueuedSessionResponseWrapper.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainQueuedSessionJob>**](DomainQueuedSessionJob.md) | | | ## Example diff --git a/docs/DomainReference.md b/docs/DomainReference.md new file mode 100644 index 00000000..faae88dd --- /dev/null +++ b/docs/DomainReference.md @@ -0,0 +1,20 @@ +# Falcon::DomainReference + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **tags** | **Array<String>** | | | +| **url** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainReference.new( + tags: null, + url: null +) +``` + diff --git a/docs/DomainRegistryCredentialsResponse.md b/docs/DomainRegistryCredentialsResponse.md index 01fc2ae2..1a34d568 100644 --- a/docs/DomainRegistryCredentialsResponse.md +++ b/docs/DomainRegistryCredentialsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainCredentials>**](DomainCredentials.md) | | | ## Example diff --git a/docs/DomainReportExecutionSummaryV1.md b/docs/DomainReportExecutionSummaryV1.md index 0c02031b..9e4b7c18 100644 --- a/docs/DomainReportExecutionSummaryV1.md +++ b/docs/DomainReportExecutionSummaryV1.md @@ -8,6 +8,7 @@ | **id** | **String** | | | | **last_updated_on** | **Time** | | | | **report_file_reference** | **String** | | [optional] | +| **report_params** | [**DomainReportParams**](DomainReportParams.md) | | | | **result_metadata** | [**DomainResultMetadata**](DomainResultMetadata.md) | | [optional] | | **status** | **String** | | | | **status_display** | **String** | | | @@ -23,6 +24,7 @@ instance = Falcon::DomainReportExecutionSummaryV1.new( id: null, last_updated_on: null, report_file_reference: null, + report_params: null, result_metadata: null, status: null, status_display: null, diff --git a/docs/DomainReportExecutionV1.md b/docs/DomainReportExecutionV1.md index 926122c2..e4054ecc 100644 --- a/docs/DomainReportExecutionV1.md +++ b/docs/DomainReportExecutionV1.md @@ -13,6 +13,7 @@ | **job_reference** | **String** | | [optional] | | **last_updated_on** | **Time** | | | | **report_file_reference** | **String** | | [optional] | +| **report_params** | [**DomainReportParams**](DomainReportParams.md) | | | | **result_metadata** | [**DomainResultMetadata**](DomainResultMetadata.md) | | [optional] | | **scheduled_report_id** | **String** | | | | **shared_with** | **Array<String>** | | | @@ -40,6 +41,7 @@ instance = Falcon::DomainReportExecutionV1.new( job_reference: null, last_updated_on: null, report_file_reference: null, + report_params: null, result_metadata: null, scheduled_report_id: null, shared_with: null, diff --git a/docs/DomainReportExecutionsResponseV1.md b/docs/DomainReportExecutionsResponseV1.md index 52804c85..d0b57501 100644 --- a/docs/DomainReportExecutionsResponseV1.md +++ b/docs/DomainReportExecutionsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainReportExecutionV1>**](DomainReportExecutionV1.md) | | | ## Example diff --git a/docs/DomainReportParams.md b/docs/DomainReportParams.md index e13d0aef..92ad0d0a 100644 --- a/docs/DomainReportParams.md +++ b/docs/DomainReportParams.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **columns** | **Array<String>** | | | | **dashboard_id** | **String** | | | | **dashboard_visibility** | **String** | | | | **filter** | **String** | | | @@ -12,6 +13,7 @@ | **format** | **String** | | | | **report_type_options** | **Hash<String, String>** | | [optional] | | **sort** | **String** | | | +| **spotlight_params** | [**DomainSpotlightParams**](DomainSpotlightParams.md) | | [optional] | ## Example @@ -19,6 +21,7 @@ require 'crimson-falcon' instance = Falcon::DomainReportParams.new( + columns: null, dashboard_id: null, dashboard_visibility: null, filter: null, @@ -26,7 +29,8 @@ instance = Falcon::DomainReportParams.new( filter_ui: null, format: null, report_type_options: null, - sort: null + sort: null, + spotlight_params: null ) ``` diff --git a/docs/DomainRequest.md b/docs/DomainRequest.md new file mode 100644 index 00000000..b9d162c3 --- /dev/null +++ b/docs/DomainRequest.md @@ -0,0 +1,18 @@ +# Falcon::DomainRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **description** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainRequest.new( + description: null +) +``` + diff --git a/docs/DomainRuleEntitiesResponse.md b/docs/DomainRuleEntitiesResponse.md deleted file mode 100644 index 2456db3b..00000000 --- a/docs/DomainRuleEntitiesResponse.md +++ /dev/null @@ -1,22 +0,0 @@ -# Falcon::DomainRuleEntitiesResponse - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | -| **resources** | [**Array<DomainRule>**](DomainRule.md) | | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainRuleEntitiesResponse.new( - errors: null, - meta: null, - resources: null -) -``` - diff --git a/docs/DomainRuleMetaInfo.md b/docs/DomainRuleMetaInfo.md index f3dae4d6..55d855e3 100644 --- a/docs/DomainRuleMetaInfo.md +++ b/docs/DomainRuleMetaInfo.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **pagination** | [**MsaspecPaging**](MsaspecPaging.md) | | [optional] | +| **pagination** | [**MsaPaging**](MsaPaging.md) | | [optional] | | **powered_by** | **String** | The API that generated the response | [optional] | | **query_time** | **Float** | How much time the query took | | | **quota** | [**DomainRuleQuota**](DomainRuleQuota.md) | | [optional] | diff --git a/docs/DomainRulesResponse.md b/docs/DomainRulesResponse.md index bd682d38..6ed5eb30 100644 --- a/docs/DomainRulesResponse.md +++ b/docs/DomainRulesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainRule>**](DomainRule.md) | | | ## Example diff --git a/docs/DomainSPAPICombinedVulnerabilitiesResponse.md b/docs/DomainSPAPICombinedVulnerabilitiesResponse.md index 72d1411f..58efda24 100644 --- a/docs/DomainSPAPICombinedVulnerabilitiesResponse.md +++ b/docs/DomainSPAPICombinedVulnerabilitiesResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | | **meta** | [**DomainSPAPIQueryMeta**](DomainSPAPIQueryMeta.md) | | | | **resources** | [**Array<DomainBaseAPIVulnerabilityV2>**](DomainBaseAPIVulnerabilityV2.md) | | | diff --git a/docs/DomainSPAPIEvaluationLogicCombinedResponseV1.md b/docs/DomainSPAPIEvaluationLogicCombinedResponseV1.md index 1aa1a65d..2b398b96 100644 --- a/docs/DomainSPAPIEvaluationLogicCombinedResponseV1.md +++ b/docs/DomainSPAPIEvaluationLogicCombinedResponseV1.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | | **meta** | [**DomainSPAPIQueryMeta**](DomainSPAPIQueryMeta.md) | | | | **resources** | [**Array<DomainAPIEvaluationLogicV1>**](DomainAPIEvaluationLogicV1.md) | | | diff --git a/docs/DomainSPAPIEvaluationLogicEntitiesResponseV1.md b/docs/DomainSPAPIEvaluationLogicEntitiesResponseV1.md index 8138199d..87b06df9 100644 --- a/docs/DomainSPAPIEvaluationLogicEntitiesResponseV1.md +++ b/docs/DomainSPAPIEvaluationLogicEntitiesResponseV1.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | | **meta** | [**DomainMetaInfo**](DomainMetaInfo.md) | | | | **resources** | [**Array<DomainAPIEvaluationLogicV1>**](DomainAPIEvaluationLogicV1.md) | | | diff --git a/docs/DomainSPAPIQueryResponse.md b/docs/DomainSPAPIQueryResponse.md index e4d1fec0..b30dbf0b 100644 --- a/docs/DomainSPAPIQueryResponse.md +++ b/docs/DomainSPAPIQueryResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | | **meta** | [**DomainSPAPIQueryMeta**](DomainSPAPIQueryMeta.md) | | | | **resources** | **Array<String>** | | | diff --git a/docs/DomainSPAPIRemediationEntitiesResponseV2.md b/docs/DomainSPAPIRemediationEntitiesResponseV2.md index 16bb2472..4f29c03e 100644 --- a/docs/DomainSPAPIRemediationEntitiesResponseV2.md +++ b/docs/DomainSPAPIRemediationEntitiesResponseV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainAPIRemediationV2>**](DomainAPIRemediationV2.md) | | | ## Example diff --git a/docs/DomainSPAPIVulnerabilitiesEntitiesResponseV2.md b/docs/DomainSPAPIVulnerabilitiesEntitiesResponseV2.md index 20cb481b..8f201561 100644 --- a/docs/DomainSPAPIVulnerabilitiesEntitiesResponseV2.md +++ b/docs/DomainSPAPIVulnerabilitiesEntitiesResponseV2.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | | **meta** | [**DomainMetaInfo**](DomainMetaInfo.md) | | | | **resources** | [**Array<DomainAPIVulnerabilityV2>**](DomainAPIVulnerabilityV2.md) | | | diff --git a/docs/DomainScan.md b/docs/DomainScan.md index 69b91580..461e43a6 100644 --- a/docs/DomainScan.md +++ b/docs/DomainScan.md @@ -23,7 +23,6 @@ | **initiated_from** | **String** | | [optional] | | **last_updated** | **Time** | | [optional] | | **max_duration** | **Integer** | | [optional] | -| **max_file_size** | **Integer** | | [optional] | | **metadata** | [**Array<DomainScanMetadata>**](DomainScanMetadata.md) | | [optional] | | **missing_host_count** | **Integer** | | [optional] | | **not_started_host_count** | **Integer** | | [optional] | @@ -32,6 +31,7 @@ | **preemption_priority** | **Integer** | | [optional] | | **profile_id** | **String** | | [optional] | | **quarantine** | **Boolean** | | [optional] | +| **rollup_version** | **Integer** | | [optional] | | **scan_completed_on** | **Time** | | [optional] | | **scan_exclusions** | **Array<String>** | | [optional] | | **scan_inclusions** | **Array<String>** | | [optional] | @@ -69,7 +69,6 @@ instance = Falcon::DomainScan.new( initiated_from: null, last_updated: null, max_duration: null, - max_file_size: null, metadata: null, missing_host_count: null, not_started_host_count: null, @@ -78,6 +77,7 @@ instance = Falcon::DomainScan.new( preemption_priority: null, profile_id: null, quarantine: null, + rollup_version: null, scan_completed_on: null, scan_exclusions: null, scan_inclusions: null, diff --git a/docs/DomainScanMetadata.md b/docs/DomainScanMetadata.md index 15f5e4c1..a517b134 100644 --- a/docs/DomainScanMetadata.md +++ b/docs/DomainScanMetadata.md @@ -7,6 +7,7 @@ | **completed_on** | **Time** | | [optional] | | **filecount** | [**DomainFileCount**](DomainFileCount.md) | | [optional] | | **host_id** | **String** | | | +| **host_name** | **String** | | [optional] | | **host_scan_id** | **String** | | [optional] | | **last_updated** | **Time** | | [optional] | | **scan_control_reason** | **String** | | [optional] | @@ -24,6 +25,7 @@ instance = Falcon::DomainScanMetadata.new( completed_on: null, filecount: null, host_id: null, + host_name: null, host_scan_id: null, last_updated: null, scan_control_reason: null, diff --git a/docs/DomainScanV2.md b/docs/DomainScanV2.md index 26a4b8ef..cceaa26b 100644 --- a/docs/DomainScanV2.md +++ b/docs/DomainScanV2.md @@ -23,7 +23,6 @@ | **initiated_from** | **String** | | [optional] | | **last_updated** | **Time** | | [optional] | | **max_duration** | **Integer** | | [optional] | -| **max_file_size** | **Integer** | | [optional] | | **metadata** | **Array<String>** | | [optional] | | **missing_host_count** | **Integer** | | | | **not_started_host_count** | **Integer** | | | @@ -68,7 +67,6 @@ instance = Falcon::DomainScanV2.new( initiated_from: null, last_updated: null, max_duration: null, - max_file_size: null, metadata: null, missing_host_count: null, not_started_host_count: null, diff --git a/docs/DomainSchedule.md b/docs/DomainSchedule.md index 215faeca..6de9b3ac 100644 --- a/docs/DomainSchedule.md +++ b/docs/DomainSchedule.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **ignored_by_channelfile** | **Boolean** | | [optional] | -| **interval** | **Integer** | | [optional] | -| **start_timestamp** | **String** | | [optional] | +| **can_stagger** | **Boolean** | | | +| **definition** | **String** | | | +| **display** | **String** | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::DomainSchedule.new( - ignored_by_channelfile: null, - interval: null, - start_timestamp: null + can_stagger: null, + definition: null, + display: null ) ``` diff --git a/docs/DomainScheduledReportV1.md b/docs/DomainScheduledReportV1.md index 1567bbf7..289ffd56 100644 --- a/docs/DomainScheduledReportV1.md +++ b/docs/DomainScheduledReportV1.md @@ -15,6 +15,7 @@ | **name** | **String** | | | | **next_execution_on** | **Time** | | [optional] | | **notifications** | [**Array<DomainNotifications>**](DomainNotifications.md) | | | +| **owned_by_cs** | **Boolean** | | [optional] | | **report_metadata** | [**DomainReportMetadata**](DomainReportMetadata.md) | | [optional] | | **report_params** | [**DomainReportParams**](DomainReportParams.md) | | | | **schedule** | [**DomainSchedule**](DomainSchedule.md) | | | @@ -45,6 +46,7 @@ instance = Falcon::DomainScheduledReportV1.new( name: null, next_execution_on: null, notifications: null, + owned_by_cs: null, report_metadata: null, report_params: null, schedule: null, diff --git a/docs/DomainScheduledReportsResultV1.md b/docs/DomainScheduledReportsResultV1.md index 05a95cb8..396a1631 100644 --- a/docs/DomainScheduledReportsResultV1.md +++ b/docs/DomainScheduledReportsResultV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainScheduledReportV1>**](DomainScheduledReportV1.md) | | | ## Example diff --git a/docs/DomainSensorInstallerV2.md b/docs/DomainSensorInstallerV2.md new file mode 100644 index 00000000..05d6b4c3 --- /dev/null +++ b/docs/DomainSensorInstallerV2.md @@ -0,0 +1,42 @@ +# Falcon::DomainSensorInstallerV2 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **architectures** | **Array<String>** | architectures supported | [optional] | +| **description** | **String** | installer description | | +| **file_size** | **Integer** | file size | | +| **file_type** | **String** | file type | | +| **ltv_expiry_date** | **String** | ltv expiry date | [optional] | +| **ltv_promoted_date** | **String** | ltv promoted date | [optional] | +| **name** | **String** | installer file name | | +| **os** | **String** | | | +| **os_version** | **String** | | | +| **platform** | **String** | supported platform | | +| **release_date** | **Time** | release date | | +| **sha256** | **String** | sha256 | | +| **version** | **String** | version of the installer | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainSensorInstallerV2.new( + architectures: null, + description: null, + file_size: null, + file_type: null, + ltv_expiry_date: null, + ltv_promoted_date: null, + name: null, + os: null, + os_version: null, + platform: null, + release_date: null, + sha256: null, + version: null +) +``` + diff --git a/docs/DomainSensorInstallersV1.md b/docs/DomainSensorInstallersV1.md index 7d60e707..caecb3d1 100644 --- a/docs/DomainSensorInstallersV1.md +++ b/docs/DomainSensorInstallersV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainSensorInstallerV1>**](DomainSensorInstallerV1.md) | | | ## Example diff --git a/docs/DomainSensorInstallersV2.md b/docs/DomainSensorInstallersV2.md new file mode 100644 index 00000000..ab736eb4 --- /dev/null +++ b/docs/DomainSensorInstallersV2.md @@ -0,0 +1,22 @@ +# Falcon::DomainSensorInstallersV2 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<DomainSensorInstallerV2>**](DomainSensorInstallerV2.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainSensorInstallersV2.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/DomainSessionResponseWrapper.md b/docs/DomainSessionResponseWrapper.md index 20fae21d..a8426059 100644 --- a/docs/DomainSessionResponseWrapper.md +++ b/docs/DomainSessionResponseWrapper.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainSession>**](DomainSession.md) | | | ## Example diff --git a/docs/DomainSimpleActor.md b/docs/DomainSimpleActor.md index 401a0818..7e4cbe88 100644 --- a/docs/DomainSimpleActor.md +++ b/docs/DomainSimpleActor.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **entitlements** | [**Array<DomainEntity>**](DomainEntity.md) | | [optional] | +| **entitlements** | **Array<Object>** | | [optional] | | **id** | **Integer** | | | | **name** | **String** | | [optional] | | **slug** | **String** | | [optional] | diff --git a/docs/DomainSpotlightParams.md b/docs/DomainSpotlightParams.md new file mode 100644 index 00000000..55e40976 --- /dev/null +++ b/docs/DomainSpotlightParams.md @@ -0,0 +1,22 @@ +# Falcon::DomainSpotlightParams + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **template_fields** | **Array<String>** | | | +| **template_name** | **String** | | | +| **top_n_results** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainSpotlightParams.new( + template_fields: null, + template_name: null, + top_n_results: null +) +``` + diff --git a/docs/DomainStatusResponseWrapper.md b/docs/DomainStatusResponseWrapper.md index feac8234..61c1b2d6 100644 --- a/docs/DomainStatusResponseWrapper.md +++ b/docs/DomainStatusResponseWrapper.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainStatusResponse>**](DomainStatusResponse.md) | | | ## Example diff --git a/docs/DomainTweetSource.md b/docs/DomainTweetSource.md deleted file mode 100644 index e91ff859..00000000 --- a/docs/DomainTweetSource.md +++ /dev/null @@ -1,26 +0,0 @@ -# Falcon::DomainTweetSource - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **author_name** | **String** | The username of the tweet's author | | -| **language** | **String** | The language of the tweet | | -| **legacy_source** | **Object** | | [optional] | -| **source_link** | **String** | The link to the tweet | | -| **tweet_id** | **Integer** | The tweet ID | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainTweetSource.new( - author_name: null, - language: null, - legacy_source: null, - source_link: null, - tweet_id: null -) -``` - diff --git a/docs/DomainUpdateRuleRequestV1.md b/docs/DomainUpdateRuleRequestV1.md index 69773120..c63c920b 100644 --- a/docs/DomainUpdateRuleRequestV1.md +++ b/docs/DomainUpdateRuleRequestV1.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **breach_monitor_only** | **Boolean** | Monitor only for breach data. Must be accompanied by breach_monitoring_enabled:true. | | | **breach_monitoring_enabled** | **Boolean** | Whether to monitor for breach data. Available only for `Company Domains` and `Email addresses` rule topics. When enabled, ownership of the monitored domains or emails is required | | | **filter** | **String** | The FQL filter to be used for searching | | | **id** | **String** | The rule ID to be updated | | @@ -18,6 +19,7 @@ require 'crimson-falcon' instance = Falcon::DomainUpdateRuleRequestV1.new( + breach_monitor_only: null, breach_monitoring_enabled: null, filter: null, id: null, diff --git a/docs/DomainUser.md b/docs/DomainUser.md index 6318e05f..eea8f6af 100644 --- a/docs/DomainUser.md +++ b/docs/DomainUser.md @@ -5,9 +5,13 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **cid** | **String** | | [optional] | -| **email** | **String** | | [optional] | +| **created_at** | **Time** | | [optional] | | **first_name** | **String** | | [optional] | +| **last_login_at** | **Time** | | [optional] | | **last_name** | **String** | | [optional] | +| **status** | **String** | | [optional] | +| **uid** | **String** | | [optional] | +| **updated_at** | **Time** | | [optional] | | **uuid** | **String** | | [optional] | ## Example @@ -17,9 +21,13 @@ require 'crimson-falcon' instance = Falcon::DomainUser.new( cid: null, - email: null, + created_at: null, first_name: null, + last_login_at: null, last_name: null, + status: null, + uid: null, + updated_at: null, uuid: null ) ``` diff --git a/docs/DomainUserGroupMembersResponseV1.md b/docs/DomainUserGroupMembersResponseV1.md index aded4242..34835e95 100644 --- a/docs/DomainUserGroupMembersResponseV1.md +++ b/docs/DomainUserGroupMembersResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainUserGroupMembers>**](DomainUserGroupMembers.md) | | | ## Example diff --git a/docs/DomainUserGroupsResponseV1.md b/docs/DomainUserGroupsResponseV1.md index 7238a79f..8adeebe7 100644 --- a/docs/DomainUserGroupsResponseV1.md +++ b/docs/DomainUserGroupsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainUserGroup>**](DomainUserGroup.md) | | | ## Example diff --git a/docs/DomainUserMetadata.md b/docs/DomainUserMetadata.md index 2a84c807..791741c0 100644 --- a/docs/DomainUserMetadata.md +++ b/docs/DomainUserMetadata.md @@ -7,6 +7,7 @@ | **customer** | **String** | | | | **first_name** | **String** | | [optional] | | **last_name** | **String** | | [optional] | +| **status** | **String** | | [optional] | | **uid** | **String** | | [optional] | | **uuid** | **String** | | | @@ -19,6 +20,7 @@ instance = Falcon::DomainUserMetadata.new( customer: null, first_name: null, last_name: null, + status: null, uid: null, uuid: null ) diff --git a/docs/DomainVuln.md b/docs/DomainVuln.md new file mode 100644 index 00000000..6cd7b32c --- /dev/null +++ b/docs/DomainVuln.md @@ -0,0 +1,18 @@ +# Falcon::DomainVuln + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cve** | **String** | CVE ID number with four or more digits in the sequence number portion of the ID, examples: CVE-1999-0067, CVE-2014-12345, CVE-2016-7654321 | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::DomainVuln.new( + cve: null +) +``` + diff --git a/docs/DomainVulnerability.md b/docs/DomainVulnerability.md index 4f6f9e68..e35d04f9 100644 --- a/docs/DomainVulnerability.md +++ b/docs/DomainVulnerability.md @@ -4,20 +4,10 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **affected_products** | [**Array<DomainVulnerabilityAffectedProduct>**](DomainVulnerabilityAffectedProduct.md) | List of products affected by vulnerability, specifying product and vendor | [optional] | -| **community_identifiers** | **Array<String>** | Vulnerability community identifiers, which is usually populated for the most popular vulnerabilities | [optional] | -| **cve** | **String** | CVE ID number with four or more digits in the sequence number portion of the ID, examples: CVE-1999-0067, CVE-2014-12345, CVE-2016-7654321 | | -| **cvss_v2_base** | **String** | Vulnerability severity score, according to Common Vulnerability Scoring System V2 | [optional] | -| **cvss_v3_base** | **String** | Vulnerability severity score, according to Common Vulnerability Scoring System V3 | [optional] | -| **description** | **String** | Text description of the vulnerability | [optional] | -| **exploit_status** | **String** | Exploit status of vulnerability, one of: unproven, available, easilyaccessible, activelyused | [optional] | -| **name** | **String** | legacy field, not populated | [optional] | -| **publish_date** | **String** | Date when the vulnerability was published | [optional] | -| **related_actors** | [**Array<DomainVulnerabilityActor>**](DomainVulnerabilityActor.md) | Threat actors that exploits vulnerability | [optional] | -| **related_reports** | [**Array<DomainVulnerabilityReport>**](DomainVulnerabilityReport.md) | Related finished Intelligence Reports to vulnerability, which usually describes the exploitation or attacks using those | [optional] | -| **related_threats** | [**Array<DomainVulnerabilityRelatedThreat>**](DomainVulnerabilityRelatedThreat.md) | Malware Families (threats) that are known to be related to the vulnerability | [optional] | -| **severity** | **String** | Severity of the vulnerability, can be empty or one of: LOW, MEDIUM, HIGH, CRITICAL | [optional] | -| **updated_timestamp** | **String** | Date when the vulnerability was last time updated in the CrowdStrike's database | [optional] | +| **evaluated_affected_assets_count** | **Float** | | | +| **exploit_status** | **Float** | | | +| **exprt_rating** | **String** | | | +| **total_affected_assets** | **Float** | | | ## Example @@ -25,20 +15,10 @@ require 'crimson-falcon' instance = Falcon::DomainVulnerability.new( - affected_products: null, - community_identifiers: null, - cve: null, - cvss_v2_base: null, - cvss_v3_base: null, - description: null, + evaluated_affected_assets_count: null, exploit_status: null, - name: null, - publish_date: null, - related_actors: null, - related_reports: null, - related_threats: null, - severity: null, - updated_timestamp: null + exprt_rating: null, + total_affected_assets: null ) ``` diff --git a/docs/DomainVulnerabilityActor.md b/docs/DomainVulnerabilityActor.md deleted file mode 100644 index 12e84054..00000000 --- a/docs/DomainVulnerabilityActor.md +++ /dev/null @@ -1,20 +0,0 @@ -# Falcon::DomainVulnerabilityActor - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **id** | **String** | Actor internal ID, consisting of it's name with spaces removed | [optional] | -| **name** | **String** | Actor name, composed of 2 uppercase words | [optional] | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainVulnerabilityActor.new( - id: null, - name: null -) -``` - diff --git a/docs/DomainVulnerabilityAffectedProduct.md b/docs/DomainVulnerabilityAffectedProduct.md deleted file mode 100644 index 47476e87..00000000 --- a/docs/DomainVulnerabilityAffectedProduct.md +++ /dev/null @@ -1,20 +0,0 @@ -# Falcon::DomainVulnerabilityAffectedProduct - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **product** | **String** | Lowercase product name that vulnerability affects | [optional] | -| **vendor** | **String** | Lowercase vendor name that develops or provides the affected product | [optional] | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainVulnerabilityAffectedProduct.new( - product: null, - vendor: null -) -``` - diff --git a/docs/DomainVulnerabilityRelatedThreat.md b/docs/DomainVulnerabilityRelatedThreat.md deleted file mode 100644 index 8089dd6e..00000000 --- a/docs/DomainVulnerabilityRelatedThreat.md +++ /dev/null @@ -1,20 +0,0 @@ -# Falcon::DomainVulnerabilityRelatedThreat - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **capabilities** | **Array<String>** | List of malware family or threat capabilities | [optional] | -| **name** | **String** | Malware Family or Threat Name | [optional] | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainVulnerabilityRelatedThreat.new( - capabilities: null, - name: null -) -``` - diff --git a/docs/DomainVulnerabilityReport.md b/docs/DomainVulnerabilityReport.md deleted file mode 100644 index 4dc3d015..00000000 --- a/docs/DomainVulnerabilityReport.md +++ /dev/null @@ -1,20 +0,0 @@ -# Falcon::DomainVulnerabilityReport - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **serial_id** | **String** | Report serial ID, composed of 2 parts separated with dash, example: CSA-20000, CSIT-220000 | [optional] | -| **title** | **String** | legacy, not populated field | [optional] | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::DomainVulnerabilityReport.new( - serial_id: null, - title: null -) -``` - diff --git a/docs/DomainVulnerabilityResponse.md b/docs/DomainVulnerabilityResponse.md index 10006faa..3943ea5c 100644 --- a/docs/DomainVulnerabilityResponse.md +++ b/docs/DomainVulnerabilityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | Array of API Errors | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | Array of API Errors | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainVulnerability>**](DomainVulnerability.md) | Array of Vulnerability documents that were requested | | ## Example diff --git a/docs/DomainXDRParams.md b/docs/DomainXDRParams.md index cf9efdfe..1450e51b 100644 --- a/docs/DomainXDRParams.md +++ b/docs/DomainXDRParams.md @@ -6,13 +6,17 @@ | ---- | ---- | ----------- | ----- | | **assign_to** | **String** | | | | **assign_to_uuid** | **String** | | | +| **author** | **String** | | | | **comment** | **String** | | | | **execution_offset** | **String** | | | +| **origin** | **String** | | | | **severity** | **Integer** | | | | **status** | **String** | | | | **tactic** | **String** | | | | **tags** | **Array<String>** | | | | **technique** | **String** | | | +| **template_id** | **String** | | | +| **trigger_mode** | **String** | | | | **type** | **String** | | | ## Example @@ -23,13 +27,17 @@ require 'crimson-falcon' instance = Falcon::DomainXDRParams.new( assign_to: null, assign_to_uuid: null, + author: null, comment: null, execution_offset: null, + origin: null, severity: null, status: null, tactic: null, tags: null, technique: null, + template_id: null, + trigger_mode: null, type: null ) ``` diff --git a/docs/DownloadsApiApi.md b/docs/DownloadsApiApi.md new file mode 100644 index 00000000..92343407 --- /dev/null +++ b/docs/DownloadsApiApi.md @@ -0,0 +1,161 @@ +# Falcon::DownloadsApiApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**download_file**](DownloadsApiApi.md#download_file) | **GET** /csdownloads/entities/files/download/v1 | Gets pre-signed URL for the file | +| [**enumerate_file**](DownloadsApiApi.md#enumerate_file) | **GET** /csdownloads/entities/files/enumerate/v1 | Enumerates a list of files available for CID | + + +## download_file + +> download_file(file_name, file_version) + +Gets pre-signed URL for the file + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DownloadsApiApi.new +file_name = 'file_name_example' # String | Name of the file to be downloaded +file_version = 'file_version_example' # String | Version of the file to be downloaded + +begin + # Gets pre-signed URL for the file + result = api_instance.download_file(file_name, file_version) + p result +rescue Falcon::ApiError => e + puts "Error when calling DownloadsApiApi->download_file: #{e}" +end +``` + +#### Using the download_file_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> download_file_with_http_info(file_name, file_version) + +```ruby +begin + # Gets pre-signed URL for the file + data, status_code, headers = api_instance.download_file_with_http_info(file_name, file_version) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DownloadsApiApi->download_file_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **file_name** | **String** | Name of the file to be downloaded | | +| **file_version** | **String** | Version of the file to be downloaded | | + +### Return type + +[**CommonEntitiesResponse**](CommonEntitiesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## enumerate_file + +> enumerate_file(opts) + +Enumerates a list of files available for CID + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::DownloadsApiApi.new +opts = { + file_name: 'file_name_example', # String | Apply filtering on file name + file_version: 'file_version_example', # String | Apply filtering on file version + platform: 'platform_example', # String | Apply filtering on file platform + os: 'os_example', # String | Apply filtering on operating system + arch: 'arch_example', # String | Apply filtering on architecture + category: 'category_example' # String | Apply filtering on file category +} + +begin + # Enumerates a list of files available for CID + result = api_instance.enumerate_file(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling DownloadsApiApi->enumerate_file: #{e}" +end +``` + +#### Using the enumerate_file_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> enumerate_file_with_http_info(opts) + +```ruby +begin + # Enumerates a list of files available for CID + data, status_code, headers = api_instance.enumerate_file_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling DownloadsApiApi->enumerate_file_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **file_name** | **String** | Apply filtering on file name | [optional] | +| **file_version** | **String** | Apply filtering on file version | [optional] | +| **platform** | **String** | Apply filtering on file platform | [optional] | +| **os** | **String** | Apply filtering on operating system | [optional] | +| **arch** | **String** | Apply filtering on architecture | [optional] | +| **category** | **String** | Apply filtering on file category | [optional] | + +### Return type + +[**CommonEntitiesResponse**](CommonEntitiesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/DriftIndicatorsApi.md b/docs/DriftIndicatorsApi.md index 8ba118a4..bcc4eb63 100644 --- a/docs/DriftIndicatorsApi.md +++ b/docs/DriftIndicatorsApi.md @@ -1,6 +1,6 @@ # Falcon::DriftIndicatorsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/DriftindicatorsDriftEntityResponse.md b/docs/DriftindicatorsDriftEntityResponse.md index 1a94361a..e7c03498 100644 --- a/docs/DriftindicatorsDriftEntityResponse.md +++ b/docs/DriftindicatorsDriftEntityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIDriftIndicators>**](ModelsAPIDriftIndicators.md) | | | ## Example diff --git a/docs/DriftindicatorsDriftIndicatorsCountValue.md b/docs/DriftindicatorsDriftIndicatorsCountValue.md index dabea6d4..bca0e768 100644 --- a/docs/DriftindicatorsDriftIndicatorsCountValue.md +++ b/docs/DriftindicatorsDriftIndicatorsCountValue.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<CommonCountAsResource>**](CommonCountAsResource.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::DriftindicatorsDriftIndicatorsCountValue.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/DriftindicatorsDriftIndicatorsFieldValue.md b/docs/DriftindicatorsDriftIndicatorsFieldValue.md index a436262e..0b2d011d 100644 --- a/docs/DriftindicatorsDriftIndicatorsFieldValue.md +++ b/docs/DriftindicatorsDriftIndicatorsFieldValue.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::DriftindicatorsDriftIndicatorsFieldValue.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/EmpowerapiMsaFalconScriptResponse.md b/docs/EmpowerapiMsaFalconScriptResponse.md index 49eb056a..0f169100 100644 --- a/docs/EmpowerapiMsaFalconScriptResponse.md +++ b/docs/EmpowerapiMsaFalconScriptResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<EmpowerapiFalconScript>**](EmpowerapiFalconScript.md) | | | ## Example diff --git a/docs/EmpowerapiMsaIDListResponse.md b/docs/EmpowerapiMsaIDListResponse.md index b5cfc5b2..2950abc1 100644 --- a/docs/EmpowerapiMsaIDListResponse.md +++ b/docs/EmpowerapiMsaIDListResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/EmpowerapiMsaPFResponseV1.md b/docs/EmpowerapiMsaPFResponseV1.md index 64d21e4b..c4a90440 100644 --- a/docs/EmpowerapiMsaPFResponseV1.md +++ b/docs/EmpowerapiMsaPFResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<EmpowerapiRemoteCommandPutFileV1>**](EmpowerapiRemoteCommandPutFileV1.md) | | | ## Example diff --git a/docs/EmpowerapiMsaPFResponseV2.md b/docs/EmpowerapiMsaPFResponseV2.md index a6e5b00a..a299d5d0 100644 --- a/docs/EmpowerapiMsaPFResponseV2.md +++ b/docs/EmpowerapiMsaPFResponseV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<EmpowerapiRemoteCommandPutFileV2>**](EmpowerapiRemoteCommandPutFileV2.md) | | | ## Example diff --git a/docs/EntitiesODSScanHostResponse.md b/docs/EntitiesODSScanHostResponse.md index 9986572b..7a26768f 100644 --- a/docs/EntitiesODSScanHostResponse.md +++ b/docs/EntitiesODSScanHostResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainScanHostMetadata>**](DomainScanHostMetadata.md) | | | ## Example diff --git a/docs/EntitiesODSScanMaliciousFileResponse.md b/docs/EntitiesODSScanMaliciousFileResponse.md index 697fb5ea..e51ada3e 100644 --- a/docs/EntitiesODSScanMaliciousFileResponse.md +++ b/docs/EntitiesODSScanMaliciousFileResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainMaliciousFile>**](DomainMaliciousFile.md) | | | ## Example diff --git a/docs/EntitiesODSScanRequest.md b/docs/EntitiesODSScanRequest.md index a257f063..1c375101 100644 --- a/docs/EntitiesODSScanRequest.md +++ b/docs/EntitiesODSScanRequest.md @@ -14,7 +14,6 @@ | **hosts** | **Array<String>** | | | | **initiated_from** | **String** | | | | **max_duration** | **Integer** | | | -| **max_file_size** | **Integer** | | | | **pause_duration** | **Integer** | | | | **quarantine** | **Boolean** | | | | **scan_exclusions** | **Array<String>** | | | @@ -38,7 +37,6 @@ instance = Falcon::EntitiesODSScanRequest.new( hosts: null, initiated_from: null, max_duration: null, - max_file_size: null, pause_duration: null, quarantine: null, scan_exclusions: null, diff --git a/docs/EntitiesODSScanResponse.md b/docs/EntitiesODSScanResponse.md index 65df335c..c29452e1 100644 --- a/docs/EntitiesODSScanResponse.md +++ b/docs/EntitiesODSScanResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainScan>**](DomainScan.md) | | | ## Example diff --git a/docs/EntitiesODSScanResponseV2.md b/docs/EntitiesODSScanResponseV2.md index 77c400ee..5de05ed9 100644 --- a/docs/EntitiesODSScanResponseV2.md +++ b/docs/EntitiesODSScanResponseV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainScanV2>**](DomainScanV2.md) | | | ## Example diff --git a/docs/EntitiesODSScheduleScanResponse.md b/docs/EntitiesODSScheduleScanResponse.md index 473cb9f3..075b54e8 100644 --- a/docs/EntitiesODSScheduleScanResponse.md +++ b/docs/EntitiesODSScheduleScanResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainScanProfile>**](DomainScanProfile.md) | | | ## Example diff --git a/docs/EntitiesRollingAverage.md b/docs/EntitiesRollingAverage.md new file mode 100644 index 00000000..70c4e7be --- /dev/null +++ b/docs/EntitiesRollingAverage.md @@ -0,0 +1,36 @@ +# Falcon::EntitiesRollingAverage + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **chrome_os** | **Float** | | | +| **containers** | **Float** | | | +| **date** | **Date** | | | +| **lumos** | **Float** | | | +| **mobile** | **Float** | | | +| **public_cloud_with_containers** | **Float** | | | +| **public_cloud_without_containers** | **Float** | | | +| **servers_with_containers** | **Float** | | | +| **servers_without_containers** | **Float** | | | +| **workstations** | **Float** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::EntitiesRollingAverage.new( + chrome_os: null, + containers: null, + date: null, + lumos: null, + mobile: null, + public_cloud_with_containers: null, + public_cloud_without_containers: null, + servers_with_containers: null, + servers_without_containers: null, + workstations: null +) +``` + diff --git a/docs/EventSchemaApi.md b/docs/EventSchemaApi.md index b7b25518..02f587c7 100644 --- a/docs/EventSchemaApi.md +++ b/docs/EventSchemaApi.md @@ -1,6 +1,6 @@ # Falcon::EventSchemaApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/EventStreamsApi.md b/docs/EventStreamsApi.md index 509eb61c..69642974 100644 --- a/docs/EventStreamsApi.md +++ b/docs/EventStreamsApi.md @@ -1,6 +1,6 @@ # Falcon::EventStreamsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ExclusionsRespV1.md b/docs/ExclusionsRespV1.md index 79addbe4..08e162ed 100644 --- a/docs/ExclusionsRespV1.md +++ b/docs/ExclusionsRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ExclusionsExclusionV1>**](ExclusionsExclusionV1.md) | | | ## Example diff --git a/docs/ExecutionsExecutionResult.md b/docs/ExecutionsExecutionResult.md index 3d5c658c..c6850fe3 100644 --- a/docs/ExecutionsExecutionResult.md +++ b/docs/ExecutionsExecutionResult.md @@ -11,9 +11,11 @@ | **end_timestamp** | **Time** | Timestamp of when the execution completed. Only present when status is an end state. | [optional] | | **execution_id** | **String** | Unique id generated for the execution. | | | **loops** | [**Array<ExecutionsLoopResult>**](ExecutionsLoopResult.md) | Details for the results of each loop in the workflow definition. | | +| **output_data** | **Object** | Output from this workflow execution | [optional] | | **retryable** | **Boolean** | A boolean value indicating whether the failed workflow execution is retryable | | | **start_timestamp** | **Time** | Timestamp of when the execution first started. | | | **status** | **String** | Overall status for the execution. | | +| **summary** | **String** | Execution summary if defined in the workflow definition | [optional] | | **trigger** | [**ExecutionsTriggerResult**](ExecutionsTriggerResult.md) | | | ## Example @@ -29,9 +31,11 @@ instance = Falcon::ExecutionsExecutionResult.new( end_timestamp: null, execution_id: null, loops: null, + output_data: null, retryable: null, start_timestamp: null, status: null, + summary: null, trigger: null ) ``` diff --git a/docs/ExecutionsLoopResult.md b/docs/ExecutionsLoopResult.md index 67adb7e7..64b19d46 100644 --- a/docs/ExecutionsLoopResult.md +++ b/docs/ExecutionsLoopResult.md @@ -12,6 +12,7 @@ | **iterations** | [**ExecutionsIterations**](ExecutionsIterations.md) | | | | **mocked** | **Boolean** | Whether this node's result is mocked | [optional] | | **node_id** | **String** | Unique id of the node as specified in the definition. | | +| **outputs** | **Array<Object>** | Outputs from all the iterations of the sub model | [optional] | | **start_timestamp** | **Time** | Timestamp of when the execution first started. | | | **status** | **String** | Current status of execution for the activity. | | @@ -29,6 +30,7 @@ instance = Falcon::ExecutionsLoopResult.new( iterations: null, mocked: null, node_id: null, + outputs: null, start_timestamp: null, status: null ) diff --git a/docs/ExecutionsTriggerResult.md b/docs/ExecutionsTriggerResult.md index 7a3dabd9..34b1ab44 100644 --- a/docs/ExecutionsTriggerResult.md +++ b/docs/ExecutionsTriggerResult.md @@ -7,7 +7,7 @@ | **id** | **String** | Unique identifier for the selected trigger as provided by the triggers API | [optional] | | **mocked** | **Boolean** | Whether this node's result is mocked | [optional] | | **name** | **String** | Display name of the trigger | | -| **result** | **String** | Opaque blob for result of trigger. Structured according to the trigger's JSON schema'. | [optional] | +| **result** | **Object** | Opaque blob for result of trigger. Structured according to the trigger's JSON schema'. | [optional] | ## Example diff --git a/docs/ExportsExportsResponse.md b/docs/ExportsExportsResponse.md new file mode 100644 index 00000000..6923ec52 --- /dev/null +++ b/docs/ExportsExportsResponse.md @@ -0,0 +1,22 @@ +# Falcon::ExportsExportsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<DomainExternalExportJob>**](DomainExternalExportJob.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ExportsExportsResponse.new( + resources: null, + errors: null, + meta: null +) +``` + diff --git a/docs/ExportsLaunchExportRequest.md b/docs/ExportsLaunchExportRequest.md new file mode 100644 index 00000000..2c8bdee3 --- /dev/null +++ b/docs/ExportsLaunchExportRequest.md @@ -0,0 +1,24 @@ +# Falcon::ExportsLaunchExportRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **format** | **String** | Format of the export file. One of: csv, json | | +| **fql** | **String** | Falcon Query Language string to filter documents | [optional] | +| **resource** | **String** | Resource to export. Refer to API docs for the possible values | | +| **sort** | **String** | Sort value to apply to documents. Note: not all resources support sorting | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ExportsLaunchExportRequest.new( + format: null, + fql: null, + resource: null, + sort: null +) +``` + diff --git a/docs/ExportsLaunchExportResponse.md b/docs/ExportsLaunchExportResponse.md new file mode 100644 index 00000000..452a44c4 --- /dev/null +++ b/docs/ExportsLaunchExportResponse.md @@ -0,0 +1,22 @@ +# Falcon::ExportsLaunchExportResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | **Array<String>** | Export job IDs | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ExportsLaunchExportResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ExposureManagementApi.md b/docs/ExposureManagementApi.md new file mode 100644 index 00000000..f5e1c1d0 --- /dev/null +++ b/docs/ExposureManagementApi.md @@ -0,0 +1,747 @@ +# Falcon::ExposureManagementApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**aggregate_external_assets**](ExposureManagementApi.md#aggregate_external_assets) | **POST** /fem/aggregates/external-assets/v1 | Returns external assets aggregates. | +| [**blob_download_external_assets**](ExposureManagementApi.md#blob_download_external_assets) | **GET** /fem/entities/blobs-download/v1 | Download the entire contents of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. | +| [**blob_preview_external_assets**](ExposureManagementApi.md#blob_preview_external_assets) | **GET** /fem/entities/blobs-preview/v1 | Download a preview of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. | +| [**combined_ecosystem_subsidiaries**](ExposureManagementApi.md#combined_ecosystem_subsidiaries) | **GET** /fem/combined/ecosystem-subsidiaries/v1 | Retrieves a list of ecosystem subsidiaries with their detailed information. | +| [**delete_external_assets**](ExposureManagementApi.md#delete_external_assets) | **DELETE** /fem/entities/external-assets/v1 | Delete multiple external assets. | +| [**get_ecosystem_subsidiaries**](ExposureManagementApi.md#get_ecosystem_subsidiaries) | **GET** /fem/entities/ecosystem-subsidiaries/v1 | Retrieves detailed information about ecosystem subsidiaries by ID. | +| [**get_external_assets**](ExposureManagementApi.md#get_external_assets) | **GET** /fem/entities/external-assets/v1 | Get details on external assets by providing one or more IDs. | +| [**patch_external_assets**](ExposureManagementApi.md#patch_external_assets) | **PATCH** /fem/entities/external-assets/v1 | Update the details of external assets. | +| [**query_ecosystem_subsidiaries**](ExposureManagementApi.md#query_ecosystem_subsidiaries) | **GET** /fem/queries/ecosystem-subsidiaries/v1 | Retrieves a list of IDs for ecosystem subsidiaries. Use these IDs with the /entities/ecosystem-subsidiaries/v1 endpoints. | +| [**query_external_assets**](ExposureManagementApi.md#query_external_assets) | **GET** /fem/queries/external-assets/v1 | Get a list of external asset IDs that match the provided filter conditions. Use these IDs with the /entities/external-assets/v1 endpoints | + + +## aggregate_external_assets + +> aggregate_external_assets(body) + +Returns external assets aggregates. + +Returns external assets aggregates as specified via JSON in request body. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +body = [Falcon::MsaAggregateQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [Falcon::MsaAggregateQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [], time_zone: 'time_zone_example', type: 'type_example'})], time_zone: 'time_zone_example', type: 'type_example'})] # Array | Aggregation specification. + +begin + # Returns external assets aggregates. + result = api_instance.aggregate_external_assets(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->aggregate_external_assets: #{e}" +end +``` + +#### Using the aggregate_external_assets_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> aggregate_external_assets_with_http_info(body) + +```ruby +begin + # Returns external assets aggregates. + data, status_code, headers = api_instance.aggregate_external_assets_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->aggregate_external_assets_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**Array<MsaAggregateQueryRequest>**](MsaAggregateQueryRequest.md) | Aggregation specification. | | + +### Return type + +[**MsaAggregatesResponse**](MsaAggregatesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## blob_download_external_assets + +> Array<Integer> blob_download_external_assets(asset_id, hash) + +Download the entire contents of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + +Download the entire contents of the blob. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +asset_id = 'asset_id_example' # String | The Asset ID +hash = 'hash_example' # String | The File Hash + +begin + # Download the entire contents of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + result = api_instance.blob_download_external_assets(asset_id, hash) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->blob_download_external_assets: #{e}" +end +``` + +#### Using the blob_download_external_assets_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> blob_download_external_assets_with_http_info(asset_id, hash) + +```ruby +begin + # Download the entire contents of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + data, status_code, headers = api_instance.blob_download_external_assets_with_http_info(asset_id, hash) + p status_code # => 2xx + p headers # => { ... } + p data # => Array<Integer> +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->blob_download_external_assets_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **asset_id** | **String** | The Asset ID | | +| **hash** | **String** | The File Hash | | + +### Return type + +**Array<Integer>** + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/octet-stream, application/json + + +## blob_preview_external_assets + +> blob_preview_external_assets(asset_id, hash) + +Download a preview of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + +Download a preview of the blob. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +asset_id = 'asset_id_example' # String | The Asset ID +hash = 'hash_example' # String | The File Hash + +begin + # Download a preview of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + result = api_instance.blob_preview_external_assets(asset_id, hash) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->blob_preview_external_assets: #{e}" +end +``` + +#### Using the blob_preview_external_assets_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> blob_preview_external_assets_with_http_info(asset_id, hash) + +```ruby +begin + # Download a preview of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + data, status_code, headers = api_instance.blob_preview_external_assets_with_http_info(asset_id, hash) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->blob_preview_external_assets_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **asset_id** | **String** | The Asset ID | | +| **hash** | **String** | The File Hash | | + +### Return type + +[**DomainExternalAssetsBlobAPITypeV1**](DomainExternalAssetsBlobAPITypeV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## combined_ecosystem_subsidiaries + +> combined_ecosystem_subsidiaries(opts) + +Retrieves a list of ecosystem subsidiaries with their detailed information. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +opts = { + offset: 56, # Integer | Starting index of result set from which to return subsidiaries + limit: 56, # Integer | The maximum number of subsidiaries to return in the response. + sort: 'sort_example', # String | The field by which to sort the list of subsidiaries. Possible values:
  • name
  • primary_domain

Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). + version_id: 'version_id_example' # String | The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. +} + +begin + # Retrieves a list of ecosystem subsidiaries with their detailed information. + result = api_instance.combined_ecosystem_subsidiaries(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->combined_ecosystem_subsidiaries: #{e}" +end +``` + +#### Using the combined_ecosystem_subsidiaries_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> combined_ecosystem_subsidiaries_with_http_info(opts) + +```ruby +begin + # Retrieves a list of ecosystem subsidiaries with their detailed information. + data, status_code, headers = api_instance.combined_ecosystem_subsidiaries_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->combined_ecosystem_subsidiaries_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **offset** | **Integer** | Starting index of result set from which to return subsidiaries | [optional][default to 0] | +| **limit** | **Integer** | The maximum number of subsidiaries to return in the response. | [optional][default to 100] | +| **sort** | **String** | The field by which to sort the list of subsidiaries. Possible values:<ul><li>name</li><li>primary_domain</li></ul></br>Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). | [optional] | +| **version_id** | **String** | The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. | [optional] | + +### Return type + +[**DomainFemEcosystemSubsidiariesEntitiesResponse**](DomainFemEcosystemSubsidiariesEntitiesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## delete_external_assets + +> delete_external_assets(ids, body) + +Delete multiple external assets. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +ids = ['inner_example'] # Array | One or more asset IDs (max: 100). +body = Falcon::DomainExternalAssetAPIDeleteRequestV1.new # DomainExternalAssetAPIDeleteRequestV1 | + +begin + # Delete multiple external assets. + result = api_instance.delete_external_assets(ids, body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->delete_external_assets: #{e}" +end +``` + +#### Using the delete_external_assets_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> delete_external_assets_with_http_info(ids, body) + +```ruby +begin + # Delete multiple external assets. + data, status_code, headers = api_instance.delete_external_assets_with_http_info(ids, body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->delete_external_assets_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | One or more asset IDs (max: 100). | | +| **body** | [**DomainExternalAssetAPIDeleteRequestV1**](DomainExternalAssetAPIDeleteRequestV1.md) | | | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_ecosystem_subsidiaries + +> get_ecosystem_subsidiaries(ids, opts) + +Retrieves detailed information about ecosystem subsidiaries by ID. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +ids = ['inner_example'] # Array | One or more asset IDs (max: 100). Find ecosystem subsidiary IDs with GET `/fem/entities/ecosystem-subsidiaries/v1` +opts = { + version_id: 'version_id_example' # String | The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. +} + +begin + # Retrieves detailed information about ecosystem subsidiaries by ID. + result = api_instance.get_ecosystem_subsidiaries(ids, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->get_ecosystem_subsidiaries: #{e}" +end +``` + +#### Using the get_ecosystem_subsidiaries_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_ecosystem_subsidiaries_with_http_info(ids, opts) + +```ruby +begin + # Retrieves detailed information about ecosystem subsidiaries by ID. + data, status_code, headers = api_instance.get_ecosystem_subsidiaries_with_http_info(ids, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->get_ecosystem_subsidiaries_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | One or more asset IDs (max: 100). Find ecosystem subsidiary IDs with GET `/fem/entities/ecosystem-subsidiaries/v1` | | +| **version_id** | **String** | The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. | [optional] | + +### Return type + +[**DomainFemEcosystemSubsidiariesEntitiesResponse**](DomainFemEcosystemSubsidiariesEntitiesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_external_assets + +> get_external_assets(ids) + +Get details on external assets by providing one or more IDs. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +ids = ['inner_example'] # Array | One or more asset IDs (max: 100). Find asset IDs with GET `/fem/queries/external-assets/v1` + +begin + # Get details on external assets by providing one or more IDs. + result = api_instance.get_external_assets(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->get_external_assets: #{e}" +end +``` + +#### Using the get_external_assets_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_external_assets_with_http_info(ids) + +```ruby +begin + # Get details on external assets by providing one or more IDs. + data, status_code, headers = api_instance.get_external_assets_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->get_external_assets_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | One or more asset IDs (max: 100). Find asset IDs with GET `/fem/queries/external-assets/v1` | | + +### Return type + +[**DomainExternalAssetsAPITypeV1**](DomainExternalAssetsAPITypeV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## patch_external_assets + +> patch_external_assets(body) + +Update the details of external assets. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +body = Falcon::DomainExternalAssetAPIPatchRequestV1.new({assets: [Falcon::DomainExternalAssetsAPIPatch.new({id: 'id_example'})]}) # DomainExternalAssetAPIPatchRequestV1 | + +begin + # Update the details of external assets. + result = api_instance.patch_external_assets(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->patch_external_assets: #{e}" +end +``` + +#### Using the patch_external_assets_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> patch_external_assets_with_http_info(body) + +```ruby +begin + # Update the details of external assets. + data, status_code, headers = api_instance.patch_external_assets_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->patch_external_assets_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**DomainExternalAssetAPIPatchRequestV1**](DomainExternalAssetAPIPatchRequestV1.md) | | | + +### Return type + +[**DomainExternalAssetsAPITypeV1**](DomainExternalAssetsAPITypeV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## query_ecosystem_subsidiaries + +> query_ecosystem_subsidiaries(opts) + +Retrieves a list of IDs for ecosystem subsidiaries. Use these IDs with the /entities/ecosystem-subsidiaries/v1 endpoints. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +opts = { + offset: 56, # Integer | Starting index of result set from which to return subsidiaries + limit: 56, # Integer | The maximum number of IDs to return in the response. + sort: 'sort_example', # String | The field by which to sort the list of IDs. Possible values:
  • name
  • primary_domain

Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). + version_id: 'version_id_example' # String | The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. +} + +begin + # Retrieves a list of IDs for ecosystem subsidiaries. Use these IDs with the /entities/ecosystem-subsidiaries/v1 endpoints. + result = api_instance.query_ecosystem_subsidiaries(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->query_ecosystem_subsidiaries: #{e}" +end +``` + +#### Using the query_ecosystem_subsidiaries_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> query_ecosystem_subsidiaries_with_http_info(opts) + +```ruby +begin + # Retrieves a list of IDs for ecosystem subsidiaries. Use these IDs with the /entities/ecosystem-subsidiaries/v1 endpoints. + data, status_code, headers = api_instance.query_ecosystem_subsidiaries_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->query_ecosystem_subsidiaries_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **offset** | **Integer** | Starting index of result set from which to return subsidiaries | [optional][default to 0] | +| **limit** | **Integer** | The maximum number of IDs to return in the response. | [optional][default to 100] | +| **sort** | **String** | The field by which to sort the list of IDs. Possible values:<ul><li>name</li><li>primary_domain</li></ul></br>Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). | [optional] | +| **version_id** | **String** | The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. | [optional] | + +### Return type + +[**DomainFemEcosystemSubsidiariesQueryResponse**](DomainFemEcosystemSubsidiariesQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## query_external_assets + +> query_external_assets(opts) + +Get a list of external asset IDs that match the provided filter conditions. Use these IDs with the /entities/external-assets/v1 endpoints + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ExposureManagementApi.new +opts = { + offset: 'offset_example', # String | Starting index of result set from which to return IDs. + limit: 56, # Integer | Number of IDs to return. + sort: 'sort_example', # String | Order by fields. + filter: 'filter_example' # String | Filter assets using an FQL query. Common filter options include:
  • asset_type:'ip'
  • last_seen_timestamp:>'now-7d'

Available filter fields that support exact match: asset_id, asset_type, confidence, connectivity_status, criticality, criticality_description, criticality_timestamp, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.last_seen, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, first_seen, id, internet_exposure, ip.asn, ip.cloud_provider, ip.cloud_vm.description, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.first_seen, ip.services.last_seen, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, last_seen, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by, triage.updated_timestamp
Available filter fields that supports wildcard (*): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by
Available filter fields that supports in ([v1, v2]): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by
Available filter fields that supports range comparisons (>, <, >=, <=): criticality_timestamp, dns_domain.resolved_ips, dns_domain.services.first_seen, dns_domain.services.last_seen, dns_domain.services.port, dns_domain.services.status_code, first_seen, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.ip_address, ip.services.first_seen, ip.services.last_seen, ip.services.port, ip.services.status_code, last_seen, triage.updated_timestamp
All filter fields and operations supports negation (!). +} + +begin + # Get a list of external asset IDs that match the provided filter conditions. Use these IDs with the /entities/external-assets/v1 endpoints + result = api_instance.query_external_assets(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->query_external_assets: #{e}" +end +``` + +#### Using the query_external_assets_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> query_external_assets_with_http_info(opts) + +```ruby +begin + # Get a list of external asset IDs that match the provided filter conditions. Use these IDs with the /entities/external-assets/v1 endpoints + data, status_code, headers = api_instance.query_external_assets_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ExposureManagementApi->query_external_assets_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **offset** | **String** | Starting index of result set from which to return IDs. | [optional] | +| **limit** | **Integer** | Number of IDs to return. | [optional] | +| **sort** | **String** | Order by fields. | [optional] | +| **filter** | **String** | Filter assets using an FQL query. Common filter options include:<ul><li>asset_type:'ip'</li><li>last_seen_timestamp:>'now-7d'</li></ul> </br>Available filter fields that support exact match: asset_id, asset_type, confidence, connectivity_status, criticality, criticality_description, criticality_timestamp, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.last_seen, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, first_seen, id, internet_exposure, ip.asn, ip.cloud_provider, ip.cloud_vm.description, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.first_seen, ip.services.last_seen, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, last_seen, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by, triage.updated_timestamp </br>Available filter fields that supports wildcard (*): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by </br>Available filter fields that supports in ([v1, v2]): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by </br>Available filter fields that supports range comparisons (>, <, >=, <=): criticality_timestamp, dns_domain.resolved_ips, dns_domain.services.first_seen, dns_domain.services.last_seen, dns_domain.services.port, dns_domain.services.status_code, first_seen, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.ip_address, ip.services.first_seen, ip.services.last_seen, ip.services.port, ip.services.status_code, last_seen, triage.updated_timestamp </br>All filter fields and operations supports negation (!). | [optional] | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/FalconCompleteDashboardApi.md b/docs/FalconCompleteDashboardApi.md index 2acaa2e7..00fba7cf 100644 --- a/docs/FalconCompleteDashboardApi.md +++ b/docs/FalconCompleteDashboardApi.md @@ -1,6 +1,6 @@ # Falcon::FalconCompleteDashboardApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -14,6 +14,7 @@ All URIs are relative to *https://api.crowdstrike.com* | [**aggregate_prevention_policy**](FalconCompleteDashboardApi.md#aggregate_prevention_policy) | **POST** /falcon-complete-dashboards/aggregates/prevention-policies/v1 | Retrieve prevention policies aggregate values based on the matched filter | | [**aggregate_remediations**](FalconCompleteDashboardApi.md#aggregate_remediations) | **POST** /falcon-complete-dashboards/aggregates/remediations/GET/v1 | Retrieve aggregate remediation ticket values based on the matched filter | | [**aggregate_sensor_update_policy**](FalconCompleteDashboardApi.md#aggregate_sensor_update_policy) | **POST** /falcon-complete-dashboards/aggregates/sensor-update-policies/v1 | Retrieve sensor update policies aggregate values | +| [**aggregate_support_issues**](FalconCompleteDashboardApi.md#aggregate_support_issues) | **POST** /falcon-complete-dashboards/aggregates/support-issues/v1 | Retrieve aggregate support issue ticket values based on the matched filter | | [**aggregate_total_device_counts**](FalconCompleteDashboardApi.md#aggregate_total_device_counts) | **POST** /falcon-complete-dashboards/aggregates/total-device-counts/v1 | Retrieve aggregate total host/devices based on the matched filter | | [**get_device_count_collection_queries_by_filter**](FalconCompleteDashboardApi.md#get_device_count_collection_queries_by_filter) | **GET** /falcon-complete-dashboards/queries/devicecount-collections/v1 | Retrieve device count collection Ids that match the provided FQL filter, criteria with scrolling enabled | | [**query_alert_ids_by_filter**](FalconCompleteDashboardApi.md#query_alert_ids_by_filter) | **GET** /falcon-complete-dashboards/queries/alerts/v1 | Retrieve Alerts Ids that match the provided FQL filter criteria with scrolling enabled | @@ -717,6 +718,75 @@ end - **Accept**: application/json +## aggregate_support_issues + +> aggregate_support_issues(body) + +Retrieve aggregate support issue ticket values based on the matched filter + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FalconCompleteDashboardApi.new +body = [Falcon::MsaAggregateQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [Falcon::MsaAggregateQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [], time_zone: 'time_zone_example', type: 'type_example'})], time_zone: 'time_zone_example', type: 'type_example'})] # Array | + +begin + # Retrieve aggregate support issue ticket values based on the matched filter + result = api_instance.aggregate_support_issues(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling FalconCompleteDashboardApi->aggregate_support_issues: #{e}" +end +``` + +#### Using the aggregate_support_issues_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> aggregate_support_issues_with_http_info(body) + +```ruby +begin + # Retrieve aggregate support issue ticket values based on the matched filter + data, status_code, headers = api_instance.aggregate_support_issues_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FalconCompleteDashboardApi->aggregate_support_issues_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**Array<MsaAggregateQueryRequest>**](MsaAggregateQueryRequest.md) | | | + +### Return type + +[**MsaAggregatesResponse**](MsaAggregatesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + ## aggregate_total_device_counts > aggregate_total_device_counts(body) @@ -788,7 +858,7 @@ end ## get_device_count_collection_queries_by_filter -> get_device_count_collection_queries_by_filter(opts) +> get_device_count_collection_queries_by_filter(opts) Retrieve device count collection Ids that match the provided FQL filter, criteria with scrolling enabled @@ -826,7 +896,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_device_count_collection_queries_by_filter_with_http_info(opts) +> , Integer, Hash)> get_device_count_collection_queries_by_filter_with_http_info(opts) ```ruby begin @@ -834,7 +904,7 @@ begin data, status_code, headers = api_instance.get_device_count_collection_queries_by_filter_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling FalconCompleteDashboardApi->get_device_count_collection_queries_by_filter_with_http_info: #{e}" end @@ -851,7 +921,7 @@ end ### Return type -[**MsaspecQueryResponse**](MsaspecQueryResponse.md) +[**MsaQueryResponse**](MsaQueryResponse.md) ### Authorization @@ -865,7 +935,7 @@ end ## query_alert_ids_by_filter -> query_alert_ids_by_filter(opts) +> query_alert_ids_by_filter(opts) Retrieve Alerts Ids that match the provided FQL filter criteria with scrolling enabled @@ -903,7 +973,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_alert_ids_by_filter_with_http_info(opts) +> , Integer, Hash)> query_alert_ids_by_filter_with_http_info(opts) ```ruby begin @@ -911,7 +981,7 @@ begin data, status_code, headers = api_instance.query_alert_ids_by_filter_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling FalconCompleteDashboardApi->query_alert_ids_by_filter_with_http_info: #{e}" end @@ -928,7 +998,7 @@ end ### Return type -[**MsaspecQueryResponse**](MsaspecQueryResponse.md) +[**MsaQueryResponse**](MsaQueryResponse.md) ### Authorization @@ -942,7 +1012,7 @@ end ## query_allow_list_filter -> query_allow_list_filter(opts) +> query_allow_list_filter(opts) Retrieve allowlist tickets that match the provided filter criteria with scrolling enabled @@ -980,7 +1050,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_allow_list_filter_with_http_info(opts) +> , Integer, Hash)> query_allow_list_filter_with_http_info(opts) ```ruby begin @@ -988,7 +1058,7 @@ begin data, status_code, headers = api_instance.query_allow_list_filter_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling FalconCompleteDashboardApi->query_allow_list_filter_with_http_info: #{e}" end @@ -1005,7 +1075,7 @@ end ### Return type -[**MsaspecQueryResponse**](MsaspecQueryResponse.md) +[**MsaQueryResponse**](MsaQueryResponse.md) ### Authorization @@ -1019,7 +1089,7 @@ end ## query_block_list_filter -> query_block_list_filter(opts) +> query_block_list_filter(opts) Retrieve block listtickets that match the provided filter criteria with scrolling enabled @@ -1057,7 +1127,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_block_list_filter_with_http_info(opts) +> , Integer, Hash)> query_block_list_filter_with_http_info(opts) ```ruby begin @@ -1065,7 +1135,7 @@ begin data, status_code, headers = api_instance.query_block_list_filter_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling FalconCompleteDashboardApi->query_block_list_filter_with_http_info: #{e}" end @@ -1082,7 +1152,7 @@ end ### Return type -[**MsaspecQueryResponse**](MsaspecQueryResponse.md) +[**MsaQueryResponse**](MsaQueryResponse.md) ### Authorization @@ -1096,7 +1166,7 @@ end ## query_detection_ids_by_filter -> query_detection_ids_by_filter(opts) +> query_detection_ids_by_filter(opts) Retrieve DetectionsIds that match the provided FQL filter, criteria with scrolling enabled @@ -1134,7 +1204,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_detection_ids_by_filter_with_http_info(opts) +> , Integer, Hash)> query_detection_ids_by_filter_with_http_info(opts) ```ruby begin @@ -1142,7 +1212,7 @@ begin data, status_code, headers = api_instance.query_detection_ids_by_filter_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling FalconCompleteDashboardApi->query_detection_ids_by_filter_with_http_info: #{e}" end @@ -1159,7 +1229,7 @@ end ### Return type -[**MsaspecQueryResponse**](MsaspecQueryResponse.md) +[**MsaQueryResponse**](MsaQueryResponse.md) ### Authorization @@ -1173,7 +1243,7 @@ end ## query_escalations_filter -> query_escalations_filter(opts) +> query_escalations_filter(opts) Retrieve escalation tickets that match the provided filter criteria with scrolling enabled @@ -1211,7 +1281,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_escalations_filter_with_http_info(opts) +> , Integer, Hash)> query_escalations_filter_with_http_info(opts) ```ruby begin @@ -1219,7 +1289,7 @@ begin data, status_code, headers = api_instance.query_escalations_filter_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling FalconCompleteDashboardApi->query_escalations_filter_with_http_info: #{e}" end @@ -1236,7 +1306,7 @@ end ### Return type -[**MsaspecQueryResponse**](MsaspecQueryResponse.md) +[**MsaQueryResponse**](MsaQueryResponse.md) ### Authorization @@ -1250,7 +1320,7 @@ end ## query_incident_ids_by_filter -> query_incident_ids_by_filter(opts) +> query_incident_ids_by_filter(opts) Retrieve incidents that match the provided filter criteria with scrolling enabled @@ -1288,7 +1358,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_incident_ids_by_filter_with_http_info(opts) +> , Integer, Hash)> query_incident_ids_by_filter_with_http_info(opts) ```ruby begin @@ -1296,7 +1366,7 @@ begin data, status_code, headers = api_instance.query_incident_ids_by_filter_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling FalconCompleteDashboardApi->query_incident_ids_by_filter_with_http_info: #{e}" end @@ -1313,7 +1383,7 @@ end ### Return type -[**MsaspecQueryResponse**](MsaspecQueryResponse.md) +[**MsaQueryResponse**](MsaQueryResponse.md) ### Authorization @@ -1327,7 +1397,7 @@ end ## query_remediations_filter -> query_remediations_filter(opts) +> query_remediations_filter(opts) Retrieve remediation tickets that match the provided filter criteria with scrolling enabled @@ -1365,7 +1435,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_remediations_filter_with_http_info(opts) +> , Integer, Hash)> query_remediations_filter_with_http_info(opts) ```ruby begin @@ -1373,7 +1443,7 @@ begin data, status_code, headers = api_instance.query_remediations_filter_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling FalconCompleteDashboardApi->query_remediations_filter_with_http_info: #{e}" end @@ -1390,7 +1460,7 @@ end ### Return type -[**MsaspecQueryResponse**](MsaspecQueryResponse.md) +[**MsaQueryResponse**](MsaQueryResponse.md) ### Authorization diff --git a/docs/FalconContainerApi.md b/docs/FalconContainerApi.md index 1dfabfd3..f737c8ac 100644 --- a/docs/FalconContainerApi.md +++ b/docs/FalconContainerApi.md @@ -1,6 +1,6 @@ # Falcon::FalconContainerApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/FalconContainerCliApi.md b/docs/FalconContainerCliApi.md index a9db5b67..8d912174 100644 --- a/docs/FalconContainerCliApi.md +++ b/docs/FalconContainerCliApi.md @@ -1,6 +1,6 @@ # Falcon::FalconContainerCliApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/FalconContainerImageApi.md b/docs/FalconContainerImageApi.md index 0289d9df..f61aa4da 100644 --- a/docs/FalconContainerImageApi.md +++ b/docs/FalconContainerImageApi.md @@ -1,11 +1,15 @@ # Falcon::FalconContainerImageApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | | [**create_registry_entities**](FalconContainerImageApi.md#create_registry_entities) | **POST** /container-security/entities/registries/v1 | Create a registry entity using the provided details | | [**delete_registry_entities**](FalconContainerImageApi.md#delete_registry_entities) | **DELETE** /container-security/entities/registries/v1 | Delete the registry entity identified by the entity UUID | +| [**download_export_file**](FalconContainerImageApi.md#download_export_file) | **GET** /container-security/entities/exports/files/v1 | Download an export file | +| [**launch_export_job**](FalconContainerImageApi.md#launch_export_job) | **POST** /container-security/entities/exports/v1 | Launch an export job of a Container Security resource. Maximum of 1 job in progress per resource | +| [**query_export_jobs**](FalconContainerImageApi.md#query_export_jobs) | **GET** /container-security/queries/exports/v1 | Query export jobs entities | +| [**read_export_jobs**](FalconContainerImageApi.md#read_export_jobs) | **GET** /container-security/entities/exports/v1 | Read export jobs entities | | [**read_registry_entities**](FalconContainerImageApi.md#read_registry_entities) | **GET** /container-security/queries/registries/v1 | Retrieve registry entities identified by the customer id | | [**read_registry_entities_by_uuid**](FalconContainerImageApi.md#read_registry_entities_by_uuid) | **GET** /container-security/entities/registries/v1 | Retrieve the registry entity identified by the entity UUID | | [**update_registry_entities**](FalconContainerImageApi.md#update_registry_entities) | **PATCH** /container-security/entities/registries/v1 | Update the registry entity, as identified by the entity UUID, using the provided details | @@ -149,6 +153,284 @@ end - **Accept**: application/json +## download_export_file + +> Array<Integer> download_export_file(id) + +Download an export file + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FalconContainerImageApi.new +id = 'id_example' # String | Export job ID. + +begin + # Download an export file + result = api_instance.download_export_file(id) + p result +rescue Falcon::ApiError => e + puts "Error when calling FalconContainerImageApi->download_export_file: #{e}" +end +``` + +#### Using the download_export_file_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> download_export_file_with_http_info(id) + +```ruby +begin + # Download an export file + data, status_code, headers = api_instance.download_export_file_with_http_info(id) + p status_code # => 2xx + p headers # => { ... } + p data # => Array<Integer> +rescue Falcon::ApiError => e + puts "Error when calling FalconContainerImageApi->download_export_file_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | Export job ID. | | + +### Return type + +**Array<Integer>** + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json, application/octet-stream + + +## launch_export_job + +> launch_export_job(body) + +Launch an export job of a Container Security resource. Maximum of 1 job in progress per resource + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FalconContainerImageApi.new +body = Falcon::ExportsLaunchExportRequest.new({format: 'format_example', resource: 'resource_example', sort: 'sort_example'}) # ExportsLaunchExportRequest | Supported resources: - `assets.clusters` - `assets.containers` - `assets.deployments` - `assets.images` - `assets.namespaces` - `assets.nodes` - `assets.pods` - `images.images-assessment-expanded` - `images.images-assessment` - `images.images-detections` - `images.packages` - `images.vulnerabilities` - `investigate.container-alerts` - `investigate.drift-indicators` - `investigate.kubernetes-ioms` - `investigate.runtime-detections` - `investigate.unidentified-containers` - `network.events` - `policies.exclusions` + +begin + # Launch an export job of a Container Security resource. Maximum of 1 job in progress per resource + result = api_instance.launch_export_job(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling FalconContainerImageApi->launch_export_job: #{e}" +end +``` + +#### Using the launch_export_job_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> launch_export_job_with_http_info(body) + +```ruby +begin + # Launch an export job of a Container Security resource. Maximum of 1 job in progress per resource + data, status_code, headers = api_instance.launch_export_job_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FalconContainerImageApi->launch_export_job_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ExportsLaunchExportRequest**](ExportsLaunchExportRequest.md) | Supported resources: - `assets.clusters` - `assets.containers` - `assets.deployments` - `assets.images` - `assets.namespaces` - `assets.nodes` - `assets.pods` - `images.images-assessment-expanded` - `images.images-assessment` - `images.images-detections` - `images.packages` - `images.vulnerabilities` - `investigate.container-alerts` - `investigate.drift-indicators` - `investigate.kubernetes-ioms` - `investigate.runtime-detections` - `investigate.unidentified-containers` - `network.events` - `policies.exclusions` | | + +### Return type + +[**ExportsLaunchExportResponse**](ExportsLaunchExportResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## query_export_jobs + +> query_export_jobs(opts) + +Query export jobs entities + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FalconContainerImageApi.new +opts = { + filter: 'filter_example' # String | FQL query specifying the filter parameters. Only the last 100 jobs are returned. Supported filters: - `resource`: (string) - `status`: (string) +} + +begin + # Query export jobs entities + result = api_instance.query_export_jobs(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling FalconContainerImageApi->query_export_jobs: #{e}" +end +``` + +#### Using the query_export_jobs_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> query_export_jobs_with_http_info(opts) + +```ruby +begin + # Query export jobs entities + data, status_code, headers = api_instance.query_export_jobs_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FalconContainerImageApi->query_export_jobs_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | FQL query specifying the filter parameters. Only the last 100 jobs are returned. Supported filters: - `resource`: (string) - `status`: (string) | [optional] | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## read_export_jobs + +> read_export_jobs(ids) + +Read export jobs entities + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FalconContainerImageApi.new +ids = ['inner_example'] # Array | Export Job IDs to read. Allowed up to 100 IDs per request. + +begin + # Read export jobs entities + result = api_instance.read_export_jobs(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling FalconContainerImageApi->read_export_jobs: #{e}" +end +``` + +#### Using the read_export_jobs_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> read_export_jobs_with_http_info(ids) + +```ruby +begin + # Read export jobs entities + data, status_code, headers = api_instance.read_export_jobs_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FalconContainerImageApi->read_export_jobs_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | Export Job IDs to read. Allowed up to 100 IDs per request. | | + +### Return type + +[**ExportsExportsResponse**](ExportsExportsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## read_registry_entities > read_registry_entities(opts) diff --git a/docs/FalconxErrorsOnly.md b/docs/FalconxErrorsOnly.md index b48c31c7..a90fb46e 100644 --- a/docs/FalconxErrorsOnly.md +++ b/docs/FalconxErrorsOnly.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **meta_info** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **meta_info** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **quota** | [**FalconxQuota**](FalconxQuota.md) | | [optional] | ## Example diff --git a/docs/FalconxMetaInfo.md b/docs/FalconxMetaInfo.md index e78775de..7bad2ef6 100644 --- a/docs/FalconxMetaInfo.md +++ b/docs/FalconxMetaInfo.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **meta_info** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta_info** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **quota** | [**FalconxQuota**](FalconxQuota.md) | | [optional] | ## Example diff --git a/docs/FalconxQueryResponse.md b/docs/FalconxQueryResponse.md index b99970df..f1f3cba3 100644 --- a/docs/FalconxQueryResponse.md +++ b/docs/FalconxQueryResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**FalconxMetaInfo**](FalconxMetaInfo.md) | | | | **resources** | **Array<String>** | | | diff --git a/docs/FalconxReportV1.md b/docs/FalconxReportV1.md index 222f87f9..5b940545 100644 --- a/docs/FalconxReportV1.md +++ b/docs/FalconxReportV1.md @@ -4,8 +4,10 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **aid** | **String** | | [optional] | | **cid** | **String** | | [optional] | | **created_timestamp** | **String** | | [optional] | +| **has_recording** | **Boolean** | | [optional] | | **id** | **String** | | [optional] | | **index_timestamp** | **String** | | [optional] | | **intel** | [**Array<FalconxIntelReportV1>**](FalconxIntelReportV1.md) | | [optional] | @@ -35,8 +37,10 @@ require 'crimson-falcon' instance = Falcon::FalconxReportV1.new( + aid: null, cid: null, created_timestamp: null, + has_recording: null, id: null, index_timestamp: null, intel: null, diff --git a/docs/FalconxReportV1Response.md b/docs/FalconxReportV1Response.md index 5a087536..632b25f4 100644 --- a/docs/FalconxReportV1Response.md +++ b/docs/FalconxReportV1Response.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**FalconxMetaInfo**](FalconxMetaInfo.md) | | | | **resources** | [**Array<FalconxReportV1>**](FalconxReportV1.md) | | | diff --git a/docs/FalconxSandboxApi.md b/docs/FalconxSandboxApi.md index 3418e344..0059b129 100644 --- a/docs/FalconxSandboxApi.md +++ b/docs/FalconxSandboxApi.md @@ -1,6 +1,6 @@ # Falcon::FalconxSandboxApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -16,7 +16,7 @@ All URIs are relative to *https://api.crowdstrike.com* | [**get_summary_reports**](FalconxSandboxApi.md#get_summary_reports) | **GET** /falconx/entities/report-summaries/v1 | Get a short summary version of a sandbox report. | | [**query_reports**](FalconxSandboxApi.md#query_reports) | **GET** /falconx/queries/reports/v1 | Find sandbox reports by providing an FQL filter and paging details. Returns a set of report IDs that match your criteria. | | [**query_sample_v1**](FalconxSandboxApi.md#query_sample_v1) | **POST** /samples/queries/samples/GET/v1 | Retrieves a list with sha256 of samples that exist and customer has rights to access them, maximum number of accepted items is 200 | -| [**query_submissions**](FalconxSandboxApi.md#query_submissions) | **GET** /falconx/queries/submissions/v1 | Find submission IDs for uploaded files by providing an FQL filter and paging details. Returns a set of submission IDs that match your criteria. | +| [**query_submissions_mixin0**](FalconxSandboxApi.md#query_submissions_mixin0) | **GET** /falconx/queries/submissions/v1 | Find submission IDs for uploaded files by providing an FQL filter and paging details. Returns a set of submission IDs that match your criteria. | | [**submit**](FalconxSandboxApi.md#submit) | **POST** /falconx/entities/submissions/v1 | Submit an uploaded file or a URL for sandbox analysis. Time required for analysis varies but is usually less than 15 minutes. | | [**upload_sample_v2**](FalconxSandboxApi.md#upload_sample_v2) | **POST** /samples/entities/samples/v2 | Upload a file for sandbox analysis. After uploading, use `/falconx/entities/submissions/v1` to start analyzing the file. | @@ -885,9 +885,9 @@ end - **Accept**: application/json -## query_submissions +## query_submissions_mixin0 -> query_submissions(opts) +> query_submissions_mixin0(opts) Find submission IDs for uploaded files by providing an FQL filter and paging details. Returns a set of submission IDs that match your criteria. @@ -914,28 +914,28 @@ opts = { begin # Find submission IDs for uploaded files by providing an FQL filter and paging details. Returns a set of submission IDs that match your criteria. - result = api_instance.query_submissions(opts) + result = api_instance.query_submissions_mixin0(opts) p result rescue Falcon::ApiError => e - puts "Error when calling FalconxSandboxApi->query_submissions: #{e}" + puts "Error when calling FalconxSandboxApi->query_submissions_mixin0: #{e}" end ``` -#### Using the query_submissions_with_http_info variant +#### Using the query_submissions_mixin0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_submissions_with_http_info(opts) +> , Integer, Hash)> query_submissions_mixin0_with_http_info(opts) ```ruby begin # Find submission IDs for uploaded files by providing an FQL filter and paging details. Returns a set of submission IDs that match your criteria. - data, status_code, headers = api_instance.query_submissions_with_http_info(opts) + data, status_code, headers = api_instance.query_submissions_mixin0_with_http_info(opts) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling FalconxSandboxApi->query_submissions_with_http_info: #{e}" + puts "Error when calling FalconxSandboxApi->query_submissions_mixin0_with_http_info: #{e}" end ``` @@ -964,7 +964,7 @@ end ## submit -> submit(body) +> submit(body, opts) Submit an uploaded file or a URL for sandbox analysis. Time required for analysis varies but is usually less than 15 minutes. @@ -982,11 +982,14 @@ Falcon.configure do |config| end api_instance = Falcon::FalconxSandboxApi.new -body = Falcon::FalconxSubmissionParametersV1.new # FalconxSubmissionParametersV1 | Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. +body = Falcon::FalconxSubmissionParametersV1.new # FalconxSubmissionParametersV1 | Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `410`: MacOS Sonoma ARM 64 bit - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. +opts = { + aid: 'aid_example' # String | Agent ID +} begin # Submit an uploaded file or a URL for sandbox analysis. Time required for analysis varies but is usually less than 15 minutes. - result = api_instance.submit(body) + result = api_instance.submit(body, opts) p result rescue Falcon::ApiError => e puts "Error when calling FalconxSandboxApi->submit: #{e}" @@ -997,12 +1000,12 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> submit_with_http_info(body) +> , Integer, Hash)> submit_with_http_info(body, opts) ```ruby begin # Submit an uploaded file or a URL for sandbox analysis. Time required for analysis varies but is usually less than 15 minutes. - data, status_code, headers = api_instance.submit_with_http_info(body) + data, status_code, headers = api_instance.submit_with_http_info(body, opts) p status_code # => 2xx p headers # => { ... } p data # => @@ -1015,7 +1018,8 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**FalconxSubmissionParametersV1**](FalconxSubmissionParametersV1.md) | Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. | | +| **body** | [**FalconxSubmissionParametersV1**](FalconxSubmissionParametersV1.md) | Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `410`: MacOS Sonoma ARM 64 bit - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. | | +| **aid** | **String** | Agent ID | [optional] | ### Return type diff --git a/docs/FalconxSandboxParametersV1.md b/docs/FalconxSandboxParametersV1.md index d8a16734..10b6f4cb 100644 --- a/docs/FalconxSandboxParametersV1.md +++ b/docs/FalconxSandboxParametersV1.md @@ -5,6 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **action_script** | **String** | | [optional] | +| **browser** | **String** | | [optional] | | **command_line** | **String** | | [optional] | | **document_password** | **String** | | [optional] | | **enable_tor** | **Boolean** | | [optional] | @@ -24,6 +25,7 @@ require 'crimson-falcon' instance = Falcon::FalconxSandboxParametersV1.new( action_script: null, + browser: null, command_line: null, document_password: null, enable_tor: null, diff --git a/docs/FalconxSandboxReportV1.md b/docs/FalconxSandboxReportV1.md index 397564c9..3e2ac7a4 100644 --- a/docs/FalconxSandboxReportV1.md +++ b/docs/FalconxSandboxReportV1.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **all_extracted_strings_artifact_id** | **String** | | [optional] | | **architecture** | **String** | | [optional] | | **certificates** | [**Array<FalconxCertificate>**](FalconxCertificate.md) | | [optional] | | **certificates_validation_message** | **String** | | [optional] | @@ -80,6 +81,7 @@ require 'crimson-falcon' instance = Falcon::FalconxSandboxReportV1.new( + all_extracted_strings_artifact_id: null, architecture: null, certificates: null, certificates_validation_message: null, diff --git a/docs/FalconxSubmissionV1Response.md b/docs/FalconxSubmissionV1Response.md index 5a18f826..ef19099b 100644 --- a/docs/FalconxSubmissionV1Response.md +++ b/docs/FalconxSubmissionV1Response.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**FalconxMetaInfo**](FalconxMetaInfo.md) | | | | **resources** | [**Array<FalconxSubmissionV1>**](FalconxSubmissionV1.md) | | | diff --git a/docs/FalconxSummaryReportV1.md b/docs/FalconxSummaryReportV1.md index aa78ebdf..2416a7f9 100644 --- a/docs/FalconxSummaryReportV1.md +++ b/docs/FalconxSummaryReportV1.md @@ -6,6 +6,7 @@ | ---- | ---- | ----------- | ----- | | **cid** | **String** | | [optional] | | **created_timestamp** | **String** | | [optional] | +| **has_recording** | **Boolean** | | [optional] | | **id** | **String** | | [optional] | | **intel** | [**Array<FalconxIntelSummaryReportV1>**](FalconxIntelSummaryReportV1.md) | | [optional] | | **ioc_report_broad_csv_artifact_id** | **String** | | [optional] | @@ -32,6 +33,7 @@ require 'crimson-falcon' instance = Falcon::FalconxSummaryReportV1.new( cid: null, created_timestamp: null, + has_recording: null, id: null, intel: null, ioc_report_broad_csv_artifact_id: null, diff --git a/docs/FalconxSummaryReportV1Response.md b/docs/FalconxSummaryReportV1Response.md index 98ff51ec..3efdd06e 100644 --- a/docs/FalconxSummaryReportV1Response.md +++ b/docs/FalconxSummaryReportV1Response.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**FalconxMetaInfo**](FalconxMetaInfo.md) | | | | **resources** | [**Array<FalconxSummaryReportV1>**](FalconxSummaryReportV1.md) | | | diff --git a/docs/FieldSchemaApi.md b/docs/FieldSchemaApi.md index 36214a68..303174e3 100644 --- a/docs/FieldSchemaApi.md +++ b/docs/FieldSchemaApi.md @@ -1,6 +1,6 @@ # Falcon::FieldSchemaApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/FielddataFieldSource.md b/docs/FielddataFieldSource.md new file mode 100644 index 00000000..cb89537c --- /dev/null +++ b/docs/FielddataFieldSource.md @@ -0,0 +1,26 @@ +# Falcon::FielddataFieldSource + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **case_sensitive** | **Boolean** | Indicates whether the field is case sensitive for searching against fulcrum. Some downstream APIs are and others are not, so this is needed so that UI can handle this cohesively. | [optional] | +| **key** | **String** | | [optional] | +| **options** | [**Array<FielddataFieldSourceOption>**](FielddataFieldSourceOption.md) | | [optional] | +| **sort** | **String** | | [optional] | +| **strict** | **Boolean** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::FielddataFieldSource.new( + case_sensitive: null, + key: null, + options: null, + sort: null, + strict: null +) +``` + diff --git a/docs/FielddataFieldSourceOption.md b/docs/FielddataFieldSourceOption.md new file mode 100644 index 00000000..f3d67119 --- /dev/null +++ b/docs/FielddataFieldSourceOption.md @@ -0,0 +1,20 @@ +# Falcon::FielddataFieldSourceOption + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Object** | | | +| **name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::FielddataFieldSourceOption.new( + id: null, + name: null +) +``` + diff --git a/docs/FilevantageApi.md b/docs/FilevantageApi.md index 4ab43f3d..04a43181 100644 --- a/docs/FilevantageApi.md +++ b/docs/FilevantageApi.md @@ -1,10 +1,10 @@ # Falcon::FilevantageApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | -| [**create_policies**](FilevantageApi.md#create_policies) | **POST** /filevantage/entities/policies/v1 | Creates a new policy of the specified type. New policies are always added at the end of the precedence list for the provided policy type. | +| [**create_policies_0**](FilevantageApi.md#create_policies_0) | **POST** /filevantage/entities/policies/v1 | Creates a new policy of the specified type. New policies are always added at the end of the precedence list for the provided policy type. | | [**create_rule_groups**](FilevantageApi.md#create_rule_groups) | **POST** /filevantage/entities/rule-groups/v1 | Creates a new rule group of the specified type. | | [**create_rules**](FilevantageApi.md#create_rules) | **POST** /filevantage/entities/rule-groups-rules/v1 | Creates a new rule configuration within the specified rule group. | | [**create_scheduled_exclusions**](FilevantageApi.md#create_scheduled_exclusions) | **POST** /filevantage/entities/policy-scheduled-exclusions/v1 | Creates a new scheduled exclusion configuration for the provided policy id. | @@ -12,19 +12,24 @@ All URIs are relative to *https://api.crowdstrike.com* | [**delete_rule_groups**](FilevantageApi.md#delete_rule_groups) | **DELETE** /filevantage/entities/rule-groups/v1 | Deletes 1 or more rule groups | | [**delete_rules**](FilevantageApi.md#delete_rules) | **DELETE** /filevantage/entities/rule-groups-rules/v1 | Deletes 1 or more rules from the specified rule group. | | [**delete_scheduled_exclusions**](FilevantageApi.md#delete_scheduled_exclusions) | **DELETE** /filevantage/entities/policy-scheduled-exclusions/v1 | Deletes 1 or more scheduled exclusions from the provided policy id. | +| [**get_actions_mixin0**](FilevantageApi.md#get_actions_mixin0) | **GET** /filevantage/entities/actions/v1 | Retrieves the processing results for 1 or more actions. | | [**get_changes**](FilevantageApi.md#get_changes) | **GET** /filevantage/entities/changes/v2 | Retrieve information on changes | +| [**get_contents**](FilevantageApi.md#get_contents) | **GET** /filevantage/entities/change-content/v1 | Retrieves the content captured for the provided change id | | [**get_policies**](FilevantageApi.md#get_policies) | **GET** /filevantage/entities/policies/v1 | Retrieves the configuration for 1 or more policies. | | [**get_rule_groups**](FilevantageApi.md#get_rule_groups) | **GET** /filevantage/entities/rule-groups/v1 | Retrieves the rule group details for 1 or more rule groups. | | [**get_rules**](FilevantageApi.md#get_rules) | **GET** /filevantage/entities/rule-groups-rules/v1 | Retrieves the configuration for 1 or more rules. | | [**get_scheduled_exclusions**](FilevantageApi.md#get_scheduled_exclusions) | **GET** /filevantage/entities/policy-scheduled-exclusions/v1 | Retrieves the configuration of 1 or more scheduled exclusions from the provided policy id. | | [**high_volume_query_changes**](FilevantageApi.md#high_volume_query_changes) | **GET** /filevantage/queries/changes/v3 | Returns 1 or more change ids | +| [**query_actions_mixin0**](FilevantageApi.md#query_actions_mixin0) | **GET** /filevantage/queries/actions/v1 | Returns one or more action ids | | [**query_changes**](FilevantageApi.md#query_changes) | **GET** /filevantage/queries/changes/v2 | Returns 1 or more change ids | | [**query_policies**](FilevantageApi.md#query_policies) | **GET** /filevantage/queries/policies/v1 | Retrieve the ids of all policies that are assigned the provided policy type. | | [**query_rule_groups**](FilevantageApi.md#query_rule_groups) | **GET** /filevantage/queries/rule-groups/v1 | Retrieve the ids of all rule groups that are of the provided rule group type. | | [**query_scheduled_exclusions**](FilevantageApi.md#query_scheduled_exclusions) | **GET** /filevantage/queries/policy-scheduled-exclusions/v1 | Retrieve the ids of all scheduled exclusions contained within the provided policy id. | -| [**update_policies**](FilevantageApi.md#update_policies) | **PATCH** /filevantage/entities/policies/v1 | Updates the general information of the provided policy. | +| [**signal_changes_external**](FilevantageApi.md#signal_changes_external) | **POST** /filevantage/entities/workflow/v1 | Initiates workflows for the provided change ids | +| [**start_actions**](FilevantageApi.md#start_actions) | **POST** /filevantage/entities/actions/v1 | Initiates the specified action on the provided change ids | +| [**update_policies_0**](FilevantageApi.md#update_policies_0) | **PATCH** /filevantage/entities/policies/v1 | Updates the general information of the provided policy. | | [**update_policy_host_groups**](FilevantageApi.md#update_policy_host_groups) | **PATCH** /filevantage/entities/policies-host-groups/v1 | Manage host groups assigned to a policy. | -| [**update_policy_precedence**](FilevantageApi.md#update_policy_precedence) | **PATCH** /filevantage/entities/policies-precedence/v1 | Updates the policy precedence for all policies of a specific type. | +| [**update_policy_precedence_0**](FilevantageApi.md#update_policy_precedence_0) | **PATCH** /filevantage/entities/policies-precedence/v1 | Updates the policy precedence for all policies of a specific type. | | [**update_policy_rule_groups**](FilevantageApi.md#update_policy_rule_groups) | **PATCH** /filevantage/entities/policies-rule-groups/v1 | Manage the rule groups assigned to the policy or set the rule group precedence for all rule groups within the policy. | | [**update_rule_group_precedence**](FilevantageApi.md#update_rule_group_precedence) | **PATCH** /filevantage/entities/rule-groups-rule-precedence/v1 | Updates the rule precedence for all rules in the identified rule group. | | [**update_rule_groups**](FilevantageApi.md#update_rule_groups) | **PATCH** /filevantage/entities/rule-groups/v1 | Updates the provided rule group. | @@ -32,9 +37,9 @@ All URIs are relative to *https://api.crowdstrike.com* | [**update_scheduled_exclusions**](FilevantageApi.md#update_scheduled_exclusions) | **PATCH** /filevantage/entities/policy-scheduled-exclusions/v1 | Updates the provided scheduled exclusion configuration within the provided policy. | -## create_policies +## create_policies_0 -> create_policies(body) +> create_policies_0(body) Creates a new policy of the specified type. New policies are always added at the end of the precedence list for the provided policy type. @@ -58,28 +63,28 @@ body = Falcon::PoliciesCreateRequest.new({name: 'name_example'}) # PoliciesCreat begin # Creates a new policy of the specified type. New policies are always added at the end of the precedence list for the provided policy type. - result = api_instance.create_policies(body) + result = api_instance.create_policies_0(body) p result rescue Falcon::ApiError => e - puts "Error when calling FilevantageApi->create_policies: #{e}" + puts "Error when calling FilevantageApi->create_policies_0: #{e}" end ``` -#### Using the create_policies_with_http_info variant +#### Using the create_policies_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> create_policies_with_http_info(body) +> , Integer, Hash)> create_policies_0_with_http_info(body) ```ruby begin # Creates a new policy of the specified type. New policies are always added at the end of the precedence list for the provided policy type. - data, status_code, headers = api_instance.create_policies_with_http_info(body) + data, status_code, headers = api_instance.create_policies_0_with_http_info(body) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling FilevantageApi->create_policies_with_http_info: #{e}" + puts "Error when calling FilevantageApi->create_policies_0_with_http_info: #{e}" end ``` @@ -196,7 +201,7 @@ Falcon.configure do |config| end api_instance = Falcon::FilevantageApi.new -body = Falcon::RulegroupsRule.new({depth: 'depth_example', id: 'id_example', include: 'include_example', path: 'path_example', rule_group_id: 'rule_group_id_example', severity: 'severity_example', type: 'type_example'}) # RulegroupsRule | Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` +body = Falcon::RulegroupsRule.new({depth: 'depth_example', id: 'id_example', include: 'include_example', path: 'path_example', rule_group_id: 'rule_group_id_example', severity: 'severity_example', type: 'type_example'}) # RulegroupsRule | Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_permissions_key_changes` * `watch_delete_value_changes` * `watch_create_file_changes` begin # Creates a new rule configuration within the specified rule group. @@ -229,7 +234,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**RulegroupsRule**](RulegroupsRule.md) | Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` | | +| **body** | [**RulegroupsRule**](RulegroupsRule.md) | Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_permissions_key_changes` * `watch_delete_value_changes` * `watch_create_file_changes` | | ### Return type @@ -604,9 +609,80 @@ end - **Accept**: application/json +## get_actions_mixin0 + +> get_actions_mixin0(ids) + +Retrieves the processing results for 1 or more actions. + +The processing results of each action that match the provided ids will be returned. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FilevantageApi.new +ids = ['inner_example'] # Array | One or more actions ids in the form of `ids=ID1&ids=ID2` + +begin + # Retrieves the processing results for 1 or more actions. + result = api_instance.get_actions_mixin0(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->get_actions_mixin0: #{e}" +end +``` + +#### Using the get_actions_mixin0_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_actions_mixin0_with_http_info(ids) + +```ruby +begin + # Retrieves the processing results for 1 or more actions. + data, status_code, headers = api_instance.get_actions_mixin0_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->get_actions_mixin0_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | One or more actions ids in the form of `ids=ID1&ids=ID2` | | + +### Return type + +[**ActionsGetActionResponse**](ActionsGetActionResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## get_changes -> get_changes(ids) +> get_changes(ids) Retrieve information on changes @@ -641,7 +717,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_changes_with_http_info(ids) +> , Integer, Hash)> get_changes_with_http_info(ids) ```ruby begin @@ -649,7 +725,7 @@ begin data, status_code, headers = api_instance.get_changes_with_http_info(ids) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling FilevantageApi->get_changes_with_http_info: #{e}" end @@ -663,7 +739,82 @@ end ### Return type -[**ChangesGetChangesResponse**](ChangesGetChangesResponse.md) +[**PublicGetChangesResponse**](PublicGetChangesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_contents + +> get_contents(id, opts) + +Retrieves the content captured for the provided change id + +Retrieves the before and after change content for the provided change id. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FilevantageApi.new +id = 'id_example' # String | ID of the change in the form of id=ID1 +opts = { + accept_encoding: 'accept_encoding_example' # String | Providing the value of `gzip` compresses the response, otherwise the content is returned uncompressed. +} + +begin + # Retrieves the content captured for the provided change id + result = api_instance.get_contents(id, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->get_contents: #{e}" +end +``` + +#### Using the get_contents_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_contents_with_http_info(id, opts) + +```ruby +begin + # Retrieves the content captured for the provided change id + data, status_code, headers = api_instance.get_contents_with_http_info(id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->get_contents_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | ID of the change in the form of id=ID1 | | +| **accept_encoding** | **String** | Providing the value of `gzip` compresses the response, otherwise the content is returned uncompressed. | [optional] | + +### Return type + +[**ContentchangesChangeContentsResponse**](ContentchangesChangeContentsResponse.md) ### Authorization @@ -969,7 +1120,7 @@ end Returns 1 or more change ids -Returns a list of Falcon FileVantage change IDs filtered, sorted and limited by the query parameters provided. It can retrieve an unlimited number of results using multiple requests. +Returns a list of Falcon FileVantage change ids filtered, sorted and limited by the query parameters provided. It can retrieve an unlimited number of results using multiple requests. ### Examples @@ -1042,13 +1193,92 @@ end - **Accept**: application/json +## query_actions_mixin0 + +> query_actions_mixin0(opts) + +Returns one or more action ids + +Returns the list of action ids filtered, sorted, and limited to the query parameters provided. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FilevantageApi.new +opts = { + offset: 56, # Integer | The first action index to return in the response. If not provided it will default to '0'. Use with the `limit` parameter to manage pagination of results. + limit: 56, # Integer | The maximum number of actions to return in the response (default: 100; max: 500). Use with the `offset` parameter to manage pagination of results + sort: 'sort_example', # String | The sort expression that should be used to sort the results (e.g. created_date|desc) + filter: 'filter_example' # String | Filter changes using a query in Falcon Query Language (FQL). Common filter options include: - `status` - `operation_type` The full list of allowed filter parameters can be reviewed in our API documentation. +} + +begin + # Returns one or more action ids + result = api_instance.query_actions_mixin0(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->query_actions_mixin0: #{e}" +end +``` + +#### Using the query_actions_mixin0_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> query_actions_mixin0_with_http_info(opts) + +```ruby +begin + # Returns one or more action ids + data, status_code, headers = api_instance.query_actions_mixin0_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->query_actions_mixin0_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **offset** | **Integer** | The first action index to return in the response. If not provided it will default to '0'. Use with the `limit` parameter to manage pagination of results. | [optional] | +| **limit** | **Integer** | The maximum number of actions to return in the response (default: 100; max: 500). Use with the `offset` parameter to manage pagination of results | [optional] | +| **sort** | **String** | The sort expression that should be used to sort the results (e.g. created_date|desc) | [optional] | +| **filter** | **String** | Filter changes using a query in Falcon Query Language (FQL). Common filter options include: - `status` - `operation_type` The full list of allowed filter parameters can be reviewed in our API documentation. | [optional] | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## query_changes > query_changes(opts) Returns 1 or more change ids -Returns a list of Falcon FileVantage change IDs filtered, sorted and limited by the query parameters provided. Using this endpoint you can retrieve up to `10000` results by using pagination with multiple requests. If you need to retrieve more than `10000` results consider using the `/queries/changes/v3` endpoint +Returns a list of Falcon FileVantage change ids filtered, sorted and limited by the query parameters provided. Using this endpoint you can retrieve up to `10000` results by using pagination with multiple requests. If you need to retrieve more than `10000` results consider using the `/queries/changes/v3` endpoint ### Examples @@ -1350,9 +1580,151 @@ end - **Accept**: application/json -## update_policies +## signal_changes_external + +> signal_changes_external(body) + +Initiates workflows for the provided change ids + +Provides the ability to initiate workflows for the specified change ids. Only 100 change ids can be provided per workflow request. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FilevantageApi.new +body = Falcon::WorkflowRequest.new({ids: ['ids_example']}) # WorkflowRequest | Change ids to initiate the workflows; limited to 100 per request. + +begin + # Initiates workflows for the provided change ids + result = api_instance.signal_changes_external(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->signal_changes_external: #{e}" +end +``` + +#### Using the signal_changes_external_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> signal_changes_external_with_http_info(body) + +```ruby +begin + # Initiates workflows for the provided change ids + data, status_code, headers = api_instance.signal_changes_external_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->signal_changes_external_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**WorkflowRequest**](WorkflowRequest.md) | Change ids to initiate the workflows; limited to 100 per request. | | + +### Return type + +[**WorkflowResponse**](WorkflowResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## start_actions + +> start_actions(body) + +Initiates the specified action on the provided change ids + +Initiates the suppression, unsuppression, or purging of the provided change ids. Note that only 1 action may be initiated and active at a time. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FilevantageApi.new +body = Falcon::ActionsCreateActionRequest.new({change_ids: ['change_ids_example'], operation: 'operation_example'}) # ActionsCreateActionRequest | Create a new action. * `operation` must be one of the `suppress`, `unsuppress`, or `purge` * `change_ids` represent the ids of the changes the operation will perform; limited to 100 ids per action * `comment` optional comment to describe the reason for the action + +begin + # Initiates the specified action on the provided change ids + result = api_instance.start_actions(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->start_actions: #{e}" +end +``` + +#### Using the start_actions_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> start_actions_with_http_info(body) + +```ruby +begin + # Initiates the specified action on the provided change ids + data, status_code, headers = api_instance.start_actions_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FilevantageApi->start_actions_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ActionsCreateActionRequest**](ActionsCreateActionRequest.md) | Create a new action. * `operation` must be one of the `suppress`, `unsuppress`, or `purge` * `change_ids` represent the ids of the changes the operation will perform; limited to 100 ids per action * `comment` optional comment to describe the reason for the action | | + +### Return type + +[**ActionsActionResponse**](ActionsActionResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## update_policies_0 -> update_policies(body) +> update_policies_0(body) Updates the general information of the provided policy. @@ -1376,28 +1748,28 @@ body = Falcon::PoliciesUpdateRequest.new({id: 'id_example'}) # PoliciesUpdateReq begin # Updates the general information of the provided policy. - result = api_instance.update_policies(body) + result = api_instance.update_policies_0(body) p result rescue Falcon::ApiError => e - puts "Error when calling FilevantageApi->update_policies: #{e}" + puts "Error when calling FilevantageApi->update_policies_0: #{e}" end ``` -#### Using the update_policies_with_http_info variant +#### Using the update_policies_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> update_policies_with_http_info(body) +> , Integer, Hash)> update_policies_0_with_http_info(body) ```ruby begin # Updates the general information of the provided policy. - data, status_code, headers = api_instance.update_policies_with_http_info(body) + data, status_code, headers = api_instance.update_policies_0_with_http_info(body) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling FilevantageApi->update_policies_with_http_info: #{e}" + puts "Error when calling FilevantageApi->update_policies_0_with_http_info: #{e}" end ``` @@ -1496,9 +1868,9 @@ end - **Accept**: application/json -## update_policy_precedence +## update_policy_precedence_0 -> update_policy_precedence(ids, type) +> update_policy_precedence_0(ids, type) Updates the policy precedence for all policies of a specific type. @@ -1523,28 +1895,28 @@ type = 'type_example' # String | The policy type for which to set the precedence begin # Updates the policy precedence for all policies of a specific type. - result = api_instance.update_policy_precedence(ids, type) + result = api_instance.update_policy_precedence_0(ids, type) p result rescue Falcon::ApiError => e - puts "Error when calling FilevantageApi->update_policy_precedence: #{e}" + puts "Error when calling FilevantageApi->update_policy_precedence_0: #{e}" end ``` -#### Using the update_policy_precedence_with_http_info variant +#### Using the update_policy_precedence_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> update_policy_precedence_with_http_info(ids, type) +> , Integer, Hash)> update_policy_precedence_0_with_http_info(ids, type) ```ruby begin # Updates the policy precedence for all policies of a specific type. - data, status_code, headers = api_instance.update_policy_precedence_with_http_info(ids, type) + data, status_code, headers = api_instance.update_policy_precedence_0_with_http_info(ids, type) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling FilevantageApi->update_policy_precedence_with_http_info: #{e}" + puts "Error when calling FilevantageApi->update_policy_precedence_0_with_http_info: #{e}" end ``` @@ -1810,7 +2182,7 @@ Falcon.configure do |config| end api_instance = Falcon::FilevantageApi.new -body = Falcon::RulegroupsRule.new({depth: 'depth_example', id: 'id_example', include: 'include_example', path: 'path_example', rule_group_id: 'rule_group_id_example', severity: 'severity_example', type: 'type_example'}) # RulegroupsRule | Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` +body = Falcon::RulegroupsRule.new({depth: 'depth_example', id: 'id_example', include: 'include_example', path: 'path_example', rule_group_id: 'rule_group_id_example', severity: 'severity_example', type: 'type_example'}) # RulegroupsRule | Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` begin # Updates the provided rule configuration within the specified rule group. @@ -1843,7 +2215,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**RulegroupsRule**](RulegroupsRule.md) | Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` | | +| **body** | [**RulegroupsRule**](RulegroupsRule.md) | Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` | | ### Return type diff --git a/docs/FirewallManagementApi.md b/docs/FirewallManagementApi.md index e0496559..14c4ec17 100644 --- a/docs/FirewallManagementApi.md +++ b/docs/FirewallManagementApi.md @@ -1,6 +1,6 @@ # Falcon::FirewallManagementApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -12,21 +12,21 @@ All URIs are relative to *https://api.crowdstrike.com* | [**create_rule_group**](FirewallManagementApi.md#create_rule_group) | **POST** /fwmgr/entities/rule-groups/v1 | Create new rule group on a platform for a customer with a name and description, and return the ID | | [**create_rule_group_validation**](FirewallManagementApi.md#create_rule_group_validation) | **POST** /fwmgr/entities/rule-groups/validation/v1 | Validates the request of creating a new rule group on a platform for a customer with a name and description | | [**delete_network_locations**](FirewallManagementApi.md#delete_network_locations) | **DELETE** /fwmgr/entities/network-locations/v1 | Delete network location entities by ID. | -| [**delete_rule_groups**](FirewallManagementApi.md#delete_rule_groups) | **DELETE** /fwmgr/entities/rule-groups/v1 | Delete rule group entities by ID | +| [**delete_rule_groups_0**](FirewallManagementApi.md#delete_rule_groups_0) | **DELETE** /fwmgr/entities/rule-groups/v1 | Delete rule group entities by ID | | [**get_events**](FirewallManagementApi.md#get_events) | **GET** /fwmgr/entities/events/v1 | Get events entities by ID and optionally version | | [**get_firewall_fields**](FirewallManagementApi.md#get_firewall_fields) | **GET** /fwmgr/entities/firewall-fields/v1 | Get the firewall field specifications by ID | | [**get_network_locations**](FirewallManagementApi.md#get_network_locations) | **GET** /fwmgr/entities/network-locations/v1 | Get a summary of network locations entities by ID | | [**get_network_locations_details**](FirewallManagementApi.md#get_network_locations_details) | **GET** /fwmgr/entities/network-locations-details/v1 | Get network locations entities by ID | | [**get_platforms**](FirewallManagementApi.md#get_platforms) | **GET** /fwmgr/entities/platforms/v1 | Get platforms by ID, e.g., windows or mac or droid | | [**get_policy_containers**](FirewallManagementApi.md#get_policy_containers) | **GET** /fwmgr/entities/policies/v1 | Get policy container entities by policy ID | -| [**get_rule_groups**](FirewallManagementApi.md#get_rule_groups) | **GET** /fwmgr/entities/rule-groups/v1 | Get rule group entities by ID. These groups do not contain their rule entites, just the rule IDs in precedence order. | -| [**get_rules**](FirewallManagementApi.md#get_rules) | **GET** /fwmgr/entities/rules/v1 | Get rule entities by ID (64-bit unsigned int as decimal string) or Family ID (32-character hexadecimal string) | +| [**get_rule_groups_0**](FirewallManagementApi.md#get_rule_groups_0) | **GET** /fwmgr/entities/rule-groups/v1 | Get rule group entities by ID. These groups do not contain their rule entites, just the rule IDs in precedence order. | +| [**get_rules_0**](FirewallManagementApi.md#get_rules_0) | **GET** /fwmgr/entities/rules/v1 | Get rule entities by ID (64-bit unsigned int as decimal string) or Family ID (32-character hexadecimal string) | | [**query_events**](FirewallManagementApi.md#query_events) | **GET** /fwmgr/queries/events/v1 | Find all event IDs matching the query with filter | | [**query_firewall_fields**](FirewallManagementApi.md#query_firewall_fields) | **GET** /fwmgr/queries/firewall-fields/v1 | Get the firewall field specification IDs for the provided platform | | [**query_network_locations**](FirewallManagementApi.md#query_network_locations) | **GET** /fwmgr/queries/network-locations/v1 | Get a list of network location IDs | | [**query_platforms**](FirewallManagementApi.md#query_platforms) | **GET** /fwmgr/queries/platforms/v1 | Get the list of platform names | | [**query_policy_rules**](FirewallManagementApi.md#query_policy_rules) | **GET** /fwmgr/queries/policy-rules/v1 | Find all firewall rule IDs matching the query with filter, and return them in precedence order | -| [**query_rule_groups**](FirewallManagementApi.md#query_rule_groups) | **GET** /fwmgr/queries/rule-groups/v1 | Find all rule group IDs matching the query with filter | +| [**query_rule_groups_0**](FirewallManagementApi.md#query_rule_groups_0) | **GET** /fwmgr/queries/rule-groups/v1 | Find all rule group IDs matching the query with filter | | [**query_rules**](FirewallManagementApi.md#query_rules) | **GET** /fwmgr/queries/rules/v1 | Find all rule IDs matching the query with filter | | [**update_network_locations**](FirewallManagementApi.md#update_network_locations) | **PATCH** /fwmgr/entities/network-locations/v1 | Updates the network locations provided, and return the ID. | | [**update_network_locations_metadata**](FirewallManagementApi.md#update_network_locations_metadata) | **POST** /fwmgr/entities/network-locations-metadata/v1 | Updates the network locations metadata such as polling_intervals for the cid | @@ -615,9 +615,9 @@ end - **Accept**: application/json -## delete_rule_groups +## delete_rule_groups_0 -> delete_rule_groups(ids, opts) +> delete_rule_groups_0(ids, opts) Delete rule group entities by ID @@ -642,28 +642,28 @@ opts = { begin # Delete rule group entities by ID - result = api_instance.delete_rule_groups(ids, opts) + result = api_instance.delete_rule_groups_0(ids, opts) p result rescue Falcon::ApiError => e - puts "Error when calling FirewallManagementApi->delete_rule_groups: #{e}" + puts "Error when calling FirewallManagementApi->delete_rule_groups_0: #{e}" end ``` -#### Using the delete_rule_groups_with_http_info variant +#### Using the delete_rule_groups_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> delete_rule_groups_with_http_info(ids, opts) +> , Integer, Hash)> delete_rule_groups_0_with_http_info(ids, opts) ```ruby begin # Delete rule group entities by ID - data, status_code, headers = api_instance.delete_rule_groups_with_http_info(ids, opts) + data, status_code, headers = api_instance.delete_rule_groups_0_with_http_info(ids, opts) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling FirewallManagementApi->delete_rule_groups_with_http_info: #{e}" + puts "Error when calling FirewallManagementApi->delete_rule_groups_0_with_http_info: #{e}" end ``` @@ -1106,9 +1106,9 @@ end - **Accept**: application/json -## get_rule_groups +## get_rule_groups_0 -> get_rule_groups(ids) +> get_rule_groups_0(ids) Get rule group entities by ID. These groups do not contain their rule entites, just the rule IDs in precedence order. @@ -1130,28 +1130,28 @@ ids = ['inner_example'] # Array | The IDs of the rule groups to retrieve begin # Get rule group entities by ID. These groups do not contain their rule entites, just the rule IDs in precedence order. - result = api_instance.get_rule_groups(ids) + result = api_instance.get_rule_groups_0(ids) p result rescue Falcon::ApiError => e - puts "Error when calling FirewallManagementApi->get_rule_groups: #{e}" + puts "Error when calling FirewallManagementApi->get_rule_groups_0: #{e}" end ``` -#### Using the get_rule_groups_with_http_info variant +#### Using the get_rule_groups_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_rule_groups_with_http_info(ids) +> , Integer, Hash)> get_rule_groups_0_with_http_info(ids) ```ruby begin # Get rule group entities by ID. These groups do not contain their rule entites, just the rule IDs in precedence order. - data, status_code, headers = api_instance.get_rule_groups_with_http_info(ids) + data, status_code, headers = api_instance.get_rule_groups_0_with_http_info(ids) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling FirewallManagementApi->get_rule_groups_with_http_info: #{e}" + puts "Error when calling FirewallManagementApi->get_rule_groups_0_with_http_info: #{e}" end ``` @@ -1175,9 +1175,9 @@ end - **Accept**: application/json -## get_rules +## get_rules_0 -> get_rules(ids) +> get_rules_0(ids) Get rule entities by ID (64-bit unsigned int as decimal string) or Family ID (32-character hexadecimal string) @@ -1199,28 +1199,28 @@ ids = ['inner_example'] # Array | The rules to retrieve, identified by I begin # Get rule entities by ID (64-bit unsigned int as decimal string) or Family ID (32-character hexadecimal string) - result = api_instance.get_rules(ids) + result = api_instance.get_rules_0(ids) p result rescue Falcon::ApiError => e - puts "Error when calling FirewallManagementApi->get_rules: #{e}" + puts "Error when calling FirewallManagementApi->get_rules_0: #{e}" end ``` -#### Using the get_rules_with_http_info variant +#### Using the get_rules_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_rules_with_http_info(ids) +> , Integer, Hash)> get_rules_0_with_http_info(ids) ```ruby begin # Get rule entities by ID (64-bit unsigned int as decimal string) or Family ID (32-character hexadecimal string) - data, status_code, headers = api_instance.get_rules_with_http_info(ids) + data, status_code, headers = api_instance.get_rules_0_with_http_info(ids) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling FirewallManagementApi->get_rules_with_http_info: #{e}" + puts "Error when calling FirewallManagementApi->get_rules_0_with_http_info: #{e}" end ``` @@ -1637,9 +1637,9 @@ end - **Accept**: application/json -## query_rule_groups +## query_rule_groups_0 -> query_rule_groups(opts) +> query_rule_groups_0(opts) Find all rule group IDs matching the query with filter @@ -1668,28 +1668,28 @@ opts = { begin # Find all rule group IDs matching the query with filter - result = api_instance.query_rule_groups(opts) + result = api_instance.query_rule_groups_0(opts) p result rescue Falcon::ApiError => e - puts "Error when calling FirewallManagementApi->query_rule_groups: #{e}" + puts "Error when calling FirewallManagementApi->query_rule_groups_0: #{e}" end ``` -#### Using the query_rule_groups_with_http_info variant +#### Using the query_rule_groups_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_rule_groups_with_http_info(opts) +> , Integer, Hash)> query_rule_groups_0_with_http_info(opts) ```ruby begin # Find all rule group IDs matching the query with filter - data, status_code, headers = api_instance.query_rule_groups_with_http_info(opts) + data, status_code, headers = api_instance.query_rule_groups_0_with_http_info(opts) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling FirewallManagementApi->query_rule_groups_with_http_info: #{e}" + puts "Error when calling FirewallManagementApi->query_rule_groups_0_with_http_info: #{e}" end ``` diff --git a/docs/FirewallPoliciesApi.md b/docs/FirewallPoliciesApi.md index 3f52162b..faae0482 100644 --- a/docs/FirewallPoliciesApi.md +++ b/docs/FirewallPoliciesApi.md @@ -1,6 +1,6 @@ # Falcon::FirewallPoliciesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/FirewallRespV1.md b/docs/FirewallRespV1.md index d60a373b..7a3b8430 100644 --- a/docs/FirewallRespV1.md +++ b/docs/FirewallRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<FirewallPolicyV1>**](FirewallPolicyV1.md) | | | ## Example diff --git a/docs/FlightcontrolapiGetRolesResponse.md b/docs/FlightcontrolapiGetRolesResponse.md index d39e6dbd..62354928 100644 --- a/docs/FlightcontrolapiGetRolesResponse.md +++ b/docs/FlightcontrolapiGetRolesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainRole>**](DomainRole.md) | | | ## Example diff --git a/docs/FlightcontrolapiUserGrantResponse.md b/docs/FlightcontrolapiUserGrantResponse.md index 2ac492e7..8c4c2f70 100644 --- a/docs/FlightcontrolapiUserGrantResponse.md +++ b/docs/FlightcontrolapiUserGrantResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainUserGrants>**](DomainUserGrants.md) | | | ## Example diff --git a/docs/FlightcontrolapiUserResponse.md b/docs/FlightcontrolapiUserResponse.md index abc89c01..81bef30e 100644 --- a/docs/FlightcontrolapiUserResponse.md +++ b/docs/FlightcontrolapiUserResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainUser>**](DomainUser.md) | | | ## Example diff --git a/docs/FoundryLogscaleApi.md b/docs/FoundryLogscaleApi.md index c1a8e38e..1108c142 100644 --- a/docs/FoundryLogscaleApi.md +++ b/docs/FoundryLogscaleApi.md @@ -1,6 +1,6 @@ # Falcon::FoundryLogscaleApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -14,7 +14,8 @@ All URIs are relative to *https://api.crowdstrike.com* | [**get_saved_searches_execute_v1**](FoundryLogscaleApi.md#get_saved_searches_execute_v1) | **GET** /loggingapi/entities/saved-searches/execute/v1 | Get the results of a saved search | | [**get_saved_searches_job_results_download_alt_v1**](FoundryLogscaleApi.md#get_saved_searches_job_results_download_alt_v1) | **GET** /loggingapi/entities/saved-searches-job-results-download/v1 | Get the results of a saved search as a file | | [**get_saved_searches_job_results_download_v1**](FoundryLogscaleApi.md#get_saved_searches_job_results_download_v1) | **GET** /loggingapi/entities/saved-searches/job-results-download/v1 | Get the results of a saved search as a file | -| [**ingest_data_v1**](FoundryLogscaleApi.md#ingest_data_v1) | **POST** /loggingapi/entities/data-ingestion/ingest/v1 | Ingest data into the application repository | +| [**ingest_data_async_v1**](FoundryLogscaleApi.md#ingest_data_async_v1) | **POST** /loggingapi/entities/data-ingestion/ingest-async/v1 | Asynchronously ingest data into the application repository | +| [**ingest_data_v1**](FoundryLogscaleApi.md#ingest_data_v1) | **POST** /loggingapi/entities/data-ingestion/ingest/v1 | Synchronously ingest data into the application repository | | [**list_repos_v1**](FoundryLogscaleApi.md#list_repos_v1) | **GET** /loggingapi/combined/repos/v1 | Lists available repositories and views | | [**list_view_v1**](FoundryLogscaleApi.md#list_view_v1) | **GET** /loggingapi/entities/views/v1 | List views | @@ -44,8 +45,11 @@ opts = { app_id: 'app_id_example', # String | Application ID. include_schema_generation: true, # Boolean | Include generated schemas in the response include_test_data: true, # Boolean | Include test data when executing searches + infer_json_types: true, # Boolean | Whether to try to infer data types in json event response instead of returning map[string]string + match_response_schema: true, # Boolean | Whether to validate search results against their schema metadata: true, # Boolean | Whether to include metadata in the response - mode: 'sync' # String | Mode to execute the query under. + mode: 'sync', # String | Mode to execute the query under. + x_cs_useruuid: 'x_cs_useruuid_example' # String | Requester UUID. } begin @@ -83,8 +87,11 @@ end | **app_id** | **String** | Application ID. | [optional] | | **include_schema_generation** | **Boolean** | Include generated schemas in the response | [optional][default to false] | | **include_test_data** | **Boolean** | Include test data when executing searches | [optional][default to false] | +| **infer_json_types** | **Boolean** | Whether to try to infer data types in json event response instead of returning map[string]string | [optional][default to false] | +| **match_response_schema** | **Boolean** | Whether to validate search results against their schema | [optional][default to false] | | **metadata** | **Boolean** | Whether to include metadata in the response | [optional][default to false] | | **mode** | **String** | Mode to execute the query under. | [optional] | +| **x_cs_useruuid** | **String** | Requester UUID. | [optional] | ### Return type @@ -125,8 +132,11 @@ opts = { app_id: 'app_id_example', # String | Application ID. include_schema_generation: true, # Boolean | Include generated schemas in the response include_test_data: true, # Boolean | Include test data when executing searches + infer_json_types: true, # Boolean | Whether to try to infer data types in json event response instead of returning map[string]string + match_response_schema: true, # Boolean | Whether to validate search results against their schema metadata: true, # Boolean | Whether to include metadata in the response - mode: 'sync' # String | Mode to execute the query under. + mode: 'sync', # String | Mode to execute the query under. + x_cs_useruuid: 'x_cs_useruuid_example' # String | Requester UUID. } begin @@ -164,8 +174,11 @@ end | **app_id** | **String** | Application ID. | [optional] | | **include_schema_generation** | **Boolean** | Include generated schemas in the response | [optional][default to false] | | **include_test_data** | **Boolean** | Include test data when executing searches | [optional][default to false] | +| **infer_json_types** | **Boolean** | Whether to try to infer data types in json event response instead of returning map[string]string | [optional][default to false] | +| **match_response_schema** | **Boolean** | Whether to validate search results against their schema | [optional][default to false] | | **metadata** | **Boolean** | Whether to include metadata in the response | [optional][default to false] | | **mode** | **String** | Mode to execute the query under. | [optional] | +| **x_cs_useruuid** | **String** | Requester UUID. | [optional] | ### Return type @@ -201,12 +214,15 @@ Falcon.configure do |config| end api_instance = Falcon::FoundryLogscaleApi.new -body = Falcon::ApidomainSavedSearchExecuteRequestV1.new # ApidomainSavedSearchExecuteRequestV1 | +body = Falcon::ApidomainSavedSearchExecuteRequestV1.new({extra_rename: 'extra_rename_example', extra_search: 'extra_search_example', extra_sort: 'extra_sort_example', extra_where: 'extra_where_example', parameters: { key: 'inner_example'}, fql_statements: { key: Falcon::ClientFQLStatement.new({op: 'op_example', prop: 'prop_example', value: 3.56})}}) # ApidomainSavedSearchExecuteRequestV1 | opts = { app_id: 'app_id_example', # String | Application ID. detailed: true, # Boolean | Whether to include search field details include_test_data: true, # Boolean | Include test data when executing searches - metadata: true # Boolean | Whether to include metadata in the response + infer_json_types: true, # Boolean | Whether to try to infer data types in json event response instead of returning map[string]string + match_response_schema: true, # Boolean | Whether to validate search results against their schema + metadata: true, # Boolean | Whether to include metadata in the response + x_cs_useruuid: 'x_cs_useruuid_example' # String | Requester UUID. } begin @@ -244,7 +260,10 @@ end | **app_id** | **String** | Application ID. | [optional] | | **detailed** | **Boolean** | Whether to include search field details | [optional][default to false] | | **include_test_data** | **Boolean** | Include test data when executing searches | [optional][default to false] | +| **infer_json_types** | **Boolean** | Whether to try to infer data types in json event response instead of returning map[string]string | [optional][default to false] | +| **match_response_schema** | **Boolean** | Whether to validate search results against their schema | [optional][default to false] | | **metadata** | **Boolean** | Whether to include metadata in the response | [optional][default to false] | +| **x_cs_useruuid** | **String** | Requester UUID. | [optional] | ### Return type @@ -280,12 +299,15 @@ Falcon.configure do |config| end api_instance = Falcon::FoundryLogscaleApi.new -body = Falcon::ApidomainSavedSearchExecuteRequestV1.new # ApidomainSavedSearchExecuteRequestV1 | +body = Falcon::ApidomainSavedSearchExecuteRequestV1.new({extra_rename: 'extra_rename_example', extra_search: 'extra_search_example', extra_sort: 'extra_sort_example', extra_where: 'extra_where_example', parameters: { key: 'inner_example'}, fql_statements: { key: Falcon::ClientFQLStatement.new({op: 'op_example', prop: 'prop_example', value: 3.56})}}) # ApidomainSavedSearchExecuteRequestV1 | opts = { app_id: 'app_id_example', # String | Application ID. detailed: true, # Boolean | Whether to include search field details include_test_data: true, # Boolean | Include test data when executing searches - metadata: true # Boolean | Whether to include metadata in the response + infer_json_types: true, # Boolean | Whether to try to infer data types in json event response instead of returning map[string]string + match_response_schema: true, # Boolean | Whether to validate search results against their schema + metadata: true, # Boolean | Whether to include metadata in the response + x_cs_useruuid: 'x_cs_useruuid_example' # String | Requester UUID. } begin @@ -323,7 +345,10 @@ end | **app_id** | **String** | Application ID. | [optional] | | **detailed** | **Boolean** | Whether to include search field details | [optional][default to false] | | **include_test_data** | **Boolean** | Include test data when executing searches | [optional][default to false] | +| **infer_json_types** | **Boolean** | Whether to try to infer data types in json event response instead of returning map[string]string | [optional][default to false] | +| **match_response_schema** | **Boolean** | Whether to validate search results against their schema | [optional][default to false] | | **metadata** | **Boolean** | Whether to include metadata in the response | [optional][default to false] | +| **x_cs_useruuid** | **String** | Requester UUID. | [optional] | ### Return type @@ -504,9 +529,13 @@ api_instance = Falcon::FoundryLogscaleApi.new job_id = 'job_id_example' # String | Job ID for a previously executed async query opts = { app_id: 'app_id_example', # String | Application ID. + infer_json_types: true, # Boolean | Whether to try to infer data types in json event response instead of returning map[string]string + job_status_only: true, # Boolean | If set to true, result rows are dropped from the response and only the job status is returned limit: 'limit_example', # String | Maximum number of records to return. + match_response_schema: true, # Boolean | Whether to validate search results against their schema metadata: true, # Boolean | Whether to include metadata in the response - offset: 'offset_example' # String | Starting pagination offset of records to return. + offset: 'offset_example', # String | Starting pagination offset of records to return. + x_cs_useruuid: 'x_cs_useruuid_example' # String | Requester UUID. } begin @@ -542,9 +571,13 @@ end | ---- | ---- | ----------- | ----- | | **job_id** | **String** | Job ID for a previously executed async query | | | **app_id** | **String** | Application ID. | [optional] | +| **infer_json_types** | **Boolean** | Whether to try to infer data types in json event response instead of returning map[string]string | [optional][default to false] | +| **job_status_only** | **Boolean** | If set to true, result rows are dropped from the response and only the job status is returned | [optional][default to false] | | **limit** | **String** | Maximum number of records to return. | [optional] | +| **match_response_schema** | **Boolean** | Whether to validate search results against their schema | [optional][default to false] | | **metadata** | **Boolean** | Whether to include metadata in the response | [optional][default to false] | | **offset** | **String** | Starting pagination offset of records to return. | [optional] | +| **x_cs_useruuid** | **String** | Requester UUID. | [optional] | ### Return type @@ -583,9 +616,13 @@ api_instance = Falcon::FoundryLogscaleApi.new job_id = 'job_id_example' # String | Job ID for a previously executed async query opts = { app_id: 'app_id_example', # String | Application ID. + infer_json_types: true, # Boolean | Whether to try to infer data types in json event response instead of returning map[string]string + job_status_only: true, # Boolean | If set to true, result rows are dropped from the response and only the job status is returned limit: 'limit_example', # String | Maximum number of records to return. + match_response_schema: true, # Boolean | Whether to validate search results against their schema metadata: true, # Boolean | Whether to include metadata in the response - offset: 'offset_example' # String | Starting pagination offset of records to return. + offset: 'offset_example', # String | Starting pagination offset of records to return. + x_cs_useruuid: 'x_cs_useruuid_example' # String | Requester UUID. } begin @@ -621,9 +658,13 @@ end | ---- | ---- | ----------- | ----- | | **job_id** | **String** | Job ID for a previously executed async query | | | **app_id** | **String** | Application ID. | [optional] | +| **infer_json_types** | **Boolean** | Whether to try to infer data types in json event response instead of returning map[string]string | [optional][default to false] | +| **job_status_only** | **Boolean** | If set to true, result rows are dropped from the response and only the job status is returned | [optional][default to false] | | **limit** | **String** | Maximum number of records to return. | [optional] | +| **match_response_schema** | **Boolean** | Whether to validate search results against their schema | [optional][default to false] | | **metadata** | **Boolean** | Whether to include metadata in the response | [optional][default to false] | | **offset** | **String** | Starting pagination offset of records to return. | [optional] | +| **x_cs_useruuid** | **String** | Requester UUID. | [optional] | ### Return type @@ -661,6 +702,7 @@ end api_instance = Falcon::FoundryLogscaleApi.new job_id = 'job_id_example' # String | Job ID for a previously executed async query opts = { + infer_json_types: true, # Boolean | Whether to try to infer data types in json event response instead of returning map[string]string result_format: 'json' # String | Result Format } @@ -696,6 +738,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **job_id** | **String** | Job ID for a previously executed async query | | +| **infer_json_types** | **Boolean** | Whether to try to infer data types in json event response instead of returning map[string]string | [optional][default to false] | | **result_format** | **String** | Result Format | [optional] | ### Return type @@ -709,7 +752,7 @@ end ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/octet-stream +- **Accept**: application/octet-stream, text/csv, application/json ## get_saved_searches_job_results_download_v1 @@ -734,6 +777,7 @@ end api_instance = Falcon::FoundryLogscaleApi.new job_id = 'job_id_example' # String | Job ID for a previously executed async query opts = { + infer_json_types: true, # Boolean | Whether to try to infer data types in json event response instead of returning map[string]string result_format: 'json' # String | Result Format } @@ -769,6 +813,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **job_id** | **String** | Job ID for a previously executed async query | | +| **infer_json_types** | **Boolean** | Whether to try to infer data types in json event response instead of returning map[string]string | [optional][default to false] | | **result_format** | **String** | Result Format | [optional] | ### Return type @@ -782,14 +827,95 @@ end ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/octet-stream +- **Accept**: application/octet-stream, text/csv, application/json + + +## ingest_data_async_v1 + +> ingest_data_async_v1(opts) + +Asynchronously ingest data into the application repository + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::FoundryLogscaleApi.new +opts = { + data_content: 'data_content_example', # String | JSON data to ingest + data_file: File.new('/path/to/some/file'), # File | Data file to ingest + repo: 'repo_example', # String | Repository name if not part of a foundry app + tag: ['inner_example'], # Array | Custom tag for ingested data in the form tag:value + tag_source: 'tag_source_example', # String | Tag the data with the specified source + test_data: true # Boolean | Tag the data with test-ingest +} + +begin + # Asynchronously ingest data into the application repository + result = api_instance.ingest_data_async_v1(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling FoundryLogscaleApi->ingest_data_async_v1: #{e}" +end +``` + +#### Using the ingest_data_async_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> ingest_data_async_v1_with_http_info(opts) + +```ruby +begin + # Asynchronously ingest data into the application repository + data, status_code, headers = api_instance.ingest_data_async_v1_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling FoundryLogscaleApi->ingest_data_async_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **data_content** | **String** | JSON data to ingest | [optional] | +| **data_file** | **File** | Data file to ingest | [optional] | +| **repo** | **String** | Repository name if not part of a foundry app | [optional] | +| **tag** | [**Array<String>**](String.md) | Custom tag for ingested data in the form tag:value | [optional] | +| **tag_source** | **String** | Tag the data with the specified source | [optional] | +| **test_data** | **Boolean** | Tag the data with test-ingest | [optional][default to false] | + +### Return type + +[**ClientDataIngestResponseWrapperV1**](ClientDataIngestResponseWrapperV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: multipart/form-data +- **Accept**: application/json ## ingest_data_v1 -> ingest_data_v1(data_file, opts) +> ingest_data_v1(opts) -Ingest data into the application repository +Synchronously ingest data into the application repository ### Examples @@ -805,16 +931,17 @@ Falcon.configure do |config| end api_instance = Falcon::FoundryLogscaleApi.new -data_file = File.new('/path/to/some/file') # File | Data file to ingest opts = { + data_content: 'data_content_example', # String | JSON data to ingest + data_file: File.new('/path/to/some/file'), # File | Data file to ingest tag: ['inner_example'], # Array | Custom tag for ingested data in the form tag:value tag_source: 'tag_source_example', # String | Tag the data with the specified source test_data: true # Boolean | Tag the data with test-ingest } begin - # Ingest data into the application repository - result = api_instance.ingest_data_v1(data_file, opts) + # Synchronously ingest data into the application repository + result = api_instance.ingest_data_v1(opts) p result rescue Falcon::ApiError => e puts "Error when calling FoundryLogscaleApi->ingest_data_v1: #{e}" @@ -825,12 +952,12 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> ingest_data_v1_with_http_info(data_file, opts) +> , Integer, Hash)> ingest_data_v1_with_http_info(opts) ```ruby begin - # Ingest data into the application repository - data, status_code, headers = api_instance.ingest_data_v1_with_http_info(data_file, opts) + # Synchronously ingest data into the application repository + data, status_code, headers = api_instance.ingest_data_v1_with_http_info(opts) p status_code # => 2xx p headers # => { ... } p data # => @@ -843,7 +970,8 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **data_file** | **File** | Data file to ingest | | +| **data_content** | **String** | JSON data to ingest | [optional] | +| **data_file** | **File** | Data file to ingest | [optional] | | **tag** | [**Array<String>**](String.md) | Custom tag for ingested data in the form tag:value | [optional] | | **tag_source** | **String** | Tag the data with the specified source | [optional] | | **test_data** | **Boolean** | Tag the data with test-ingest | [optional][default to false] | diff --git a/docs/FwmgrMsaAggregateQueryRequest.md b/docs/FwmgrMsaAggregateQueryRequest.md index 69bbc11a..fa9f89c2 100644 --- a/docs/FwmgrMsaAggregateQueryRequest.md +++ b/docs/FwmgrMsaAggregateQueryRequest.md @@ -6,6 +6,7 @@ | ---- | ---- | ----------- | ----- | | **date_ranges** | [**Array<FwmgrMsaDateRangeSpec>**](FwmgrMsaDateRangeSpec.md) | | | | **exclude** | **String** | | | +| **extended_bounds** | [**FwmgrMsaExtendedBoundsSpec**](FwmgrMsaExtendedBoundsSpec.md) | | [optional] | | **field** | **String** | | | | **filter** | **String** | | | | **from** | **Integer** | | | @@ -31,6 +32,7 @@ require 'crimson-falcon' instance = Falcon::FwmgrMsaAggregateQueryRequest.new( date_ranges: null, exclude: null, + extended_bounds: null, field: null, filter: null, from: null, diff --git a/docs/FwmgrMsaExtendedBoundsSpec.md b/docs/FwmgrMsaExtendedBoundsSpec.md new file mode 100644 index 00000000..34e68f16 --- /dev/null +++ b/docs/FwmgrMsaExtendedBoundsSpec.md @@ -0,0 +1,20 @@ +# Falcon::FwmgrMsaExtendedBoundsSpec + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **max** | **String** | | | +| **min** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::FwmgrMsaExtendedBoundsSpec.new( + max: null, + min: null +) +``` + diff --git a/docs/GraphCondition.md b/docs/GraphCondition.md index 825b33f2..89d87ac7 100644 --- a/docs/GraphCondition.md +++ b/docs/GraphCondition.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **cel_expression** | **String** | CEL expression for the condition, should evaluate to a boolean. | [optional] | | **display** | **Array<String>** | User friendly description of the FQL expression. This would be supplied by the UI/caller and is not set by the API. | [optional] | | **evaluated** | **Boolean** | Indicates the boolean result of FQL expression when present. This field should be used only in the api response of a graph execution result | [optional] | | **expression** | **String** | FQL expression for the condition on the sequence flow. | [optional] | @@ -14,6 +15,7 @@ require 'crimson-falcon' instance = Falcon::GraphCondition.new( + cel_expression: null, display: null, evaluated: null, expression: null diff --git a/docs/GraphConfiguredActivity.md b/docs/GraphConfiguredActivity.md index 4c5e6459..a1997324 100644 --- a/docs/GraphConfiguredActivity.md +++ b/docs/GraphConfiguredActivity.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **_class** | **String** | The class of activity. If undefined it is an ActivityClassExternal | [optional] | | **flows** | [**Flows**](Flows.md) | | | | **id** | **String** | The unique identifier of the selected activity that is being configured. | | | **max_seconds** | **String** | Maximum seconds to wait for an async process to finish. Overrides default async_max_seconds on Activity seed. | [optional] | @@ -17,6 +18,7 @@ require 'crimson-falcon' instance = Falcon::GraphConfiguredActivity.new( + _class: null, flows: null, id: null, max_seconds: null, diff --git a/docs/GraphEnd.md b/docs/GraphEnd.md index d732b30d..cca7f4c2 100644 --- a/docs/GraphEnd.md +++ b/docs/GraphEnd.md @@ -6,6 +6,8 @@ | ---- | ---- | ----------- | ----- | | **incoming_flows** | **Array<String>** | Reference to the ID of the flow nodes inbound to the end node. | | | **node_id** | **String** | | | +| **output_fields** | **Array<String>** | Keys of the fields that are the output for this model | [optional] | +| **summary** | **String** | Summary of the workflow is free form text with possibly embedded variables | [optional] | ## Example @@ -14,7 +16,9 @@ require 'crimson-falcon' instance = Falcon::GraphEnd.new( incoming_flows: null, - node_id: null + node_id: null, + output_fields: null, + summary: null ) ``` diff --git a/docs/GraphMulti.md b/docs/GraphMulti.md index 076be90e..0fb87838 100644 --- a/docs/GraphMulti.md +++ b/docs/GraphMulti.md @@ -6,8 +6,11 @@ | ---- | ---- | ----------- | ----- | | **array_field** | **String** | Name of the field that contains the array in input data | | | **array_field_display_name** | **String** | Display name of the field that contains the array in input data | | +| **condition** | [**GraphCondition**](GraphCondition.md) | | [optional] | | **continue_on_partial_execution** | **Boolean** | If true will allow the workflow to continue execution even if some loop iterations fail or when there are no iterations to execute | | +| **max_execution_seconds** | **Integer** | Maximum number of seconds the submodel will run for, if this is exceeded no new iterations will run. If unset a default value is used during execution | | | **max_iteration_count** | **Integer** | Maximum number of iterations allowed in sub model | | +| **sequential** | **Boolean** | Indicates the loop will run sequentially | [optional] | ## Example @@ -17,8 +20,11 @@ require 'crimson-falcon' instance = Falcon::GraphMulti.new( array_field: null, array_field_display_name: null, + condition: null, continue_on_partial_execution: null, - max_iteration_count: null + max_execution_seconds: null, + max_iteration_count: null, + sequential: null ) ``` diff --git a/docs/GraphSubModel.md b/docs/GraphSubModel.md index a9ccbe7a..12f7459a 100644 --- a/docs/GraphSubModel.md +++ b/docs/GraphSubModel.md @@ -7,9 +7,8 @@ | **flows** | [**Flows**](Flows.md) | | | | **model** | [**GraphDefinitionModel**](GraphDefinitionModel.md) | | | | **multi** | [**GraphMulti**](GraphMulti.md) | | | -| **name** | **String** | Optional user provided name for the activity, if not specified a name based on the array field is used. | [optional] | +| **name** | **String** | Optional user provided name for the submodel. | [optional] | | **node_id** | **String** | | | -| **output_field** | **String** | Name of the output field that contains the result from sub-model. | [optional] | ## Example @@ -21,8 +20,7 @@ instance = Falcon::GraphSubModel.new( model: null, multi: null, name: null, - node_id: null, - output_field: null + node_id: null ) ``` diff --git a/docs/GraphValidationError.md b/docs/GraphValidationError.md index b1ffcaf7..02f80414 100644 --- a/docs/GraphValidationError.md +++ b/docs/GraphValidationError.md @@ -7,10 +7,12 @@ | **cid** | **String** | The cid the validation error applies to if it is not the CID managing the workflow | [optional] | | **code** | **Integer** | identifier for UI to indicate reason for node being invalid. | [optional] | | **display_name** | **String** | Display name for the property if it exists in a trigger or activity | [optional] | +| **level** | **String** | Level is used to indicate if this is an error or warning validation. If empty it should be assumed to be Error Level | [optional] | | **message** | **String** | Detail of why the node is invalid. | | | **node_id** | **String** | ID of the node in the graph that has been invalidated. | [optional] | | **parent_node_id** | **String** | ID of the parent node in the graph that resulted in a child node being invalidated. | [optional] | | **property** | **String** | Used to specify an exact property that is invalid for fql evaluation | [optional] | +| **resource_id** | **String** | Resource ID for property if it exists, e.g. trigger ID or activity ID | [optional] | ## Example @@ -21,10 +23,12 @@ instance = Falcon::GraphValidationError.new( cid: null, code: null, display_name: null, + level: null, message: null, node_id: null, parent_node_id: null, - property: null + property: null, + resource_id: null ) ``` diff --git a/docs/HandleApi.md b/docs/HandleApi.md new file mode 100644 index 00000000..115bcd3f --- /dev/null +++ b/docs/HandleApi.md @@ -0,0 +1,76 @@ +# Falcon::HandleApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**handle**](HandleApi.md#handle) | **POST** /data-security-dspm/entities/kafka-rest-produce/v1 | | + + +## handle + +> Hash<String, String> handle + + + +- Handle is responsible for producing the input message into the corresponded Kafka Topic + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HandleApi.new + +begin + + result = api_instance.handle + p result +rescue Falcon::ApiError => e + puts "Error when calling HandleApi->handle: #{e}" +end +``` + +#### Using the handle_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> handle_with_http_info + +```ruby +begin + + data, status_code, headers = api_instance.handle_with_http_info + p status_code # => 2xx + p headers # => { ... } + p data # => Hash<String, String> +rescue Falcon::ApiError => e + puts "Error when calling HandleApi->handle_with_http_info: #{e}" +end +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +**Hash<String, String>** + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/HostGroupApi.md b/docs/HostGroupApi.md index 16ec2f94..a572d2ff 100644 --- a/docs/HostGroupApi.md +++ b/docs/HostGroupApi.md @@ -1,6 +1,6 @@ # Falcon::HostGroupApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/HostGroupsMembersRespV1.md b/docs/HostGroupsMembersRespV1.md index 56b72910..93f48be0 100644 --- a/docs/HostGroupsMembersRespV1.md +++ b/docs/HostGroupsMembersRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DeviceDevice>**](DeviceDevice.md) | A collection of device details | | ## Example diff --git a/docs/HostGroupsRespV1.md b/docs/HostGroupsRespV1.md index 1d5df428..1b0e61c0 100644 --- a/docs/HostGroupsRespV1.md +++ b/docs/HostGroupsRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<HostGroupsHostGroupV1>**](HostGroupsHostGroupV1.md) | | | ## Example diff --git a/docs/HostMigrationApi.md b/docs/HostMigrationApi.md new file mode 100644 index 00000000..15a74773 --- /dev/null +++ b/docs/HostMigrationApi.md @@ -0,0 +1,747 @@ +# Falcon::HostMigrationApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**create_migration_v1**](HostMigrationApi.md#create_migration_v1) | **POST** /host-migration/entities/migrations/v1 | Create a device migration job. | +| [**get_host_migration_ids_v1**](HostMigrationApi.md#get_host_migration_ids_v1) | **GET** /host-migration/queries/host-migrations/v1 | Query host migration IDs. | +| [**get_host_migrations_v1**](HostMigrationApi.md#get_host_migrations_v1) | **POST** /host-migration/entities/host-migrations/GET/v1 | Get host migration details. | +| [**get_migration_destinations_v1**](HostMigrationApi.md#get_migration_destinations_v1) | **POST** /host-migration/entities/migration-destinations/GET/v1 | Get destinations for a migration. | +| [**get_migration_ids_v1**](HostMigrationApi.md#get_migration_ids_v1) | **GET** /host-migration/queries/migrations/v1 | Query migration jobs. | +| [**get_migrations_v1**](HostMigrationApi.md#get_migrations_v1) | **GET** /host-migration/entities/migrations/v1 | Get migration job details. | +| [**host_migration_aggregates_v1**](HostMigrationApi.md#host_migration_aggregates_v1) | **POST** /host-migration/aggregates/host-migrations/v1 | Get host migration aggregates as specified via json in request body. | +| [**host_migrations_actions_v1**](HostMigrationApi.md#host_migrations_actions_v1) | **POST** /host-migration/entities/host-migrations-actions/v1 | Perform an action on host migrations. | +| [**migration_aggregates_v1**](HostMigrationApi.md#migration_aggregates_v1) | **POST** /host-migration/aggregates/migrations/v1 | Get migration aggregates as specified via json in request body. | +| [**migrations_actions_v1**](HostMigrationApi.md#migrations_actions_v1) | **POST** /host-migration/entities/migrations-actions/v1 | Perform an action on a migration job. | + + +## create_migration_v1 + +> create_migration_v1(body) + +Create a device migration job. + +`device_ids` and `filter` are mutually exclusive. Filter takes precedence. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +body = Falcon::ApiCreateMigrationRequestV1.new({device_ids: ['device_ids_example'], filter: 'filter_example', name: 'name_example', target_cid: 'target_cid_example'}) # ApiCreateMigrationRequestV1 | + +begin + # Create a device migration job. + result = api_instance.create_migration_v1(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->create_migration_v1: #{e}" +end +``` + +#### Using the create_migration_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> create_migration_v1_with_http_info(body) + +```ruby +begin + # Create a device migration job. + data, status_code, headers = api_instance.create_migration_v1_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->create_migration_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ApiCreateMigrationRequestV1**](ApiCreateMigrationRequestV1.md) | | | + +### Return type + +[**ApiCreateMigrationResponseV1**](ApiCreateMigrationResponseV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_host_migration_ids_v1 + +> get_host_migration_ids_v1(id, opts) + +Query host migration IDs. + +Query host migration IDs. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +id = 'id_example' # String | The migration job to query +opts = { + offset: 56, # Integer | The offset to start retrieving records from + limit: 56, # Integer | The maximum records to return. [1-10000] + sort: 'migration_id|asc', # String | The property to sort by. + filter: 'filter_example' # String | The filter expression that should be used to limit the results. Valid fields: hostname, status, source_cid, id, created_time, groups, hostgroups, static_host_groups, target_cid, migration_id, host_migration_id +} + +begin + # Query host migration IDs. + result = api_instance.get_host_migration_ids_v1(id, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_host_migration_ids_v1: #{e}" +end +``` + +#### Using the get_host_migration_ids_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_host_migration_ids_v1_with_http_info(id, opts) + +```ruby +begin + # Query host migration IDs. + data, status_code, headers = api_instance.get_host_migration_ids_v1_with_http_info(id, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_host_migration_ids_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | The migration job to query | | +| **offset** | **Integer** | The offset to start retrieving records from | [optional] | +| **limit** | **Integer** | The maximum records to return. [1-10000] | [optional] | +| **sort** | **String** | The property to sort by. | [optional] | +| **filter** | **String** | The filter expression that should be used to limit the results. Valid fields: hostname, status, source_cid, id, created_time, groups, hostgroups, static_host_groups, target_cid, migration_id, host_migration_id | [optional] | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_host_migrations_v1 + +> get_host_migrations_v1(body) + +Get host migration details. + +# Events The `events` field describes actions that have occurred to the host migration entity. Each object is defined by the `action` field. When `user` is present, it is the user who performed the action. `time` is when the action occurred. ## Event actions ### added This action is emitted when the host migration is created. ``` { \"action\": \"added\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### assigned_static_host_groups This action is emitted when a user assigns static host groups to a host migration. `ids` are the ids of the new host groups that have been assigned. ``` { \"action\": \"assigned_static_host_groups\", \"ids\": [\"foo\", \"bar\"], \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### removed_static_host_groups This action is emitted when a user removes static host groups from a host migration. `ids` are the ids of the host groups that have been removed. ``` { \"action\": \"removed_static_host_groups\", \"ids\": [\"foo\", \"bar\"], \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### queued This action is emitted when the migration is started. ``` { \"action\": \"queued\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### failed This action is emitted when the host migration fails. `reason` is the reason for failure. `reason` can be `unsupported_sensor_version`, `unsupported_sensor_platform`, `host_missing`, `migration_expired`, or `internal_error`. ``` { \"action\": \"failed\", \"reason\": \"unsupported_sensor_version\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### cancelled This action is emitted when the migration has been cancelled. ``` { \"action\": \"cancelled\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### completed This action is emitted when the host has successfully migrated. ``` { \"action\": \"completed\", \"time\": \"2024-01-01T00:00:00Z\" } ``` # Status Details The `status_details` field is an optional field that provides some more details about the status of a failed host migration. It may be omitted or empty from a response. ### internal_error This status detail is provided when an internal occurs during a host migration. ### canceled_by_user This status detail is provided when a migration has been canceled by a user. ### host_missing This status detail is provided when a host migration is canceled because the source host can no longer be found. ### migration_expired This status detail is provided when a host migration is expired because the migration is too old. ### migration_already_in_progress This status detail is provided when attempting to start a host migration on a host that is already in progress in another migration. ### source_host_unsupported_version This status detail is provided when attempting to create or start a host migration when the sensor is on an unsupported version. ### source_host_unsupported_platform This status detail is provided when attempting to create or start a host migration when the sensor is an unsupported platform. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +body = Falcon::MsaIdsRequest.new({ids: ['ids_example']}) # MsaIdsRequest | + +begin + # Get host migration details. + result = api_instance.get_host_migrations_v1(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_host_migrations_v1: #{e}" +end +``` + +#### Using the get_host_migrations_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_host_migrations_v1_with_http_info(body) + +```ruby +begin + # Get host migration details. + data, status_code, headers = api_instance.get_host_migrations_v1_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_host_migrations_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**MsaIdsRequest**](MsaIdsRequest.md) | | | + +### Return type + +[**ApiGetHostMigrationResponseV1**](ApiGetHostMigrationResponseV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_migration_destinations_v1 + +> get_migration_destinations_v1(body) + +Get destinations for a migration. + +`device_ids` and `filter` are mutually exclusive. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +body = Falcon::ApiGetMigrationDestinationsRequestBodyV1.new({device_ids: ['device_ids_example'], filter: 'filter_example'}) # ApiGetMigrationDestinationsRequestBodyV1 | + +begin + # Get destinations for a migration. + result = api_instance.get_migration_destinations_v1(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_migration_destinations_v1: #{e}" +end +``` + +#### Using the get_migration_destinations_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_migration_destinations_v1_with_http_info(body) + +```ruby +begin + # Get destinations for a migration. + data, status_code, headers = api_instance.get_migration_destinations_v1_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_migration_destinations_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ApiGetMigrationDestinationsRequestBodyV1**](ApiGetMigrationDestinationsRequestBodyV1.md) | | | + +### Return type + +[**ApiGetMigrationDestinationsResponseV1**](ApiGetMigrationDestinationsResponseV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## get_migration_ids_v1 + +> get_migration_ids_v1(opts) + +Query migration jobs. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +opts = { + offset: 56, # Integer | The offset to start retrieving records from + limit: 56, # Integer | The maximum records to return. [1-10000] + sort: 'migration_id|asc', # String | The property to sort by. + filter: 'filter_example' # String | The filter expression that should be used to limit the results. Valid fields: status, migration_status, created_by, created_time, name, id, migration_id, target_cid +} + +begin + # Query migration jobs. + result = api_instance.get_migration_ids_v1(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_migration_ids_v1: #{e}" +end +``` + +#### Using the get_migration_ids_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_migration_ids_v1_with_http_info(opts) + +```ruby +begin + # Query migration jobs. + data, status_code, headers = api_instance.get_migration_ids_v1_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_migration_ids_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **offset** | **Integer** | The offset to start retrieving records from | [optional] | +| **limit** | **Integer** | The maximum records to return. [1-10000] | [optional] | +| **sort** | **String** | The property to sort by. | [optional] | +| **filter** | **String** | The filter expression that should be used to limit the results. Valid fields: status, migration_status, created_by, created_time, name, id, migration_id, target_cid | [optional] | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_migrations_v1 + +> get_migrations_v1(ids) + +Get migration job details. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +ids = ['inner_example'] # Array | The migration jobs of interest. + +begin + # Get migration job details. + result = api_instance.get_migrations_v1(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_migrations_v1: #{e}" +end +``` + +#### Using the get_migrations_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_migrations_v1_with_http_info(ids) + +```ruby +begin + # Get migration job details. + data, status_code, headers = api_instance.get_migrations_v1_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->get_migrations_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | The migration jobs of interest. | | + +### Return type + +[**ApiGetMigrationsResponseV1**](ApiGetMigrationsResponseV1.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## host_migration_aggregates_v1 + +> host_migration_aggregates_v1(body) + +Get host migration aggregates as specified via json in request body. + +Get host migration aggregates as specified via json in request body. # Supported Types Both types support the following FQL filter properties: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`, `created_time`. The values `groups` and `hostgroups` are aliases for `static_host_groups`. The value `host_migration_id` is an alias for `id` ## Terms `\"type\": \"terms\"` Supported `field` values: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`. `sort` must be done on the same value as `field` and include a direction (`asc` or `desc`). Supports all FQL fields except for `groups`, `hostgroups`, or `static_host_groups`. Examples sort value: `status|asc` or `created_by|desc` ## Date Range `\"type\": \"date_range\"` Supported `field` fields: `created_time`. Does not support `sort`, `size`, or `from`. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +body = [Falcon::MsaAggregateQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [Falcon::MsaAggregateQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [], time_zone: 'time_zone_example', type: 'type_example'})], time_zone: 'time_zone_example', type: 'type_example'})] # Array | + +begin + # Get host migration aggregates as specified via json in request body. + result = api_instance.host_migration_aggregates_v1(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->host_migration_aggregates_v1: #{e}" +end +``` + +#### Using the host_migration_aggregates_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> host_migration_aggregates_v1_with_http_info(body) + +```ruby +begin + # Get host migration aggregates as specified via json in request body. + data, status_code, headers = api_instance.host_migration_aggregates_v1_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->host_migration_aggregates_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**Array<MsaAggregateQueryRequest>**](MsaAggregateQueryRequest.md) | | | + +### Return type + +[**MsaAggregatesResponse**](MsaAggregatesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## host_migrations_actions_v1 + +> host_migrations_actions_v1(id, action_name, body) + +Perform an action on host migrations. + +The available actions are `add_host_groups`, `remove_host_groups`, and `remove_hosts`. FQL filter supports the following fields: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`, `created_time`. These actions only works if the migration has not started. `add_host_groups` adds static host groups to the selected hosts in a migration. This action accepts the following action parameter: `{ \"name\": \"host_group\": \"value\": \"$host_group_id\" }`. Action parameters can be repeated to add multiple static host groups in a single request. `remove_host_groups` removes static host groups from the selected hosts in a migration. This action accepts the following action parameter: `{ \"name\": \"host_group\": \"value\": \"$host_group_id\" }`. Action parameters can be repeated to remove multiple static host groups in a single request. `remove_hosts` removes the selected hosts from a migration. This action does not accept any action parameters. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +id = 'id_example' # String | The migration job to perform actions on +action_name = 'remove_hosts' # String | The action to perform +body = Falcon::MsaEntityActionRequestV3.new({filter: 'filter_example', ids: ['ids_example']}) # MsaEntityActionRequestV3 | + +begin + # Perform an action on host migrations. + result = api_instance.host_migrations_actions_v1(id, action_name, body) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->host_migrations_actions_v1: #{e}" +end +``` + +#### Using the host_migrations_actions_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> host_migrations_actions_v1_with_http_info(id, action_name, body) + +```ruby +begin + # Perform an action on host migrations. + data, status_code, headers = api_instance.host_migrations_actions_v1_with_http_info(id, action_name, body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->host_migrations_actions_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | The migration job to perform actions on | | +| **action_name** | **String** | The action to perform | | +| **body** | [**MsaEntityActionRequestV3**](MsaEntityActionRequestV3.md) | | | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## migration_aggregates_v1 + +> migration_aggregates_v1(body) + +Get migration aggregates as specified via json in request body. + +Get migration aggregates as specified via json in request body. # Supported Types Both types support the following FQL filter props: `name`, `id`, `migration_id`, `target_cid`, `status`, `migration_status`, `created_by`, `created_time`. The value `migration_status` is an alias for `status`. The value `migration_id` is an alias for `id`. ## Terms `\"type\": \"terms\"` Supported `field` values: `name`, `id`, `migration_id,` `target_cid`, `status`, `migration_status`, `created_by`. `sort` on `terms` type must be done on the same value as `field` and include a direction (`asc` or `desc`). Supports all supported FQL fields. Examples sort value: `status|asc` or `created_by|desc`. ## Date Range `\"type\": \"date_range\"` Supported `field` fields: `created_time`. Does not support `sort`, `size`, or `from`. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +body = [Falcon::MsaAggregateQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [Falcon::MsaAggregateQueryRequest.new({date_ranges: [Falcon::MsaDateRangeSpec.new({from: 'from_example', to: 'to_example'})], exclude: 'exclude_example', field: 'field_example', filter: 'filter_example', from: 37, include: 'include_example', interval: 'interval_example', missing: 'missing_example', name: 'name_example', q: 'q_example', ranges: [Falcon::MsaRangeSpec.new({from: 3.56, to: 3.56})], size: 37, sort: 'sort_example', sub_aggregates: [], time_zone: 'time_zone_example', type: 'type_example'})], time_zone: 'time_zone_example', type: 'type_example'})] # Array | + +begin + # Get migration aggregates as specified via json in request body. + result = api_instance.migration_aggregates_v1(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->migration_aggregates_v1: #{e}" +end +``` + +#### Using the migration_aggregates_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> migration_aggregates_v1_with_http_info(body) + +```ruby +begin + # Get migration aggregates as specified via json in request body. + data, status_code, headers = api_instance.migration_aggregates_v1_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->migration_aggregates_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**Array<MsaAggregateQueryRequest>**](MsaAggregateQueryRequest.md) | | | + +### Return type + +[**MsaAggregatesResponse**](MsaAggregatesResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## migrations_actions_v1 + +> migrations_actions_v1(action_name, body) + +Perform an action on a migration job. + +The available actions are `start_migration`, `cancel_migration`, `rename_migration`, and `delete_migration`. `start_migration` starts the selected migrations. This action only works if the migration has not started. This action does not accept any action parameters. Only one migration may be started per request. `cancel_migration` cancels the selected migrations. This actions only works if the migration has started and not completed. This action does not accept any action parameters. `rename_migration` renames the selected migrations. This action can be called at any time. Only 1 action parameter may be supplied. Action parameters take the form of `{\"name\": \"migration_name\": \"value\": \"$new_migration_name\"}`. `delete_migration` deletes the selected migrations. This action only works if the migration has not started. This action does not accept any action parameters. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HostMigrationApi.new +action_name = 'delete_migration' # String | The action to perform +body = Falcon::MsaEntityActionRequestV3.new({filter: 'filter_example', ids: ['ids_example']}) # MsaEntityActionRequestV3 | + +begin + # Perform an action on a migration job. + result = api_instance.migrations_actions_v1(action_name, body) + p result +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->migrations_actions_v1: #{e}" +end +``` + +#### Using the migrations_actions_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> migrations_actions_v1_with_http_info(action_name, body) + +```ruby +begin + # Perform an action on a migration job. + data, status_code, headers = api_instance.migrations_actions_v1_with_http_info(action_name, body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HostMigrationApi->migrations_actions_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **action_name** | **String** | The action to perform | | +| **body** | [**MsaEntityActionRequestV3**](MsaEntityActionRequestV3.md) | | | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + diff --git a/docs/HostsApi.md b/docs/HostsApi.md index 3c02bad5..5403d7d3 100644 --- a/docs/HostsApi.md +++ b/docs/HostsApi.md @@ -1,6 +1,6 @@ # Falcon::HostsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -609,8 +609,8 @@ end api_instance = Falcon::HostsApi.new opts = { - offset: 'offset_example', # String | The offset to page from, for the next result set - limit: 56, # Integer | The maximum records to return. [1-5000] + offset: 'offset_example', # String | The offset to page from, provided from the previous scroll call, for the next result set. For the first call, do not supply an offset. + limit: 56, # Integer | The maximum records to return. [1-10000] sort: 'sort_example', # String | The property to sort by (e.g. status.desc or hostname.asc) filter: 'filter_example' # String | The filter expression that should be used to limit the results } @@ -646,8 +646,8 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **offset** | **String** | The offset to page from, for the next result set | [optional] | -| **limit** | **Integer** | The maximum records to return. [1-5000] | [optional] | +| **offset** | **String** | The offset to page from, provided from the previous scroll call, for the next result set. For the first call, do not supply an offset. | [optional] | +| **limit** | **Integer** | The maximum records to return. [1-10000] | [optional] | | **sort** | **String** | The property to sort by (e.g. status.desc or hostname.asc) | [optional] | | **filter** | **String** | The filter expression that should be used to limit the results | [optional] | diff --git a/docs/HumioAuthProxyApi.md b/docs/HumioAuthProxyApi.md new file mode 100644 index 00000000..95ffaa13 --- /dev/null +++ b/docs/HumioAuthProxyApi.md @@ -0,0 +1,507 @@ +# Falcon::HumioAuthProxyApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**get_lookup_from_package_v1**](HumioAuthProxyApi.md#get_lookup_from_package_v1) | **GET** /humio/api/v1/repositories/{repository}/files/{package}/{filename} | Download lookup file in package from NGSIEM | +| [**get_lookup_from_package_with_namespace_v1**](HumioAuthProxyApi.md#get_lookup_from_package_with_namespace_v1) | **GET** /humio/api/v1/repositories/{repository}/files/{namespace}/{package}/{filename} | Download lookup file in namespaced package from NGSIEM | +| [**get_lookup_v1**](HumioAuthProxyApi.md#get_lookup_v1) | **GET** /humio/api/v1/repositories/{repository}/files/{filename} | Download lookup file from NGSIEM | +| [**get_search_status_v1**](HumioAuthProxyApi.md#get_search_status_v1) | **GET** /humio/api/v1/repositories/{repository}/queryjobs/{id} | Get status of search | +| [**start_search_v1**](HumioAuthProxyApi.md#start_search_v1) | **POST** /humio/api/v1/repositories/{repository}/queryjobs | Initiate search | +| [**stop_search_v1**](HumioAuthProxyApi.md#stop_search_v1) | **DELETE** /humio/api/v1/repositories/{repository}/queryjobs/{id} | Stop search | +| [**upload_lookup_v1**](HumioAuthProxyApi.md#upload_lookup_v1) | **POST** /humio/api/v1/repositories/{repository}/files | Upload file to NGSIEM | + + +## get_lookup_from_package_v1 + +> get_lookup_from_package_v1(repository, package, filename) + +Download lookup file in package from NGSIEM + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HumioAuthProxyApi.new +repository = 'repository_example' # String | name of repository +package = 'package_example' # String | name of package +filename = 'filename_example' # String | name of lookup file + +begin + # Download lookup file in package from NGSIEM + api_instance.get_lookup_from_package_v1(repository, package, filename) +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->get_lookup_from_package_v1: #{e}" +end +``` + +#### Using the get_lookup_from_package_v1_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> get_lookup_from_package_v1_with_http_info(repository, package, filename) + +```ruby +begin + # Download lookup file in package from NGSIEM + data, status_code, headers = api_instance.get_lookup_from_package_v1_with_http_info(repository, package, filename) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->get_lookup_from_package_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **repository** | **String** | name of repository | | +| **package** | **String** | name of package | | +| **filename** | **String** | name of lookup file | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/octet-stream, application/json + + +## get_lookup_from_package_with_namespace_v1 + +> get_lookup_from_package_with_namespace_v1(repository, namespace, package, filename) + +Download lookup file in namespaced package from NGSIEM + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HumioAuthProxyApi.new +repository = 'repository_example' # String | name of repository +namespace = 'namespace_example' # String | name of namespace +package = 'package_example' # String | name of package +filename = 'filename_example' # String | name of lookup file + +begin + # Download lookup file in namespaced package from NGSIEM + api_instance.get_lookup_from_package_with_namespace_v1(repository, namespace, package, filename) +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->get_lookup_from_package_with_namespace_v1: #{e}" +end +``` + +#### Using the get_lookup_from_package_with_namespace_v1_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> get_lookup_from_package_with_namespace_v1_with_http_info(repository, namespace, package, filename) + +```ruby +begin + # Download lookup file in namespaced package from NGSIEM + data, status_code, headers = api_instance.get_lookup_from_package_with_namespace_v1_with_http_info(repository, namespace, package, filename) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->get_lookup_from_package_with_namespace_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **repository** | **String** | name of repository | | +| **namespace** | **String** | name of namespace | | +| **package** | **String** | name of package | | +| **filename** | **String** | name of lookup file | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/octet-stream, application/json + + +## get_lookup_v1 + +> get_lookup_v1(repository, filename) + +Download lookup file from NGSIEM + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HumioAuthProxyApi.new +repository = 'repository_example' # String | name of repository +filename = 'filename_example' # String | name of lookup file + +begin + # Download lookup file from NGSIEM + api_instance.get_lookup_v1(repository, filename) +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->get_lookup_v1: #{e}" +end +``` + +#### Using the get_lookup_v1_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> get_lookup_v1_with_http_info(repository, filename) + +```ruby +begin + # Download lookup file from NGSIEM + data, status_code, headers = api_instance.get_lookup_v1_with_http_info(repository, filename) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->get_lookup_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **repository** | **String** | name of repository | | +| **filename** | **String** | name of lookup file | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/octet-stream, application/json + + +## get_search_status_v1 + +> get_search_status_v1(repository, id) + +Get status of search + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HumioAuthProxyApi.new +repository = 'repository_example' # String | name of repository +id = 'id_example' # String | id of query + +begin + # Get status of search + result = api_instance.get_search_status_v1(repository, id) + p result +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->get_search_status_v1: #{e}" +end +``` + +#### Using the get_search_status_v1_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_search_status_v1_with_http_info(repository, id) + +```ruby +begin + # Get status of search + data, status_code, headers = api_instance.get_search_status_v1_with_http_info(repository, id) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->get_search_status_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **repository** | **String** | name of repository | | +| **id** | **String** | id of query | | + +### Return type + +[**MsaspecResponseFields**](MsaspecResponseFields.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json, text/plain, text/html, application/x-ndjson + + +## start_search_v1 + +> start_search_v1(repository) + +Initiate search + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HumioAuthProxyApi.new +repository = 'repository_example' # String | name of repository + +begin + # Initiate search + api_instance.start_search_v1(repository) +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->start_search_v1: #{e}" +end +``` + +#### Using the start_search_v1_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> start_search_v1_with_http_info(repository) + +```ruby +begin + # Initiate search + data, status_code, headers = api_instance.start_search_v1_with_http_info(repository) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->start_search_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **repository** | **String** | name of repository | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json, text/plain, text/html + + +## stop_search_v1 + +> stop_search_v1(repository, id) + +Stop search + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HumioAuthProxyApi.new +repository = 'repository_example' # String | name of repository +id = 'id_example' # String | id of query + +begin + # Stop search + api_instance.stop_search_v1(repository, id) +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->stop_search_v1: #{e}" +end +``` + +#### Using the stop_search_v1_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> stop_search_v1_with_http_info(repository, id) + +```ruby +begin + # Stop search + data, status_code, headers = api_instance.stop_search_v1_with_http_info(repository, id) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->stop_search_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **repository** | **String** | name of repository | | +| **id** | **String** | id of query | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: */*, application/json + + +## upload_lookup_v1 + +> upload_lookup_v1(repository) + +Upload file to NGSIEM + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::HumioAuthProxyApi.new +repository = 'repository_example' # String | name of repository + +begin + # Upload file to NGSIEM + api_instance.upload_lookup_v1(repository) +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->upload_lookup_v1: #{e}" +end +``` + +#### Using the upload_lookup_v1_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> upload_lookup_v1_with_http_info(repository) + +```ruby +begin + # Upload file to NGSIEM + data, status_code, headers = api_instance.upload_lookup_v1_with_http_info(repository) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling HumioAuthProxyApi->upload_lookup_v1_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **repository** | **String** | name of repository | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: */*, application/json + diff --git a/docs/IdentityEntitiesApi.md b/docs/IdentityEntitiesApi.md index e64640db..a461a8a6 100644 --- a/docs/IdentityEntitiesApi.md +++ b/docs/IdentityEntitiesApi.md @@ -1,6 +1,6 @@ # Falcon::IdentityEntitiesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/IdentityProtectionApi.md b/docs/IdentityProtectionApi.md index 35fcf655..a8342e9d 100644 --- a/docs/IdentityProtectionApi.md +++ b/docs/IdentityProtectionApi.md @@ -1,10 +1,230 @@ # Falcon::IdentityProtectionApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | +| [**api_preempt_proxy_delete_policy_rules**](IdentityProtectionApi.md#api_preempt_proxy_delete_policy_rules) | **DELETE** /identity-protection/entities/policy-rules/v1 | Delete policy rules | +| [**api_preempt_proxy_get_policy_rules**](IdentityProtectionApi.md#api_preempt_proxy_get_policy_rules) | **GET** /identity-protection/entities/policy-rules/v1 | Get policy rules | +| [**api_preempt_proxy_get_policy_rules_query**](IdentityProtectionApi.md#api_preempt_proxy_get_policy_rules_query) | **GET** /identity-protection/queries/policy-rules/v1 | Query policy rule IDs | | [**api_preempt_proxy_post_graphql**](IdentityProtectionApi.md#api_preempt_proxy_post_graphql) | **POST** /identity-protection/combined/graphql/v1 | Identity Protection GraphQL API. Allows to retrieve entities, timeline activities, identity-based incidents and security assessment. Allows to perform actions on entities and identity-based incidents. | +| [**api_preempt_proxy_post_policy_rules**](IdentityProtectionApi.md#api_preempt_proxy_post_policy_rules) | **POST** /identity-protection/entities/policy-rules/v1 | Create policy rule | + + +## api_preempt_proxy_delete_policy_rules + +> api_preempt_proxy_delete_policy_rules(authorization, ids) + +Delete policy rules + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::IdentityProtectionApi.new +authorization = 'authorization_example' # String | Authorization Header +ids = ['inner_example'] # Array | Rule IDs + +begin + # Delete policy rules + api_instance.api_preempt_proxy_delete_policy_rules(authorization, ids) +rescue Falcon::ApiError => e + puts "Error when calling IdentityProtectionApi->api_preempt_proxy_delete_policy_rules: #{e}" +end +``` + +#### Using the api_preempt_proxy_delete_policy_rules_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> api_preempt_proxy_delete_policy_rules_with_http_info(authorization, ids) + +```ruby +begin + # Delete policy rules + data, status_code, headers = api_instance.api_preempt_proxy_delete_policy_rules_with_http_info(authorization, ids) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling IdentityProtectionApi->api_preempt_proxy_delete_policy_rules_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **authorization** | **String** | Authorization Header | | +| **ids** | [**Array<String>**](String.md) | Rule IDs | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json, application/json; charset=utf-8 + + +## api_preempt_proxy_get_policy_rules + +> api_preempt_proxy_get_policy_rules(authorization, ids) + +Get policy rules + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::IdentityProtectionApi.new +authorization = 'authorization_example' # String | Authorization Header +ids = ['inner_example'] # Array | Rule IDs + +begin + # Get policy rules + api_instance.api_preempt_proxy_get_policy_rules(authorization, ids) +rescue Falcon::ApiError => e + puts "Error when calling IdentityProtectionApi->api_preempt_proxy_get_policy_rules: #{e}" +end +``` + +#### Using the api_preempt_proxy_get_policy_rules_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> api_preempt_proxy_get_policy_rules_with_http_info(authorization, ids) + +```ruby +begin + # Get policy rules + data, status_code, headers = api_instance.api_preempt_proxy_get_policy_rules_with_http_info(authorization, ids) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling IdentityProtectionApi->api_preempt_proxy_get_policy_rules_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **authorization** | **String** | Authorization Header | | +| **ids** | [**Array<String>**](String.md) | Rule IDs | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json, application/json; charset=utf-8 + + +## api_preempt_proxy_get_policy_rules_query + +> api_preempt_proxy_get_policy_rules_query(authorization, opts) + +Query policy rule IDs + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::IdentityProtectionApi.new +authorization = 'authorization_example' # String | Authorization Header +opts = { + enabled: true, # Boolean | Whether the rule is enabled + simulation_mode: true, # Boolean | Whether the rule is in simulation mode + name: 'name_example' # String | Rule name +} + +begin + # Query policy rule IDs + api_instance.api_preempt_proxy_get_policy_rules_query(authorization, opts) +rescue Falcon::ApiError => e + puts "Error when calling IdentityProtectionApi->api_preempt_proxy_get_policy_rules_query: #{e}" +end +``` + +#### Using the api_preempt_proxy_get_policy_rules_query_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> api_preempt_proxy_get_policy_rules_query_with_http_info(authorization, opts) + +```ruby +begin + # Query policy rule IDs + data, status_code, headers = api_instance.api_preempt_proxy_get_policy_rules_query_with_http_info(authorization, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling IdentityProtectionApi->api_preempt_proxy_get_policy_rules_query_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **authorization** | **String** | Authorization Header | | +| **enabled** | **Boolean** | Whether the rule is enabled | [optional] | +| **simulation_mode** | **Boolean** | Whether the rule is in simulation mode | [optional] | +| **name** | **String** | Rule name | [optional] | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json, application/json; charset=utf-8 ## api_preempt_proxy_post_graphql @@ -74,3 +294,73 @@ nil (empty response body) - **Content-Type**: Not defined - **Accept**: application/json, application/json; charset=utf-8 + +## api_preempt_proxy_post_policy_rules + +> api_preempt_proxy_post_policy_rules(authorization, body) + +Create policy rule + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::IdentityProtectionApi.new +authorization = 'authorization_example' # String | Authorization Header +body = Falcon::TypesPolicyRulesCreateBody.new({action: 'action_example', enabled: false, name: 'name_example', simulation_mode: false, trigger: 'trigger_example'}) # TypesPolicyRulesCreateBody | + +begin + # Create policy rule + api_instance.api_preempt_proxy_post_policy_rules(authorization, body) +rescue Falcon::ApiError => e + puts "Error when calling IdentityProtectionApi->api_preempt_proxy_post_policy_rules: #{e}" +end +``` + +#### Using the api_preempt_proxy_post_policy_rules_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> api_preempt_proxy_post_policy_rules_with_http_info(authorization, body) + +```ruby +begin + # Create policy rule + data, status_code, headers = api_instance.api_preempt_proxy_post_policy_rules_with_http_info(authorization, body) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling IdentityProtectionApi->api_preempt_proxy_post_policy_rules_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **authorization** | **String** | Authorization Header | | +| **body** | [**TypesPolicyRulesCreateBody**](TypesPolicyRulesCreateBody.md) | | | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json, application/json; charset=utf-8 + diff --git a/docs/ImageAssessmentPoliciesApi.md b/docs/ImageAssessmentPoliciesApi.md index 33858624..eb1a179b 100644 --- a/docs/ImageAssessmentPoliciesApi.md +++ b/docs/ImageAssessmentPoliciesApi.md @@ -1,6 +1,6 @@ # Falcon::ImageAssessmentPoliciesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ImagesApiCombinedImageExport.md b/docs/ImagesApiCombinedImageExport.md index e88bf8c3..b213ed2d 100644 --- a/docs/ImagesApiCombinedImageExport.md +++ b/docs/ImagesApiCombinedImageExport.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIImageCombinedExport>**](ModelsAPIImageCombinedExport.md) | | | ## Example diff --git a/docs/ImagesApiCustomerAndImage.md b/docs/ImagesApiCustomerAndImage.md index a835c28d..b3c7854e 100644 --- a/docs/ImagesApiCustomerAndImage.md +++ b/docs/ImagesApiCustomerAndImage.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPICustomerAndImage>**](ModelsAPICustomerAndImage.md) | | | ## Example diff --git a/docs/ImagesApiImageAssessmentHistory.md b/docs/ImagesApiImageAssessmentHistory.md index b0d6e30b..019142a9 100644 --- a/docs/ImagesApiImageAssessmentHistory.md +++ b/docs/ImagesApiImageAssessmentHistory.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIImageAssessmentHistory>**](ModelsAPIImageAssessmentHistory.md) | | | ## Example diff --git a/docs/ImagesApiImageByVulnerabilityCount.md b/docs/ImagesApiImageByVulnerabilityCount.md index 60761d13..7a5d1137 100644 --- a/docs/ImagesApiImageByVulnerabilityCount.md +++ b/docs/ImagesApiImageByVulnerabilityCount.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIImageByVulnerabilityCount>**](ModelsAPIImageByVulnerabilityCount.md) | | | ## Example diff --git a/docs/ImagesApiImageCount.md b/docs/ImagesApiImageCount.md index c5473aa2..dc4cca8b 100644 --- a/docs/ImagesApiImageCount.md +++ b/docs/ImagesApiImageCount.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIImageCount>**](ModelsAPIImageCount.md) | | | ## Example diff --git a/docs/ImagesApiImageCountByBaseOS.md b/docs/ImagesApiImageCountByBaseOS.md index 5c0934ca..e869468e 100644 --- a/docs/ImagesApiImageCountByBaseOS.md +++ b/docs/ImagesApiImageCountByBaseOS.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | ## Example diff --git a/docs/ImagesApiImageCountByState.md b/docs/ImagesApiImageCountByState.md index 02f36f81..8a94188e 100644 --- a/docs/ImagesApiImageCountByState.md +++ b/docs/ImagesApiImageCountByState.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | ## Example diff --git a/docs/ImagesApiImageIssuesSummary.md b/docs/ImagesApiImageIssuesSummary.md index 948be2d6..e3d5aed8 100644 --- a/docs/ImagesApiImageIssuesSummary.md +++ b/docs/ImagesApiImageIssuesSummary.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIImageIssuesSummary>**](ModelsAPIImageIssuesSummary.md) | | | ## Example diff --git a/docs/ImagesApiImageVulnerabilitiesSummary.md b/docs/ImagesApiImageVulnerabilitiesSummary.md index c9d92a06..9176a2fd 100644 --- a/docs/ImagesApiImageVulnerabilitiesSummary.md +++ b/docs/ImagesApiImageVulnerabilitiesSummary.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIImageVulnerabilitiesSummary>**](ModelsAPIImageVulnerabilitiesSummary.md) | | | ## Example diff --git a/docs/ImagesExtCombinedImagesResponse.md b/docs/ImagesExtCombinedImagesResponse.md index 535f682b..b938a535 100644 --- a/docs/ImagesExtCombinedImagesResponse.md +++ b/docs/ImagesExtCombinedImagesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsExtAPIImageCombined>**](ModelsExtAPIImageCombined.md) | | | ## Example diff --git a/docs/IncidentsApi.md b/docs/IncidentsApi.md index cb09851c..8b70d49d 100644 --- a/docs/IncidentsApi.md +++ b/docs/IncidentsApi.md @@ -1,6 +1,6 @@ # Falcon::IncidentsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/InstallationTokensApi.md b/docs/InstallationTokensApi.md index 83fb3ce1..31dcf06f 100644 --- a/docs/InstallationTokensApi.md +++ b/docs/InstallationTokensApi.md @@ -1,6 +1,6 @@ # Falcon::InstallationTokensApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/InstallationTokensSettingsApi.md b/docs/InstallationTokensSettingsApi.md index 76d37ed3..217616a7 100644 --- a/docs/InstallationTokensSettingsApi.md +++ b/docs/InstallationTokensSettingsApi.md @@ -1,6 +1,6 @@ # Falcon::InstallationTokensSettingsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/IntelApi.md b/docs/IntelApi.md index c9da09f7..e2627116 100644 --- a/docs/IntelApi.md +++ b/docs/IntelApi.md @@ -1,6 +1,6 @@ # Falcon::IntelApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -11,6 +11,8 @@ All URIs are relative to *https://api.crowdstrike.com* | [**get_intel_rule_entities**](IntelApi.md#get_intel_rule_entities) | **GET** /intel/entities/rules/v1 | Retrieve details for rule sets for the specified ids. | | [**get_intel_rule_file**](IntelApi.md#get_intel_rule_file) | **GET** /intel/entities/rules-files/v1 | Download earlier rule sets. | | [**get_latest_intel_rule_file**](IntelApi.md#get_latest_intel_rule_file) | **GET** /intel/entities/rules-latest-files/v1 | Download the latest rule set. | +| [**get_malware_entities**](IntelApi.md#get_malware_entities) | **GET** /intel/entities/malware/v1 | Get malware entities for specified ids. | +| [**get_malware_mitre_report**](IntelApi.md#get_malware_mitre_report) | **GET** /intel/entities/malware-mitre-reports/v1 | Export Mitre ATT&CK information for a given malware family. | | [**get_mitre_report**](IntelApi.md#get_mitre_report) | **GET** /intel/entities/mitre-reports/v1 | Export Mitre ATT&CK information for a given actor. | | [**get_vulnerabilities**](IntelApi.md#get_vulnerabilities) | **POST** /intel/entities/vulnerabilities/GET/v1 | Get vulnerabilities | | [**post_mitre_attacks**](IntelApi.md#post_mitre_attacks) | **POST** /intel/entities/mitre/v1 | Retrieves report and observable IDs associated with the given actor and attacks | @@ -21,7 +23,9 @@ All URIs are relative to *https://api.crowdstrike.com* | [**query_intel_report_entities**](IntelApi.md#query_intel_report_entities) | **GET** /intel/combined/reports/v1 | Get info about reports that match provided FQL filters. | | [**query_intel_report_ids**](IntelApi.md#query_intel_report_ids) | **GET** /intel/queries/reports/v1 | Get report IDs that match provided FQL filters. | | [**query_intel_rule_ids**](IntelApi.md#query_intel_rule_ids) | **GET** /intel/queries/rules/v1 | Search for rule IDs that match provided filter criteria. | +| [**query_malware**](IntelApi.md#query_malware) | **GET** /intel/queries/malware/v1 | Get malware family names that match provided FQL filters. | | [**query_mitre_attacks**](IntelApi.md#query_mitre_attacks) | **GET** /intel/queries/mitre/v1 | Gets MITRE tactics and techniques for the given actor, returning concatenation of id and tactic and technique ids, example: fancy-bear_TA0011_T1071 | +| [**query_mitre_attacks_for_malware**](IntelApi.md#query_mitre_attacks_for_malware) | **GET** /intel/queries/mitre-malware/v1 | Gets MITRE tactics and techniques for the given malware | | [**query_vulnerabilities**](IntelApi.md#query_vulnerabilities) | **GET** /intel/queries/vulnerabilities/v1 | Get vulnerabilities IDs | @@ -242,7 +246,7 @@ end ## get_intel_report_pdf -> get_intel_report_pdf(opts) +> File get_intel_report_pdf(opts) Return a Report PDF attachment @@ -267,7 +271,8 @@ opts = { begin # Return a Report PDF attachment - api_instance.get_intel_report_pdf(opts) + result = api_instance.get_intel_report_pdf(opts) + p result rescue Falcon::ApiError => e puts "Error when calling IntelApi->get_intel_report_pdf: #{e}" end @@ -275,9 +280,9 @@ end #### Using the get_intel_report_pdf_with_http_info variant -This returns an Array which contains the response data (`nil` in this case), status code and headers. +This returns an Array which contains the response data, status code and headers. -> get_intel_report_pdf_with_http_info(opts) +> get_intel_report_pdf_with_http_info(opts) ```ruby begin @@ -285,7 +290,7 @@ begin data, status_code, headers = api_instance.get_intel_report_pdf_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => nil + p data # => File rescue Falcon::ApiError => e puts "Error when calling IntelApi->get_intel_report_pdf_with_http_info: #{e}" end @@ -300,7 +305,7 @@ end ### Return type -nil (empty response body) +**File** ### Authorization @@ -383,7 +388,7 @@ end ## get_intel_rule_file -> get_intel_rule_file(id, opts) +> File get_intel_rule_file(id, opts) Download earlier rule sets. @@ -409,7 +414,8 @@ opts = { begin # Download earlier rule sets. - api_instance.get_intel_rule_file(id, opts) + result = api_instance.get_intel_rule_file(id, opts) + p result rescue Falcon::ApiError => e puts "Error when calling IntelApi->get_intel_rule_file: #{e}" end @@ -417,9 +423,9 @@ end #### Using the get_intel_rule_file_with_http_info variant -This returns an Array which contains the response data (`nil` in this case), status code and headers. +This returns an Array which contains the response data, status code and headers. -> get_intel_rule_file_with_http_info(id, opts) +> get_intel_rule_file_with_http_info(id, opts) ```ruby begin @@ -427,7 +433,7 @@ begin data, status_code, headers = api_instance.get_intel_rule_file_with_http_info(id, opts) p status_code # => 2xx p headers # => { ... } - p data # => nil + p data # => File rescue Falcon::ApiError => e puts "Error when calling IntelApi->get_intel_rule_file_with_http_info: #{e}" end @@ -443,7 +449,7 @@ end ### Return type -nil (empty response body) +**File** ### Authorization @@ -457,7 +463,7 @@ nil (empty response body) ## get_latest_intel_rule_file -> get_latest_intel_rule_file(type, opts) +> File get_latest_intel_rule_file(type, opts) Download the latest rule set. @@ -475,17 +481,19 @@ Falcon.configure do |config| end api_instance = Falcon::IntelApi.new -type = 'type_example' # String | The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness +type = 'type_example' # String | The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog opts = { accept: 'accept_example', # String | Choose the format you want the rule set in. if_none_match: 'if_none_match_example', # String | Download the latest rule set only if it doesn't have an ETag matching the given ones. if_modified_since: 'if_modified_since_example', # String | Download the latest rule set only if the rule was modified after this date. http, ANSIC and RFC850 formats accepted - format: 'format_example' # String | Choose the format you want the rule set in. Valid formats are zip and gzip. Defaults to zip. + format: 'format_example', # String | Choose the format you want the rule set in. Valid formats are zip and gzip. Defaults to zip. + if_modified_since2: 'if_modified_since_example' # String | Download Only if changed since } begin # Download the latest rule set. - api_instance.get_latest_intel_rule_file(type, opts) + result = api_instance.get_latest_intel_rule_file(type, opts) + p result rescue Falcon::ApiError => e puts "Error when calling IntelApi->get_latest_intel_rule_file: #{e}" end @@ -493,9 +501,9 @@ end #### Using the get_latest_intel_rule_file_with_http_info variant -This returns an Array which contains the response data (`nil` in this case), status code and headers. +This returns an Array which contains the response data, status code and headers. -> get_latest_intel_rule_file_with_http_info(type, opts) +> get_latest_intel_rule_file_with_http_info(type, opts) ```ruby begin @@ -503,7 +511,7 @@ begin data, status_code, headers = api_instance.get_latest_intel_rule_file_with_http_info(type, opts) p status_code # => 2xx p headers # => { ... } - p data # => nil + p data # => File rescue Falcon::ApiError => e puts "Error when calling IntelApi->get_latest_intel_rule_file_with_http_info: #{e}" end @@ -513,15 +521,16 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **type** | **String** | The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness | | +| **type** | **String** | The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog | | | **accept** | **String** | Choose the format you want the rule set in. | [optional] | | **if_none_match** | **String** | Download the latest rule set only if it doesn't have an ETag matching the given ones. | [optional] | | **if_modified_since** | **String** | Download the latest rule set only if the rule was modified after this date. http, ANSIC and RFC850 formats accepted | [optional] | | **format** | **String** | Choose the format you want the rule set in. Valid formats are zip and gzip. Defaults to zip. | [optional] | +| **if_modified_since2** | **String** | Download Only if changed since | [optional] | ### Return type -nil (empty response body) +**File** ### Authorization @@ -533,6 +542,149 @@ nil (empty response body) - **Accept**: application/zip, application/gzip, application/octet-stream, application/json, */* +## get_malware_entities + +> get_malware_entities(ids) + +Get malware entities for specified ids. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::IntelApi.new +ids = ['inner_example'] # Array | Malware family name in lower case with spaces, dots and slashes replaced with dashes + +begin + # Get malware entities for specified ids. + result = api_instance.get_malware_entities(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling IntelApi->get_malware_entities: #{e}" +end +``` + +#### Using the get_malware_entities_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_malware_entities_with_http_info(ids) + +```ruby +begin + # Get malware entities for specified ids. + data, status_code, headers = api_instance.get_malware_entities_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling IntelApi->get_malware_entities_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | Malware family name in lower case with spaces, dots and slashes replaced with dashes | | + +### Return type + +[**DomainMalwareResponse**](DomainMalwareResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_malware_mitre_report + +> get_malware_mitre_report(id, format, opts) + +Export Mitre ATT&CK information for a given malware family. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::IntelApi.new +id = 'id_example' # String | Malware family name in lower case with spaces replaced with dashes +format = 'format_example' # String | Supported report formats: CSV, JSON or JSON_NAVIGATOR +opts = { + x_cs_useruuid: 'x_cs_useruuid_example' # String | User id +} + +begin + # Export Mitre ATT&CK information for a given malware family. + api_instance.get_malware_mitre_report(id, format, opts) +rescue Falcon::ApiError => e + puts "Error when calling IntelApi->get_malware_mitre_report: #{e}" +end +``` + +#### Using the get_malware_mitre_report_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> get_malware_mitre_report_with_http_info(id, format, opts) + +```ruby +begin + # Export Mitre ATT&CK information for a given malware family. + data, status_code, headers = api_instance.get_malware_mitre_report_with_http_info(id, format, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling IntelApi->get_malware_mitre_report_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | Malware family name in lower case with spaces replaced with dashes | | +| **format** | **String** | Supported report formats: CSV, JSON or JSON_NAVIGATOR | | +| **x_cs_useruuid** | **String** | User id | [optional] | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json, text/csv + + ## get_mitre_report > get_mitre_report(actor_id, format) @@ -1246,7 +1398,7 @@ Falcon.configure do |config| end api_instance = Falcon::IntelApi.new -type = 'type_example' # String | The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness +type = 'type_example' # String | The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog opts = { offset: 56, # Integer | Set the starting row number to return reports from. Defaults to 0. limit: 56, # Integer | The number of rule IDs to return. Defaults to 10. @@ -1290,7 +1442,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **type** | **String** | The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness | | +| **type** | **String** | The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog | | | **offset** | **Integer** | Set the starting row number to return reports from. Defaults to 0. | [optional] | | **limit** | **Integer** | The number of rule IDs to return. Defaults to 10. | [optional] | | **sort** | **String** | Order fields in ascending or descending order. Ex: created_date|asc. | [optional] | @@ -1315,6 +1467,85 @@ end - **Accept**: application/json +## query_malware + +> query_malware(opts) + +Get malware family names that match provided FQL filters. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::IntelApi.new +opts = { + offset: 56, # Integer | Set the starting row number to return malware IDs from. Defaults to 0. + limit: 56, # Integer | Set the number of malware IDs to return. The value must be between 1 and 5000. + sort: 'sort_example', # String | Order fields in ascending or descending order. Ex: created_date|asc. + filter: 'filter_example', # String | Filter your query by specifying FQL filter parameters. + q: 'q_example' # String | Perform a generic substring search across all fields. +} + +begin + # Get malware family names that match provided FQL filters. + result = api_instance.query_malware(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling IntelApi->query_malware: #{e}" +end +``` + +#### Using the query_malware_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> query_malware_with_http_info(opts) + +```ruby +begin + # Get malware family names that match provided FQL filters. + data, status_code, headers = api_instance.query_malware_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling IntelApi->query_malware_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **offset** | **Integer** | Set the starting row number to return malware IDs from. Defaults to 0. | [optional] | +| **limit** | **Integer** | Set the number of malware IDs to return. The value must be between 1 and 5000. | [optional] | +| **sort** | **String** | Order fields in ascending or descending order. Ex: created_date|asc. | [optional] | +| **filter** | **String** | Filter your query by specifying FQL filter parameters. | [optional] | +| **q** | **String** | Perform a generic substring search across all fields. | [optional] | + +### Return type + +[**DomainQueryResponse**](DomainQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## query_mitre_attacks > query_mitre_attacks(opts) @@ -1388,6 +1619,75 @@ end - **Accept**: application/json +## query_mitre_attacks_for_malware + +> query_mitre_attacks_for_malware(ids) + +Gets MITRE tactics and techniques for the given malware + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::IntelApi.new +ids = ['inner_example'] # Array | Malware family name in lower case with spaces replaced with dashes + +begin + # Gets MITRE tactics and techniques for the given malware + result = api_instance.query_mitre_attacks_for_malware(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling IntelApi->query_mitre_attacks_for_malware: #{e}" +end +``` + +#### Using the query_mitre_attacks_for_malware_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> query_mitre_attacks_for_malware_with_http_info(ids) + +```ruby +begin + # Gets MITRE tactics and techniques for the given malware + data, status_code, headers = api_instance.query_mitre_attacks_for_malware_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling IntelApi->query_mitre_attacks_for_malware_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | Malware family name in lower case with spaces replaced with dashes | | + +### Return type + +[**DomainQueryResponse**](DomainQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## query_vulnerabilities > query_vulnerabilities(opts) diff --git a/docs/InternalSensorStatus.md b/docs/InternalSensorStatus.md index 29d00b23..96c417be 100644 --- a/docs/InternalSensorStatus.md +++ b/docs/InternalSensorStatus.md @@ -7,6 +7,7 @@ | **agent_version** | **String** | | [optional] | | **cid** | **String** | | | | **device_id** | **String** | | | +| **heartbeat_time** | **Integer** | | [optional] | | **hostname** | **String** | | [optional] | | **idp_policy_id** | **String** | | [optional] | | **idp_policy_name** | **String** | | [optional] | @@ -32,6 +33,7 @@ instance = Falcon::InternalSensorStatus.new( agent_version: null, cid: null, device_id: null, + heartbeat_time: null, hostname: null, idp_policy_id: null, idp_policy_name: null, diff --git a/docs/IoaExclusionsApi.md b/docs/IoaExclusionsApi.md index 5729b869..0631d636 100644 --- a/docs/IoaExclusionsApi.md +++ b/docs/IoaExclusionsApi.md @@ -1,6 +1,6 @@ # Falcon::IoaExclusionsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -243,7 +243,9 @@ end api_instance = Falcon::IoaExclusionsApi.new opts = { - filter: 'filter_example', # String | The filter expression that should be used to limit the results. + filter: 'filter_example', # String | The filter expression that should be used to limit the results. Filtered queries involving regex fields should specify their expressions in the `ifn_regex` and `cl_regex` parameters. + ifn_regex: 'ifn_regex_example', # String | The `ifn_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. + cl_regex: 'cl_regex_example', # String | The `cl_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. offset: 56, # Integer | The offset to start retrieving records from limit: 56, # Integer | The maximum records to return. [1-500] sort: 'applied_globally.asc' # String | The sort expression that should be used to sort the results. @@ -280,7 +282,9 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | The filter expression that should be used to limit the results. | [optional] | +| **filter** | **String** | The filter expression that should be used to limit the results. Filtered queries involving regex fields should specify their expressions in the `ifn_regex` and `cl_regex` parameters. | [optional] | +| **ifn_regex** | **String** | The `ifn_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. | [optional] | +| **cl_regex** | **String** | The `cl_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. | [optional] | | **offset** | **Integer** | The offset to start retrieving records from | [optional] | | **limit** | **Integer** | The maximum records to return. [1-500] | [optional] | | **sort** | **String** | The sort expression that should be used to sort the results. | [optional] | diff --git a/docs/IoaExclusionsIoaExclusionsRespV1.md b/docs/IoaExclusionsIoaExclusionsRespV1.md index 52d4471b..0e564bec 100644 --- a/docs/IoaExclusionsIoaExclusionsRespV1.md +++ b/docs/IoaExclusionsIoaExclusionsRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<IoaExclusionsIoaExclusionRespV1>**](IoaExclusionsIoaExclusionRespV1.md) | | | ## Example diff --git a/docs/IocApi.md b/docs/IocApi.md index 8f5564a8..778ddf0f 100644 --- a/docs/IocApi.md +++ b/docs/IocApi.md @@ -1,6 +1,6 @@ # Falcon::IocApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/IocapiMsaReplyDevicesRanOn.md b/docs/IocapiMsaReplyDevicesRanOn.md index 92da07ea..cf26e9c8 100644 --- a/docs/IocapiMsaReplyDevicesRanOn.md +++ b/docs/IocapiMsaReplyDevicesRanOn.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**IocapiResponseMeta**](IocapiResponseMeta.md) | | | | **resources** | **Array<String>** | | | diff --git a/docs/IocapiMsaReplyIOCDevicesCount.md b/docs/IocapiMsaReplyIOCDevicesCount.md index 70330b39..31ccb8a2 100644 --- a/docs/IocapiMsaReplyIOCDevicesCount.md +++ b/docs/IocapiMsaReplyIOCDevicesCount.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**IocapiResponseMeta**](IocapiResponseMeta.md) | | | | **resources** | [**Array<IocapiIOCDevicesCount>**](IocapiIOCDevicesCount.md) | | | diff --git a/docs/IocapiMsaReplyProcessesRanOn.md b/docs/IocapiMsaReplyProcessesRanOn.md index dc312f07..0c3fdefd 100644 --- a/docs/IocapiMsaReplyProcessesRanOn.md +++ b/docs/IocapiMsaReplyProcessesRanOn.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**IocapiResponseMeta**](IocapiResponseMeta.md) | | | | **resources** | **Array<String>** | | | diff --git a/docs/IocsApi.md b/docs/IocsApi.md index 353a5922..b4d0a0d6 100644 --- a/docs/IocsApi.md +++ b/docs/IocsApi.md @@ -1,6 +1,6 @@ # Falcon::IocsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/JsonschemaConditionGroupFields.md b/docs/JsonschemaConditionGroupFields.md index 36558ac8..dbbff430 100644 --- a/docs/JsonschemaConditionGroupFields.md +++ b/docs/JsonschemaConditionGroupFields.md @@ -8,6 +8,7 @@ | **control_name** | **String** | | [optional] | | **controller** | **Boolean** | | [optional] | | **dependent_control** | **String** | | [optional] | +| **requires_meta** | **String** | | [optional] | | **reset_fields** | [**JsonschemaResetFields**](JsonschemaResetFields.md) | | [optional] | ## Example @@ -20,6 +21,7 @@ instance = Falcon::JsonschemaConditionGroupFields.new( control_name: null, controller: null, dependent_control: null, + requires_meta: null, reset_fields: null ) ``` diff --git a/docs/DomainKeyValuePair.md b/docs/JsonschemaDurationOption.md similarity index 73% rename from docs/DomainKeyValuePair.md rename to docs/JsonschemaDurationOption.md index e72ade1a..f6af5f80 100644 --- a/docs/DomainKeyValuePair.md +++ b/docs/JsonschemaDurationOption.md @@ -1,4 +1,4 @@ -# Falcon::DomainKeyValuePair +# Falcon::JsonschemaDurationOption ## Properties @@ -12,7 +12,7 @@ ```ruby require 'crimson-falcon' -instance = Falcon::DomainKeyValuePair.new( +instance = Falcon::JsonschemaDurationOption.new( name: null, value: null ) diff --git a/docs/JsonschemaSubSchema.md b/docs/JsonschemaSubSchema.md index 35dbf016..437e8c74 100644 --- a/docs/JsonschemaSubSchema.md +++ b/docs/JsonschemaSubSchema.md @@ -50,6 +50,7 @@ | **x_cs_can_create** | **Boolean** | | [optional] | | **x_cs_condition_group_fields** | [**JsonschemaConditionGroupFields**](JsonschemaConditionGroupFields.md) | | [optional] | | **x_cs_do_not_hide** | **Boolean** | | [optional] | +| **x_cs_immutable** | **Boolean** | | [optional] | | **x_cs_indexable** | **Boolean** | | [optional] | | **x_cs_indexable_fields** | [**Array<JsonschemaCollectionIndexField>**](JsonschemaCollectionIndexField.md) | | [optional] | | **x_cs_max_duration** | **Integer** | | [optional] | @@ -62,6 +63,7 @@ | **x_cs_signals_operators** | **Array<String>** | | [optional] | | **x_cs_signals_sub_category** | **String** | | [optional] | | **x_cs_tags** | **Array<String>** | | [optional] | +| **x_cs_ui** | [**JsonschemaUIExtensions**](JsonschemaUIExtensions.md) | | [optional] | | **x_cs_workflow** | [**JsonschemaWorkflowExtensions**](JsonschemaWorkflowExtensions.md) | | [optional] | ## Example @@ -116,6 +118,7 @@ instance = Falcon::JsonschemaSubSchema.new( x_cs_can_create: null, x_cs_condition_group_fields: null, x_cs_do_not_hide: null, + x_cs_immutable: null, x_cs_indexable: null, x_cs_indexable_fields: null, x_cs_max_duration: null, @@ -128,6 +131,7 @@ instance = Falcon::JsonschemaSubSchema.new( x_cs_signals_operators: null, x_cs_signals_sub_category: null, x_cs_tags: null, + x_cs_ui: null, x_cs_workflow: null ) ``` diff --git a/docs/JsonschemaUIExtensions.md b/docs/JsonschemaUIExtensions.md new file mode 100644 index 00000000..a0f484fd --- /dev/null +++ b/docs/JsonschemaUIExtensions.md @@ -0,0 +1,28 @@ +# Falcon::JsonschemaUIExtensions + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **accept** | **Array<String>** | supported file extensions for file upload, eg. '.yaml', '.json' | [optional] | +| **component** | **String** | | [optional] | +| **custom_group_name** | **String** | | [optional] | +| **duration_options** | [**Array<JsonschemaDurationOption>**](JsonschemaDurationOption.md) | | [optional] | +| **encoding** | **String** | supported encoding for file upload, eg. 'base64' | [optional] | +| **helper_text** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::JsonschemaUIExtensions.new( + accept: null, + component: null, + custom_group_name: null, + duration_options: null, + encoding: null, + helper_text: null +) +``` + diff --git a/docs/JsonschemaWorkflowExtensions.md b/docs/JsonschemaWorkflowExtensions.md index 0a12a578..dd1b44c8 100644 --- a/docs/JsonschemaWorkflowExtensions.md +++ b/docs/JsonschemaWorkflowExtensions.md @@ -5,6 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **description** | **String** | | [optional] | +| **max_file_size** | **Integer** | max file size allowed in bytes | [optional] | | **name** | **String** | | [optional] | | **node_id** | **String** | | [optional] | | **system** | **Boolean** | | [optional] | @@ -18,6 +19,7 @@ require 'crimson-falcon' instance = Falcon::JsonschemaWorkflowExtensions.new( description: null, + max_file_size: null, name: null, node_id: null, system: null, diff --git a/docs/K8sassetsClusterEnrichmentData.md b/docs/K8sassetsClusterEnrichmentData.md index e97af7d2..7b46ad14 100644 --- a/docs/K8sassetsClusterEnrichmentData.md +++ b/docs/K8sassetsClusterEnrichmentData.md @@ -5,6 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **container_count** | **Integer** | | | +| **image_count** | **Integer** | | | | **node_count** | **Integer** | | | | **pod_count** | **Integer** | | | @@ -15,6 +16,7 @@ require 'crimson-falcon' instance = Falcon::K8sassetsClusterEnrichmentData.new( container_count: null, + image_count: null, node_count: null, pod_count: null ) diff --git a/docs/K8sassetsClusterEnrichmentResponse.md b/docs/K8sassetsClusterEnrichmentResponse.md index 5c669cb3..6344822e 100644 --- a/docs/K8sassetsClusterEnrichmentResponse.md +++ b/docs/K8sassetsClusterEnrichmentResponse.md @@ -5,8 +5,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **enrichment_data** | [**Array<K8sassetsClusterEnrichmentEntry>**](K8sassetsClusterEnrichmentEntry.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/K8sassetsContainerEnrichmentResponse.md b/docs/K8sassetsContainerEnrichmentResponse.md index 19e786ba..fefa3a67 100644 --- a/docs/K8sassetsContainerEnrichmentResponse.md +++ b/docs/K8sassetsContainerEnrichmentResponse.md @@ -5,8 +5,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **enrichment_data** | [**Array<K8sassetsContainerEnrichmentEntry>**](K8sassetsContainerEnrichmentEntry.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/K8sassetsDeploymentEnrichmentResponse.md b/docs/K8sassetsDeploymentEnrichmentResponse.md index 1c689ad7..f5469dcb 100644 --- a/docs/K8sassetsDeploymentEnrichmentResponse.md +++ b/docs/K8sassetsDeploymentEnrichmentResponse.md @@ -5,8 +5,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **enrichment_data** | [**Array<K8sassetsDeploymentEnrichmentEntry>**](K8sassetsDeploymentEnrichmentEntry.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/K8sassetsNodeEnrichmentResponse.md b/docs/K8sassetsNodeEnrichmentResponse.md index c0117736..762e9d12 100644 --- a/docs/K8sassetsNodeEnrichmentResponse.md +++ b/docs/K8sassetsNodeEnrichmentResponse.md @@ -5,8 +5,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **enrichment_data** | [**Array<K8sassetsNodeEnrichmentEntry>**](K8sassetsNodeEnrichmentEntry.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/K8sassetsPodEnrichmentResponse.md b/docs/K8sassetsPodEnrichmentResponse.md index aefc53df..a0370f4c 100644 --- a/docs/K8sassetsPodEnrichmentResponse.md +++ b/docs/K8sassetsPodEnrichmentResponse.md @@ -5,8 +5,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **enrichment_data** | [**Array<K8sassetsPodEnrichmentEntry>**](K8sassetsPodEnrichmentEntry.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/K8siomsKubernetesIOMCountValue.md b/docs/K8siomsKubernetesIOMCountValue.md index 327771a3..29c94f12 100644 --- a/docs/K8siomsKubernetesIOMCountValue.md +++ b/docs/K8siomsKubernetesIOMCountValue.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<CommonCountAsResource>**](CommonCountAsResource.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::K8siomsKubernetesIOMCountValue.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/K8siomsKubernetesIOMEntityResponse.md b/docs/K8siomsKubernetesIOMEntityResponse.md index d1835c6d..ccaa08c5 100644 --- a/docs/K8siomsKubernetesIOMEntityResponse.md +++ b/docs/K8siomsKubernetesIOMEntityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIKubernetesIOM>**](ModelsAPIKubernetesIOM.md) | | | ## Example diff --git a/docs/K8siomsKubernetesIOMFieldValue.md b/docs/K8siomsKubernetesIOMFieldValue.md index 159d6d51..58431332 100644 --- a/docs/K8siomsKubernetesIOMFieldValue.md +++ b/docs/K8siomsKubernetesIOMFieldValue.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::K8siomsKubernetesIOMFieldValue.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/K8sregCreateAWSAccResp.md b/docs/K8sregCreateAWSAccResp.md index 3998f2a6..1dd5a603 100644 --- a/docs/K8sregCreateAWSAccResp.md +++ b/docs/K8sregCreateAWSAccResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregAWSAccountResp>**](K8sregAWSAccountResp.md) | | | ## Example diff --git a/docs/K8sregGetAWSAccountsResp.md b/docs/K8sregGetAWSAccountsResp.md index 6f0422de..608c50bc 100644 --- a/docs/K8sregGetAWSAccountsResp.md +++ b/docs/K8sregGetAWSAccountsResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregAWSAccountResp>**](K8sregAWSAccountResp.md) | | | ## Example diff --git a/docs/K8sregGetAzureBashScriptResp.md b/docs/K8sregGetAzureBashScriptResp.md index 518fcba5..12a7095d 100644 --- a/docs/K8sregGetAzureBashScriptResp.md +++ b/docs/K8sregGetAzureBashScriptResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregAzureBashScript>**](K8sregAzureBashScript.md) | | | ## Example diff --git a/docs/K8sregGetAzureSubscriptionsResp.md b/docs/K8sregGetAzureSubscriptionsResp.md index 51007ab6..31d4dc8e 100644 --- a/docs/K8sregGetAzureSubscriptionsResp.md +++ b/docs/K8sregGetAzureSubscriptionsResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregAzureSubscriptionResp>**](K8sregAzureSubscriptionResp.md) | | | ## Example diff --git a/docs/K8sregGetAzureTenantConfigResp.md b/docs/K8sregGetAzureTenantConfigResp.md index 01158dca..e34ca45b 100644 --- a/docs/K8sregGetAzureTenantConfigResp.md +++ b/docs/K8sregGetAzureTenantConfigResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregAzureTenantConfig>**](K8sregAzureTenantConfig.md) | | | ## Example diff --git a/docs/K8sregGetAzureTenantInfoResp.md b/docs/K8sregGetAzureTenantInfoResp.md index b44fe303..f20995f5 100644 --- a/docs/K8sregGetAzureTenantInfoResp.md +++ b/docs/K8sregGetAzureTenantInfoResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregAzureTenantInfo>**](K8sregAzureTenantInfo.md) | | | ## Example diff --git a/docs/K8sregGetClustersResp.md b/docs/K8sregGetClustersResp.md index 730db68e..eba4faa7 100644 --- a/docs/K8sregGetClustersResp.md +++ b/docs/K8sregGetClustersResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregClusterResp>**](K8sregClusterResp.md) | | | ## Example diff --git a/docs/K8sregGetLocationsResp.md b/docs/K8sregGetLocationsResp.md index 7ca57341..219c1fca 100644 --- a/docs/K8sregGetLocationsResp.md +++ b/docs/K8sregGetLocationsResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregLocationResp>**](K8sregLocationResp.md) | | | ## Example diff --git a/docs/K8sregGetScriptsResp.md b/docs/K8sregGetScriptsResp.md index b62df851..0d76d161 100644 --- a/docs/K8sregGetScriptsResp.md +++ b/docs/K8sregGetScriptsResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<Object>** | | | ## Example diff --git a/docs/K8sregListClusterCloudResp.md b/docs/K8sregListClusterCloudResp.md index 7828d6c4..1d28cdef 100644 --- a/docs/K8sregListClusterCloudResp.md +++ b/docs/K8sregListClusterCloudResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregListClusterCloudItemResp>**](K8sregListClusterCloudItemResp.md) | | | ## Example diff --git a/docs/K8sregRegenAPIKeyResp.md b/docs/K8sregRegenAPIKeyResp.md index 7dce2082..f92a97c6 100644 --- a/docs/K8sregRegenAPIKeyResp.md +++ b/docs/K8sregRegenAPIKeyResp.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<K8sregAPIKey>**](K8sregAPIKey.md) | | | ## Example diff --git a/docs/KubernetesProtectionApi.md b/docs/KubernetesProtectionApi.md index cb0a97c9..a0721792 100644 --- a/docs/KubernetesProtectionApi.md +++ b/docs/KubernetesProtectionApi.md @@ -1,6 +1,6 @@ # Falcon::KubernetesProtectionApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -46,6 +46,8 @@ All URIs are relative to *https://api.crowdstrike.com* | [**read_kubernetes_iom_by_date_range**](KubernetesProtectionApi.md#read_kubernetes_iom_by_date_range) | **GET** /container-security/aggregates/kubernetes-ioms/count-by-date/v1 | Returns the count of Kubernetes IOMs by the date. by default it's for 7 days. | | [**read_kubernetes_iom_count**](KubernetesProtectionApi.md#read_kubernetes_iom_count) | **GET** /container-security/aggregates/kubernetes-ioms/count/v1 | Returns the total count of Kubernetes IOMs over the past seven days | | [**read_kubernetes_iom_entities**](KubernetesProtectionApi.md#read_kubernetes_iom_entities) | **GET** /container-security/entities/kubernetes-ioms/v1 | Retrieve Kubernetes IOM entities identified by the provided IDs | +| [**read_namespace_count**](KubernetesProtectionApi.md#read_namespace_count) | **GET** /container-security/aggregates/namespaces/count/v1 | Retrieve namespace counts | +| [**read_namespaces_by_date_range_count**](KubernetesProtectionApi.md#read_namespaces_by_date_range_count) | **GET** /container-security/aggregates/namespaces/count-by-date/v1 | Retrieve namespaces by date range counts | | [**read_node_combined**](KubernetesProtectionApi.md#read_node_combined) | **GET** /container-security/combined/nodes/v1 | Retrieve kubernetes nodes identified by the provided filter criteria | | [**read_node_count**](KubernetesProtectionApi.md#read_node_count) | **GET** /container-security/aggregates/nodes/count/v1 | Retrieve node counts | | [**read_node_enrichment**](KubernetesProtectionApi.md#read_node_enrichment) | **GET** /container-security/aggregates/enrichment/nodes/entities/v1 | Retrieve node enrichment data | @@ -205,7 +207,7 @@ end ## delete_aws_accounts_mixin0 -> delete_aws_accounts_mixin0(ids) +> delete_aws_accounts_mixin0(ids) Delete AWS accounts. @@ -238,7 +240,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> delete_aws_accounts_mixin0_with_http_info(ids) +> , Integer, Hash)> delete_aws_accounts_mixin0_with_http_info(ids) ```ruby begin @@ -246,7 +248,7 @@ begin data, status_code, headers = api_instance.delete_aws_accounts_mixin0_with_http_info(ids) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling KubernetesProtectionApi->delete_aws_accounts_mixin0_with_http_info: #{e}" end @@ -260,7 +262,7 @@ end ### Return type -[**MsaspecMetaInfo**](MsaspecMetaInfo.md) +[**MsaMetaInfo**](MsaMetaInfo.md) ### Authorization @@ -367,7 +369,7 @@ opts = { limit: 56, # Integer | The upper-bound on the number of container records to retrieve. offset: 56, # Integer | It is used to get the offset sort: 'sort_example', # String | Field to sort results by - filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -404,7 +406,7 @@ end | **limit** | **Integer** | The upper-bound on the number of container records to retrieve. | [optional] | | **offset** | **Integer** | It is used to get the offset | [optional] | | **sort** | **String** | Field to sort results by | [optional] | -| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -1024,7 +1026,7 @@ end ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/yaml +- **Accept**: application/yaml, application/json ## get_locations @@ -1185,7 +1187,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -1219,7 +1221,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -1408,7 +1410,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example', # String | Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + filter: 'filter_example', # String | Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. sort: 'sort_example' # String | Field to sort results by @@ -1445,7 +1447,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags | [optional] | +| **filter** | **String** | Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | | **sort** | **String** | Field to sort results by | [optional] | @@ -1485,7 +1487,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + filter: 'filter_example' # String | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags } begin @@ -1519,7 +1521,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags | [optional] | ### Return type @@ -1695,7 +1697,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + filter: 'filter_example' # String | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags } begin @@ -1729,7 +1731,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags | [optional] | ### Return type @@ -1766,7 +1768,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + filter: 'filter_example' # String | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags } begin @@ -1800,7 +1802,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags | [optional] | ### Return type @@ -1837,7 +1839,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example', # String | Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example', # String | Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. sort: 'sort_example' # String | Field to sort results by @@ -1874,7 +1876,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | | **sort** | **String** | Field to sort results by | [optional] | @@ -1914,7 +1916,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -1948,7 +1950,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -2131,7 +2133,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -2165,7 +2167,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -2202,7 +2204,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -2236,7 +2238,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -2344,7 +2346,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -2378,7 +2380,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -2415,7 +2417,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -2449,7 +2451,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -2486,7 +2488,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -2520,7 +2522,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -2557,7 +2559,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example', # String | Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count + filter: 'filter_example', # String | Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. sort: 'sort_example' # String | Field to sort results by @@ -2594,7 +2596,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count | [optional] | +| **filter** | **String** | Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | | **sort** | **String** | Field to sort results by | [optional] | @@ -2634,7 +2636,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count + filter: 'filter_example' # String | Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status } begin @@ -2668,7 +2670,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status | [optional] | ### Return type @@ -2844,7 +2846,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -2878,7 +2880,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -2915,7 +2917,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity + filter: 'filter_example' # String | Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity } begin @@ -2949,7 +2951,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity | [optional] | +| **filter** | **String** | Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity | [optional] | ### Return type @@ -2986,7 +2988,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity + filter: 'filter_example' # String | Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity } begin @@ -3020,7 +3022,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity | [optional] | +| **filter** | **String** | Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity | [optional] | ### Return type @@ -3107,6 +3109,143 @@ end - **Accept**: application/json +## read_namespace_count + +> read_namespace_count(opts) + +Retrieve namespace counts + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::KubernetesProtectionApi.new +opts = { + filter: 'filter_example' # String | Retrieve count of Kubernetes namespaces that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,first_seen,kac_agent_id,last_seen,namespace_id,namespace_name,resource_status +} + +begin + # Retrieve namespace counts + result = api_instance.read_namespace_count(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling KubernetesProtectionApi->read_namespace_count: #{e}" +end +``` + +#### Using the read_namespace_count_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> read_namespace_count_with_http_info(opts) + +```ruby +begin + # Retrieve namespace counts + data, status_code, headers = api_instance.read_namespace_count_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling KubernetesProtectionApi->read_namespace_count_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Retrieve count of Kubernetes namespaces that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,first_seen,kac_agent_id,last_seen,namespace_id,namespace_name,resource_status | [optional] | + +### Return type + +[**CommonCountResponse**](CommonCountResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## read_namespaces_by_date_range_count + +> read_namespaces_by_date_range_count + +Retrieve namespaces by date range counts + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::KubernetesProtectionApi.new + +begin + # Retrieve namespaces by date range counts + result = api_instance.read_namespaces_by_date_range_count + p result +rescue Falcon::ApiError => e + puts "Error when calling KubernetesProtectionApi->read_namespaces_by_date_range_count: #{e}" +end +``` + +#### Using the read_namespaces_by_date_range_count_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> read_namespaces_by_date_range_count_with_http_info + +```ruby +begin + # Retrieve namespaces by date range counts + data, status_code, headers = api_instance.read_namespaces_by_date_range_count_with_http_info + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling KubernetesProtectionApi->read_namespaces_by_date_range_count_with_http_info: #{e}" +end +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +[**ModelsAggregateValuesByFieldResponse**](ModelsAggregateValuesByFieldResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## read_node_combined > read_node_combined(opts) @@ -3128,7 +3267,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example', # String | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + filter: 'filter_example', # String | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. sort: 'sort_example' # String | Field to sort results by @@ -3165,7 +3304,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count | [optional] | +| **filter** | **String** | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | | **sort** | **String** | Field to sort results by | [optional] | @@ -3205,7 +3344,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + filter: 'filter_example' # String | Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status } begin @@ -3239,7 +3378,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status | [optional] | ### Return type @@ -3349,7 +3488,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + filter: 'filter_example' # String | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status } begin @@ -3383,7 +3522,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count | [optional] | +| **filter** | **String** | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status | [optional] | ### Return type @@ -3420,7 +3559,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + filter: 'filter_example' # String | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status } begin @@ -3454,7 +3593,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count | [optional] | +| **filter** | **String** | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status | [optional] | ### Return type @@ -3491,7 +3630,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + filter: 'filter_example' # String | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status } begin @@ -3525,7 +3664,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count | [optional] | +| **filter** | **String** | Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status | [optional] | ### Return type @@ -3562,7 +3701,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example', # String | Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user + filter: 'filter_example', # String | Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. sort: 'sort_example' # String | Field to sort results by @@ -3599,7 +3738,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user | [optional] | +| **filter** | **String** | Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | | **sort** | **String** | Field to sort results by | [optional] | @@ -3639,7 +3778,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user + filter: 'filter_example' # String | Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user } begin @@ -3673,7 +3812,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user | [optional] | ### Return type @@ -3849,7 +3988,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example', # String | Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status + filter: 'filter_example', # String | Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,cluster_id,cluster_name,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. sort: 'sort_example' # String | Field to sort results by @@ -3886,7 +4025,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status | [optional] | +| **filter** | **String** | Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,cluster_id,cluster_name,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | | **sort** | **String** | Field to sort results by | [optional] | @@ -3926,7 +4065,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + filter: 'filter_example' # String | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status } begin @@ -3960,7 +4099,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | +| **filter** | **String** | Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status | [optional] | ### Return type @@ -4063,7 +4202,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example', # String | Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity + filter: 'filter_example', # String | Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. sort: 'sort_example' # String | The fields to sort the records on. @@ -4100,7 +4239,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity | [optional] | +| **filter** | **String** | Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | | **sort** | **String** | The fields to sort the records on. | [optional] | @@ -4140,7 +4279,7 @@ end api_instance = Falcon::KubernetesProtectionApi.new opts = { - filter: 'filter_example', # String | Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity + filter: 'filter_example', # String | Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity limit: 56, # Integer | The upper-bound on the number of records to retrieve. offset: 56, # Integer | The offset from where to begin. sort: 'sort_example' # String | The fields to sort the records on. @@ -4177,7 +4316,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **filter** | **String** | Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity | [optional] | +| **filter** | **String** | Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity | [optional] | | **limit** | **Integer** | The upper-bound on the number of records to retrieve. | [optional] | | **offset** | **Integer** | The offset from where to begin. | [optional] | | **sort** | **String** | The fields to sort the records on. | [optional] | diff --git a/docs/MainDiscoveryResponseV2.md b/docs/MainDiscoveryResponseV2.md index e14fb87c..395428a5 100644 --- a/docs/MainDiscoveryResponseV2.md +++ b/docs/MainDiscoveryResponseV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<MainAvailableStreamV2>**](MainAvailableStreamV2.md) | | | ## Example diff --git a/docs/MalqueryApi.md b/docs/MalqueryApi.md index 9c5b9e64..ee631302 100644 --- a/docs/MalqueryApi.md +++ b/docs/MalqueryApi.md @@ -1,6 +1,6 @@ # Falcon::MalqueryApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/MalqueryFuzzySearchMetaInfo.md b/docs/MalqueryFuzzySearchMetaInfo.md index 57eb4b8b..6a549a6a 100644 --- a/docs/MalqueryFuzzySearchMetaInfo.md +++ b/docs/MalqueryFuzzySearchMetaInfo.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **pagination** | [**MsaspecPaging**](MsaspecPaging.md) | | [optional] | +| **pagination** | [**MsaPaging**](MsaPaging.md) | | [optional] | | **powered_by** | **String** | | [optional] | | **query_time** | **Float** | Elapsed time since the request started in seconds | [optional] | | **reqid** | **String** | Request ID returned after creating a hunt or exact search | [optional] | diff --git a/docs/MalqueryQueryMetaInfo.md b/docs/MalqueryQueryMetaInfo.md index 87d4e6e2..e8c4b1e3 100644 --- a/docs/MalqueryQueryMetaInfo.md +++ b/docs/MalqueryQueryMetaInfo.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **pagination** | [**MsaspecPaging**](MsaspecPaging.md) | | [optional] | +| **pagination** | [**MsaPaging**](MsaPaging.md) | | [optional] | | **powered_by** | **String** | | [optional] | | **query_time** | **Float** | Elapsed time since the request started in seconds | [optional] | | **reqid** | **String** | Request ID returned after creating a hunt or exact search | [optional] | diff --git a/docs/MalqueryRateLimitsResponse.md b/docs/MalqueryRateLimitsResponse.md index aa24c513..72a0b8cd 100644 --- a/docs/MalqueryRateLimitsResponse.md +++ b/docs/MalqueryRateLimitsResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**MalqueryRateLimitsMeta**](MalqueryRateLimitsMeta.md) | | | ## Example diff --git a/docs/MalqueryRequestMetaInfo.md b/docs/MalqueryRequestMetaInfo.md index d56c6067..1f5064eb 100644 --- a/docs/MalqueryRequestMetaInfo.md +++ b/docs/MalqueryRequestMetaInfo.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **options** | [**MalqueryExternalHuntOptions**](MalqueryExternalHuntOptions.md) | | [optional] | -| **pagination** | [**MsaspecPaging**](MsaspecPaging.md) | | [optional] | +| **pagination** | [**MsaPaging**](MsaPaging.md) | | [optional] | | **patterns** | [**Array<MalquerySearchParameter>**](MalquerySearchParameter.md) | Patterns to search for | [optional] | | **powered_by** | **String** | | [optional] | | **query_time** | **Float** | Elapsed time since the request started in seconds | [optional] | diff --git a/docs/MalquerySamplesMetadataMetaInfo.md b/docs/MalquerySamplesMetadataMetaInfo.md index 9ecc3da1..1ce09512 100644 --- a/docs/MalquerySamplesMetadataMetaInfo.md +++ b/docs/MalquerySamplesMetadataMetaInfo.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **pagination** | [**MsaspecPaging**](MsaspecPaging.md) | | [optional] | +| **pagination** | [**MsaPaging**](MsaPaging.md) | | [optional] | | **powered_by** | **String** | | [optional] | | **query_time** | **Float** | | [optional] | | **status** | **String** | | [optional] | diff --git a/docs/MessageCenterApi.md b/docs/MessageCenterApi.md index 472e1c21..992d6c28 100644 --- a/docs/MessageCenterApi.md +++ b/docs/MessageCenterApi.md @@ -1,6 +1,6 @@ # Falcon::MessageCenterApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -387,7 +387,7 @@ Falcon.configure do |config| end api_instance = Falcon::MessageCenterApi.new -body = Falcon::DomainCaseCreationRequestV2.new({body: 'body_example', detections: [Falcon::MessagesAlert.new({id: 'id_example', product: 'product_example', url: 'url_example'})], incidents: [Falcon::MessagesIncident.new({id: 'id_example', url: 'url_example'})], title: 'title_example', type: 'type_example'}) # DomainCaseCreationRequestV2 | +body = Falcon::DomainCaseCreationRequestV2.new({body: 'body_example', detections: [Falcon::MessagesAlert.new({id: 'id_example', product: 'product_example', url: 'url_example'})], incidents: [Falcon::MessagesIncident.new({id: 'id_example', url: 'url_example'})], malware_submission_id: 'malware_submission_id_example', recon_rule_type: 'recon_rule_type_example', title: 'title_example', type: 'type_example'}) # DomainCaseCreationRequestV2 | begin # create a new case @@ -597,7 +597,7 @@ api_instance = Falcon::MessageCenterApi.new case_id = 'case_id_example' # String | Case ID opts = { limit: 56, # Integer | The maximum records to return. [1-500] - sort: 'activity.type.asc', # String | The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". + sort: 'activity.created_time.asc', # String | The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". filter: 'filter_example', # String | Optional filter and sort criteria in the form of an FQL query. Allowed filters are: activity.created_time activity.type offset: 'offset_example' # String | Starting index of overall result set from which to return ids. } diff --git a/docs/MessagesCase.md b/docs/MessagesCase.md index 05ad998f..439c3e6e 100644 --- a/docs/MessagesCase.md +++ b/docs/MessagesCase.md @@ -17,6 +17,9 @@ | **ip_addresses** | **Array<String>** | | | | **key** | **String** | | | | **last_modified_time** | **String** | | | +| **malware_submission_id** | **String** | | | +| **malware_submission_url** | **String** | | | +| **recon_rule_type** | **String** | | | | **status** | **String** | | | | **title** | **String** | | | | **type** | **String** | | | @@ -40,6 +43,9 @@ instance = Falcon::MessagesCase.new( ip_addresses: null, key: null, last_modified_time: null, + malware_submission_id: null, + malware_submission_url: null, + recon_rule_type: null, status: null, title: null, type: null diff --git a/docs/MlExclusionsApi.md b/docs/MlExclusionsApi.md index 13615d77..60f95c8b 100644 --- a/docs/MlExclusionsApi.md +++ b/docs/MlExclusionsApi.md @@ -1,6 +1,6 @@ # Falcon::MlExclusionsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/MlscannerapiMetaInfo.md b/docs/MlscannerapiMetaInfo.md index e99a1dac..08a2b313 100644 --- a/docs/MlscannerapiMetaInfo.md +++ b/docs/MlscannerapiMetaInfo.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **pagination** | [**MsaspecPaging**](MsaspecPaging.md) | | [optional] | +| **pagination** | [**MsaPaging**](MsaPaging.md) | | [optional] | | **powered_by** | **String** | | [optional] | | **query_time** | **Float** | | | | **quota** | [**MlscannerapiQuota**](MlscannerapiQuota.md) | | [optional] | diff --git a/docs/MlscannerapiQueryResponse.md b/docs/MlscannerapiQueryResponse.md index e55af599..52eee2eb 100644 --- a/docs/MlscannerapiQueryResponse.md +++ b/docs/MlscannerapiQueryResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**MlscannerapiMetaInfo**](MlscannerapiMetaInfo.md) | | | | **resources** | **Array<String>** | | | diff --git a/docs/MlscannerapiScanV1Response.md b/docs/MlscannerapiScanV1Response.md index 40aaf103..8f94f893 100644 --- a/docs/MlscannerapiScanV1Response.md +++ b/docs/MlscannerapiScanV1Response.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**MlscannerapiMetaInfo**](MlscannerapiMetaInfo.md) | | | | **resources** | [**Array<MlscannerapiSamplesScanResult>**](MlscannerapiSamplesScanResult.md) | | | diff --git a/docs/MobileEnrollmentApi.md b/docs/MobileEnrollmentApi.md index 9bd7cc0a..a5c1de6c 100644 --- a/docs/MobileEnrollmentApi.md +++ b/docs/MobileEnrollmentApi.md @@ -1,10 +1,11 @@ # Falcon::MobileEnrollmentApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | | [**request_device_enrollment_v3**](MobileEnrollmentApi.md#request_device_enrollment_v3) | **POST** /enrollments/entities/details/v3 | Trigger on-boarding process for a mobile device | +| [**request_device_enrollment_v4**](MobileEnrollmentApi.md#request_device_enrollment_v4) | **POST** /enrollments/entities/details/v4 | Trigger on-boarding process for a mobile device | ## request_device_enrollment_v3 @@ -81,3 +82,78 @@ end - **Content-Type**: application/json - **Accept**: application/json + +## request_device_enrollment_v4 + +> request_device_enrollment_v4(body, opts) + +Trigger on-boarding process for a mobile device + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::MobileEnrollmentApi.new +body = Falcon::ApiPostEnrollmentDetailsV4.new({email_addresses: ['email_addresses_example'], enrollment_type: 'enrollment_type_example', expires_at: Time.now}) # ApiPostEnrollmentDetailsV4 | +opts = { + action_name: 'enroll', # String | Action to perform + filter: 'filter_example' # String | FQL filter +} + +begin + # Trigger on-boarding process for a mobile device + result = api_instance.request_device_enrollment_v4(body, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling MobileEnrollmentApi->request_device_enrollment_v4: #{e}" +end +``` + +#### Using the request_device_enrollment_v4_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> request_device_enrollment_v4_with_http_info(body, opts) + +```ruby +begin + # Trigger on-boarding process for a mobile device + data, status_code, headers = api_instance.request_device_enrollment_v4_with_http_info(body, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling MobileEnrollmentApi->request_device_enrollment_v4_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ApiPostEnrollmentDetailsV4**](ApiPostEnrollmentDetailsV4.md) | | | +| **action_name** | **String** | Action to perform | [optional] | +| **filter** | **String** | FQL filter | [optional] | + +### Return type + +[**ApiPostEnrollmentDetailsResponse**](ApiPostEnrollmentDetailsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + diff --git a/docs/ModelUserInputReadResponse.md b/docs/ModelUserInputReadResponse.md index 5eb8a2a8..698fa609 100644 --- a/docs/ModelUserInputReadResponse.md +++ b/docs/ModelUserInputReadResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelUserInputViewModel>**](ModelUserInputViewModel.md) | user inputs returned | | ## Example diff --git a/docs/ModelsAPICustomerAndImage.md b/docs/ModelsAPICustomerAndImage.md index 243f8970..139c6670 100644 --- a/docs/ModelsAPICustomerAndImage.md +++ b/docs/ModelsAPICustomerAndImage.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **base_image_id** | **String** | | [optional] | | **base_os** | **String** | | | | **base_os_version** | **String** | | | | **cid** | **String** | | | @@ -16,11 +17,15 @@ | **image_id** | **String** | | | | **image_scanning_active** | **Boolean** | | | | **image_size** | **Integer** | | | +| **is_base_image** | **Boolean** | | | | **registry** | **String** | | | | **repository** | **String** | | | +| **source** | **String** | | | +| **source_base_image** | [**ModelsImageDetails**](ModelsImageDetails.md) | | | | **tag** | **String** | | | | **updated_at** | **String** | | | | **uuid** | **String** | | | +| **warning** | **Integer** | | | ## Example @@ -28,6 +33,7 @@ require 'crimson-falcon' instance = Falcon::ModelsAPICustomerAndImage.new( + base_image_id: null, base_os: null, base_os_version: null, cid: null, @@ -40,11 +46,15 @@ instance = Falcon::ModelsAPICustomerAndImage.new( image_id: null, image_scanning_active: null, image_size: null, + is_base_image: null, registry: null, repository: null, + source: null, + source_base_image: null, tag: null, updated_at: null, - uuid: null + uuid: null, + warning: null ) ``` diff --git a/docs/ModelsAPIImageCombinedExport.md b/docs/ModelsAPIImageCombinedExport.md index 6f8ae862..216ee923 100644 --- a/docs/ModelsAPIImageCombinedExport.md +++ b/docs/ModelsAPIImageCombinedExport.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **architecture** | **String** | | | | **base_os** | **String** | | | | **cid** | **String** | | | | **cve_id** | **String** | | | @@ -14,10 +15,12 @@ | **first_seen** | **String** | | | | **image_digest** | **String** | | | | **image_id** | **String** | | | +| **is_base_image** | **Boolean** | | | | **last_seen** | **String** | | | | **packages_impacted** | **Integer** | | | | **registry** | **String** | | | | **repository** | **String** | | | +| **source** | **String** | | | | **started_containers** | **Integer** | | | | **stopped_containers** | **Integer** | | | | **tag** | **String** | | | @@ -31,6 +34,7 @@ require 'crimson-falcon' instance = Falcon::ModelsAPIImageCombinedExport.new( + architecture: null, base_os: null, cid: null, cve_id: null, @@ -41,10 +45,12 @@ instance = Falcon::ModelsAPIImageCombinedExport.new( first_seen: null, image_digest: null, image_id: null, + is_base_image: null, last_seen: null, packages_impacted: null, registry: null, repository: null, + source: null, started_containers: null, stopped_containers: null, tag: null, diff --git a/docs/ModelsAWSAccountsV1.md b/docs/ModelsAWSAccountsV1.md index 77fd5607..50348008 100644 --- a/docs/ModelsAWSAccountsV1.md +++ b/docs/ModelsAWSAccountsV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAWSAccountV1>**](ModelsAWSAccountV1.md) | | | ## Example diff --git a/docs/ModelsAccountStatusResponse.md b/docs/ModelsAccountStatusResponse.md index f7f02425..90020c38 100644 --- a/docs/ModelsAccountStatusResponse.md +++ b/docs/ModelsAccountStatusResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsSnapshotAccountStatus>**](ModelsSnapshotAccountStatus.md) | | | ## Example diff --git a/docs/ModelsAggregateValuesByFieldResponse.md b/docs/ModelsAggregateValuesByFieldResponse.md index afdfebcc..9c4b5b45 100644 --- a/docs/ModelsAggregateValuesByFieldResponse.md +++ b/docs/ModelsAggregateValuesByFieldResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | ## Example diff --git a/docs/ModelsApplicationPackageInfoType.md b/docs/ModelsApplicationPackageInfoType.md index 3d98e741..5c023d99 100644 --- a/docs/ModelsApplicationPackageInfoType.md +++ b/docs/ModelsApplicationPackageInfoType.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **libraries** | [**Array<ModelsApplicationLibrary>**](ModelsApplicationLibrary.md) | | | -| **type** | **String** | | | +| **type** | **Integer** | | | ## Example diff --git a/docs/ModelsBaseImageRequest.md b/docs/ModelsBaseImageRequest.md new file mode 100644 index 00000000..1bf21c1f --- /dev/null +++ b/docs/ModelsBaseImageRequest.md @@ -0,0 +1,26 @@ +# Falcon::ModelsBaseImageRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **image_digest** | **String** | | [optional] | +| **image_id** | **String** | | [optional] | +| **registry** | **String** | | [optional] | +| **repository** | **String** | | [optional] | +| **tag** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsBaseImageRequest.new( + image_digest: null, + image_id: null, + registry: null, + repository: null, + tag: null +) +``` + diff --git a/docs/ModelsBaseResponseV1.md b/docs/ModelsBaseResponseV1.md index 736feb12..3156a0e1 100644 --- a/docs/ModelsBaseResponseV1.md +++ b/docs/ModelsBaseResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/ModelsCluster.md b/docs/ModelsCluster.md index 5dbf054b..40c6f69f 100644 --- a/docs/ModelsCluster.md +++ b/docs/ModelsCluster.md @@ -11,12 +11,15 @@ | **cloud_account_id** | **String** | | | | **cloud_name** | **String** | | | | **cloud_region** | **String** | | | +| **cloud_service** | **String** | | | | **cluster_id** | **String** | | | | **cluster_name** | **String** | | | | **cluster_security_group** | **String** | | | | **cluster_status** | **String** | | | | **container_count** | **Integer** | | | | **first_seen** | **String** | | | +| **iar_coverage** | **Boolean** | | | +| **kac_agent_id** | **String** | | | | **kubernetes_version** | **String** | | | | **labels_list** | **Array<String>** | | | | **last_seen** | **String** | | | @@ -40,12 +43,15 @@ instance = Falcon::ModelsCluster.new( cloud_account_id: null, cloud_name: null, cloud_region: null, + cloud_service: null, cluster_id: null, cluster_name: null, cluster_security_group: null, cluster_status: null, container_count: null, first_seen: null, + iar_coverage: null, + kac_agent_id: null, kubernetes_version: null, labels_list: null, last_seen: null, diff --git a/docs/ModelsClusterEntityResponse.md b/docs/ModelsClusterEntityResponse.md index 6195fe71..3a59913d 100644 --- a/docs/ModelsClusterEntityResponse.md +++ b/docs/ModelsClusterEntityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsCluster>**](ModelsCluster.md) | | | ## Example diff --git a/docs/ModelsClusterInfo.md b/docs/ModelsClusterInfo.md new file mode 100644 index 00000000..f33cd0bc --- /dev/null +++ b/docs/ModelsClusterInfo.md @@ -0,0 +1,28 @@ +# Falcon::ModelsClusterInfo + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cloud** | **String** | | [optional] | +| **cloud_account_id** | **String** | | [optional] | +| **cloud_region** | **String** | | [optional] | +| **cloud_service** | **String** | | [optional] | +| **cluster_id** | **String** | | [optional] | +| **cluster_name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsClusterInfo.new( + cloud: null, + cloud_account_id: null, + cloud_region: null, + cloud_service: null, + cluster_id: null, + cluster_name: null +) +``` + diff --git a/docs/ModelsClusterWithFailedRules.md b/docs/ModelsClusterWithFailedRules.md new file mode 100644 index 00000000..7cbfc59e --- /dev/null +++ b/docs/ModelsClusterWithFailedRules.md @@ -0,0 +1,28 @@ +# Falcon::ModelsClusterWithFailedRules + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **_1** | **Integer** | | | +| **_2** | **Integer** | | | +| **_3** | **Integer** | | | +| **_4** | **Integer** | | | +| **cluster_id** | **String** | | | +| **cluster_name** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsClusterWithFailedRules.new( + _1: null, + _2: null, + _3: null, + _4: null, + cluster_id: null, + cluster_name: null +) +``` + diff --git a/docs/ModelsComplianceByRules.md b/docs/ModelsComplianceByRules.md new file mode 100644 index 00000000..97fcbed5 --- /dev/null +++ b/docs/ModelsComplianceByRules.md @@ -0,0 +1,22 @@ +# Falcon::ModelsComplianceByRules + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **not_applicable_filters** | **String** | | | +| **percentage_of_passed_rules** | **Float** | | | +| **rule_status_list** | [**Array<ModelsRuleStatus>**](ModelsRuleStatus.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsComplianceByRules.new( + not_applicable_filters: null, + percentage_of_passed_rules: null, + rule_status_list: null +) +``` + diff --git a/docs/ModelsComplianceExportGroupedByClustersReport.md b/docs/ModelsComplianceExportGroupedByClustersReport.md new file mode 100644 index 00000000..877896e8 --- /dev/null +++ b/docs/ModelsComplianceExportGroupedByClustersReport.md @@ -0,0 +1,46 @@ +# Falcon::ModelsComplianceExportGroupedByClustersReport + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cid** | **String** | | | +| **cloud_account_id** | **String** | | | +| **cloud_provider** | **String** | | | +| **cloud_region** | **String** | | | +| **cluster_name** | **String** | | | +| **failed_critical_rules** | **Integer** | | | +| **failed_high_rules** | **Integer** | | | +| **failed_rules** | **Integer** | | | +| **failed_rules_list** | **String** | | | +| **non_compliant_containers** | **Integer** | | | +| **non_compliant_images** | **Integer** | | | +| **passed_rules** | **Integer** | | | +| **percentage_of_compliant_assets** | **Float** | | | +| **total_containers** | **Integer** | | | +| **total_images** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsComplianceExportGroupedByClustersReport.new( + cid: null, + cloud_account_id: null, + cloud_provider: null, + cloud_region: null, + cluster_name: null, + failed_critical_rules: null, + failed_high_rules: null, + failed_rules: null, + failed_rules_list: null, + non_compliant_containers: null, + non_compliant_images: null, + passed_rules: null, + percentage_of_compliant_assets: null, + total_containers: null, + total_images: null +) +``` + diff --git a/docs/ModelsComplianceExportGroupedByImagesReport.md b/docs/ModelsComplianceExportGroupedByImagesReport.md new file mode 100644 index 00000000..7578c416 --- /dev/null +++ b/docs/ModelsComplianceExportGroupedByImagesReport.md @@ -0,0 +1,38 @@ +# Falcon::ModelsComplianceExportGroupedByImagesReport + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **authority** | **String** | | | +| **cid** | **String** | | | +| **image_digest** | **String** | | | +| **image_id** | **String** | | | +| **image_registry** | **String** | | | +| **image_repository** | **String** | | | +| **image_tag** | **String** | | | +| **name** | **String** | | | +| **recommendation_id** | **String** | | | +| **severity** | **Integer** | | | +| **status** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsComplianceExportGroupedByImagesReport.new( + authority: null, + cid: null, + image_digest: null, + image_id: null, + image_registry: null, + image_repository: null, + image_tag: null, + name: null, + recommendation_id: null, + severity: null, + status: null +) +``` + diff --git a/docs/ModelsComplianceExportGroupedByRulesReport.md b/docs/ModelsComplianceExportGroupedByRulesReport.md new file mode 100644 index 00000000..530b680b --- /dev/null +++ b/docs/ModelsComplianceExportGroupedByRulesReport.md @@ -0,0 +1,42 @@ +# Falcon::ModelsComplianceExportGroupedByRulesReport + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **asset_type** | **String** | | | +| **authority** | **String** | | | +| **clusters** | **Integer** | | | +| **clusters_list** | **String** | | | +| **failed_containers** | **Integer** | | | +| **failed_images** | **Integer** | | | +| **name** | **String** | | | +| **passed_containers** | **Integer** | | | +| **passed_images** | **Integer** | | | +| **rule_id** | **String** | | | +| **severity** | **Float** | | | +| **total_containers** | **Integer** | | | +| **total_images** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsComplianceExportGroupedByRulesReport.new( + asset_type: null, + authority: null, + clusters: null, + clusters_list: null, + failed_containers: null, + failed_images: null, + name: null, + passed_containers: null, + passed_images: null, + rule_id: null, + severity: null, + total_containers: null, + total_images: null +) +``` + diff --git a/docs/ModelsContainer.md b/docs/ModelsContainer.md index ef8f96a1..31ffceae 100644 --- a/docs/ModelsContainer.md +++ b/docs/ModelsContainer.md @@ -4,70 +4,54 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **agents** | **Array<Hash>** | | [optional] | -| **allow_privilege_escalation** | **Boolean** | | [optional] | +| **agents** | **Array<Hash>** | | | +| **allow_privilege_escalation** | **Boolean** | | | | **cid** | **String** | | | -| **cloud** | **String** | | [optional] | -| **cloud_account_id** | **String** | | [optional] | -| **cloud_region** | **String** | | [optional] | -| **cluster_id** | **String** | | [optional] | -| **cluster_name** | **String** | | [optional] | -| **config_labels** | **String** | | [optional] | -| **config_user** | **String** | | [optional] | -| **container_image_id** | **String** | | [optional] | -| **created_at** | **Integer** | | [optional] | -| **cve_ids** | **Array<String>** | | [optional] | -| **first_seen** | **Integer** | | [optional] | -| **host_config_devices** | **String** | | [optional] | -| **id** | **String** | | | -| **image_application_package_count** | **Integer** | | [optional] | -| **image_assessed_at** | **Integer** | | [optional] | -| **image_detection_count** | **Integer** | | [optional] | -| **image_detection_id_list** | **Array<String>** | | [optional] | -| **image_detection_name_list** | **Array<String>** | | [optional] | -| **image_detection_severity_by_type** | **Hash<String, Integer>** | | [optional] | -| **image_digest** | **String** | | [optional] | -| **image_has_been_assessed** | **Boolean** | | [optional] | -| **image_highest_severity_vulnerability** | **String** | | [optional] | -| **image_id** | **String** | | [optional] | -| **image_package_count** | **Integer** | | [optional] | -| **image_registry** | **String** | | [optional] | -| **image_repo** | **String** | | [optional] | -| **image_tag** | **String** | | [optional] | -| **image_vulnerability_count** | **Integer** | | [optional] | -| **image_vulnerability_severity_by_type** | **Hash<String, Integer>** | | [optional] | -| **insecure_mount_source** | **String** | | [optional] | -| **insecure_mount_type** | **String** | | [optional] | -| **insecure_propagation_mode** | **Boolean** | | [optional] | -| **interactive_mode** | **Boolean** | | [optional] | -| **ipv4** | **String** | | [optional] | -| **ipv6** | **String** | | [optional] | -| **kpa_coverage** | **Boolean** | | [optional] | -| **labels** | **Hash<String, String>** | | [optional] | -| **labels_list** | **Array<String>** | | [optional] | -| **last_seen** | **Integer** | | [optional] | -| **linux_sensor_aid** | **String** | | [optional] | -| **linux_sensor_config_build** | **String** | | [optional] | -| **linux_sensor_coverage** | **Boolean** | | [optional] | -| **lumos_sensor_aid** | **String** | | [optional] | -| **lumos_sensor_config_build** | **String** | | [optional] | -| **lumos_sensor_coverage** | **Boolean** | | [optional] | -| **name** | **String** | | [optional] | -| **namespace** | **String** | | [optional] | -| **node_id** | **String** | | [optional] | -| **node_name** | **String** | | [optional] | -| **pod_id** | **String** | | [optional] | -| **pod_name** | **String** | | [optional] | -| **port_list** | **Array<Hash>** | | [optional] | -| **privileged** | **Boolean** | | [optional] | -| **root_write_access** | **Boolean** | | [optional] | -| **rpd** | **Array<Integer>** | | [optional] | -| **run_as_root_group** | **Boolean** | | [optional] | -| **run_as_root_user** | **Boolean** | | [optional] | -| **running_status** | **Boolean** | | [optional] | -| **snapshot_coverage** | **Boolean** | | [optional] | -| **unidentified** | **Boolean** | | [optional] | -| **volume_mounts** | **String** | | [optional] | +| **cloud_account_id** | **String** | | | +| **cloud_name** | **String** | | | +| **cloud_region** | **String** | | | +| **cloud_service** | **String** | | | +| **cluster_id** | **String** | | | +| **cluster_name** | **String** | | | +| **config_labels** | **String** | | | +| **container_id** | **String** | | | +| **container_name** | **String** | | | +| **created_at** | **String** | | | +| **first_seen** | **String** | | | +| **image_application_package_count** | **Integer** | | | +| **image_assessed_at** | **Integer** | | | +| **image_detection_count** | **Integer** | | | +| **image_digest** | **String** | | | +| **image_has_been_assessed** | **Boolean** | | | +| **image_highest_severity_vulnerability** | **String** | | | +| **image_id** | **String** | | | +| **image_package_count** | **Integer** | | | +| **image_registry** | **String** | | | +| **image_repository** | **String** | | | +| **image_tag** | **String** | | | +| **image_vulnerability_count** | **Integer** | | | +| **insecure_mount_source** | **String** | | | +| **insecure_mount_type** | **String** | | | +| **insecure_propagation_mode** | **Boolean** | | | +| **interactive_mode** | **Boolean** | | | +| **ipv4** | **String** | | | +| **ipv6** | **String** | | | +| **kac_agent_id** | **String** | | | +| **labels** | **Hash<String, String>** | | | +| **labels_list** | **Array<String>** | | | +| **last_seen** | **String** | | | +| **namespace** | **String** | | | +| **node_name** | **String** | | | +| **node_uid** | **String** | | | +| **pod_id** | **String** | | | +| **pod_name** | **String** | | | +| **ports** | **Array<Hash>** | | | +| **privileged** | **Boolean** | | | +| **root_write_access** | **Boolean** | | | +| **run_as_root_group** | **Boolean** | | | +| **run_as_root_user** | **Boolean** | | | +| **running_status** | **Boolean** | | | +| **volume_mounts** | **String** | | | ## Example @@ -78,66 +62,50 @@ instance = Falcon::ModelsContainer.new( agents: null, allow_privilege_escalation: null, cid: null, - cloud: null, cloud_account_id: null, + cloud_name: null, cloud_region: null, + cloud_service: null, cluster_id: null, cluster_name: null, config_labels: null, - config_user: null, - container_image_id: null, + container_id: null, + container_name: null, created_at: null, - cve_ids: null, first_seen: null, - host_config_devices: null, - id: null, image_application_package_count: null, image_assessed_at: null, image_detection_count: null, - image_detection_id_list: null, - image_detection_name_list: null, - image_detection_severity_by_type: null, image_digest: null, image_has_been_assessed: null, image_highest_severity_vulnerability: null, image_id: null, image_package_count: null, image_registry: null, - image_repo: null, + image_repository: null, image_tag: null, image_vulnerability_count: null, - image_vulnerability_severity_by_type: null, insecure_mount_source: null, insecure_mount_type: null, insecure_propagation_mode: null, interactive_mode: null, ipv4: null, ipv6: null, - kpa_coverage: null, + kac_agent_id: null, labels: null, labels_list: null, last_seen: null, - linux_sensor_aid: null, - linux_sensor_config_build: null, - linux_sensor_coverage: null, - lumos_sensor_aid: null, - lumos_sensor_config_build: null, - lumos_sensor_coverage: null, - name: null, namespace: null, - node_id: null, node_name: null, + node_uid: null, pod_id: null, pod_name: null, - port_list: null, + ports: null, privileged: null, root_write_access: null, - rpd: null, run_as_root_group: null, run_as_root_user: null, running_status: null, - snapshot_coverage: null, - unidentified: null, volume_mounts: null ) ``` diff --git a/docs/ModelsContainerCoverageResponseEntity.md b/docs/ModelsContainerCoverageResponseEntity.md index 47b88943..44791d5b 100644 --- a/docs/ModelsContainerCoverageResponseEntity.md +++ b/docs/ModelsContainerCoverageResponseEntity.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsContainerCoverage>**](ModelsContainerCoverage.md) | | | ## Example diff --git a/docs/ModelsContainerEntityResponse.md b/docs/ModelsContainerEntityResponse.md index 98794a78..423899db 100644 --- a/docs/ModelsContainerEntityResponse.md +++ b/docs/ModelsContainerEntityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsContainer>**](ModelsContainer.md) | | | ## Example diff --git a/docs/ModelsContainerImage.md b/docs/ModelsContainerImage.md index 4c076df0..462b3a5e 100644 --- a/docs/ModelsContainerImage.md +++ b/docs/ModelsContainerImage.md @@ -5,6 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **cid** | **String** | | | +| **cluster_info** | [**Array<ModelsClusterInfo>**](ModelsClusterInfo.md) | | | | **container_count** | **Integer** | | | | **containers_running_status** | **Hash<String, Boolean>** | | | | **hosts** | **Array<String>** | | | @@ -28,6 +29,7 @@ require 'crimson-falcon' instance = Falcon::ModelsContainerImage.new( cid: null, + cluster_info: null, container_count: null, containers_running_status: null, hosts: null, diff --git a/docs/ModelsContainerRuntimePivotResponse.md b/docs/ModelsContainerRuntimePivotResponse.md index b81c3068..6f9d2670 100644 --- a/docs/ModelsContainerRuntimePivotResponse.md +++ b/docs/ModelsContainerRuntimePivotResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsContainerRuntimePivot>**](ModelsContainerRuntimePivot.md) | | | ## Example diff --git a/docs/ModelsCreateBaseImagesRequest.md b/docs/ModelsCreateBaseImagesRequest.md new file mode 100644 index 00000000..2ffd7769 --- /dev/null +++ b/docs/ModelsCreateBaseImagesRequest.md @@ -0,0 +1,18 @@ +# Falcon::ModelsCreateBaseImagesRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **base_images** | [**Array<ModelsBaseImageRequest>**](ModelsBaseImageRequest.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsCreateBaseImagesRequest.new( + base_images: null +) +``` + diff --git a/docs/ModelsCreateDeploymentInput.md b/docs/ModelsCreateDeploymentInput.md new file mode 100644 index 00000000..05805174 --- /dev/null +++ b/docs/ModelsCreateDeploymentInput.md @@ -0,0 +1,18 @@ +# Falcon::ModelsCreateDeploymentInput + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<ModelsDeploymentResource>**](ModelsDeploymentResource.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsCreateDeploymentInput.new( + resources: null +) +``` + diff --git a/docs/ModelsCustomerConfigurationsV1.md b/docs/ModelsCustomerConfigurationsV1.md index 81dd4a55..c08fb8e2 100644 --- a/docs/ModelsCustomerConfigurationsV1.md +++ b/docs/ModelsCustomerConfigurationsV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainAWSConfiguration>**](DomainAWSConfiguration.md) | | | ## Example diff --git a/docs/ModelsDeliverySettings.md b/docs/ModelsDeliverySettings.md new file mode 100644 index 00000000..2e82231c --- /dev/null +++ b/docs/ModelsDeliverySettings.md @@ -0,0 +1,42 @@ +# Falcon::ModelsDeliverySettings + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **api_created_by** | **String** | | [optional] | +| **api_updated_at** | **Time** | | [optional] | +| **api_updated_by** | **String** | | [optional] | +| **cid** | **String** | | | +| **created_at** | **Time** | | | +| **created_by** | **String** | | | +| **deleted_at** | **Time** | | [optional] | +| **deleted_by** | **String** | | [optional] | +| **delivery_cadence** | **String** | | | +| **delivery_type** | **String** | | | +| **updated_at** | **Time** | | [optional] | +| **updated_by** | **String** | | [optional] | +| **uuid** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsDeliverySettings.new( + api_created_by: null, + api_updated_at: null, + api_updated_by: null, + cid: null, + created_at: null, + created_by: null, + deleted_at: null, + deleted_by: null, + delivery_cadence: null, + delivery_type: null, + updated_at: null, + updated_by: null, + uuid: null +) +``` + diff --git a/docs/ModelsDeliverySettingsEntityResponse.md b/docs/ModelsDeliverySettingsEntityResponse.md new file mode 100644 index 00000000..c7059ce9 --- /dev/null +++ b/docs/ModelsDeliverySettingsEntityResponse.md @@ -0,0 +1,22 @@ +# Falcon::ModelsDeliverySettingsEntityResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsDeliverySettings>**](ModelsDeliverySettings.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsDeliverySettingsEntityResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ModelsDeliverySettingsInput.md b/docs/ModelsDeliverySettingsInput.md new file mode 100644 index 00000000..1da32a0b --- /dev/null +++ b/docs/ModelsDeliverySettingsInput.md @@ -0,0 +1,20 @@ +# Falcon::ModelsDeliverySettingsInput + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **delivery_cadence** | **String** | | | +| **delivery_type** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsDeliverySettingsInput.new( + delivery_cadence: null, + delivery_type: null +) +``` + diff --git a/docs/ModelsDeliverySettingsRequest.md b/docs/ModelsDeliverySettingsRequest.md new file mode 100644 index 00000000..329b41ae --- /dev/null +++ b/docs/ModelsDeliverySettingsRequest.md @@ -0,0 +1,18 @@ +# Falcon::ModelsDeliverySettingsRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **delivery_settings** | [**Array<ModelsDeliverySettingsInput>**](ModelsDeliverySettingsInput.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsDeliverySettingsRequest.new( + delivery_settings: null +) +``` + diff --git a/docs/ModelsDeployment.md b/docs/ModelsDeployment.md index 582fa859..86427071 100644 --- a/docs/ModelsDeployment.md +++ b/docs/ModelsDeployment.md @@ -4,15 +4,35 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **account_id** | **String** | | | -| **asset_identifier** | **String** | | | -| **cloud_provider** | **String** | | | -| **id** | **String** | | | -| **instance_type** | **String** | | | -| **last_updated_timestamp** | **String** | | | -| **region** | **String** | | | +| **agents** | **Array<Hash>** | | | +| **annotations** | **Hash<String, String>** | | | +| **annotations_list** | **Array<String>** | | | +| **cid** | **String** | | | +| **cloud_account_id** | **String** | | | +| **cloud_name** | **String** | | | +| **cloud_region** | **String** | | | +| **cloud_service** | **String** | | | +| **cluster_id** | **String** | | | +| **cluster_name** | **String** | | | +| **container_count** | **Integer** | | | +| **created_at** | **String** | | | +| **deleted_at** | **String** | | [optional] | +| **deployment_id** | **String** | | | +| **deployment_name** | **String** | | | +| **first_seen** | **String** | | | +| **kac_agent_id** | **String** | | | +| **labels** | **Hash<String, String>** | | | +| **labels_list** | **Array<String>** | | | +| **last_seen** | **String** | | | +| **management_status** | **String** | | | +| **namespace** | **String** | | | +| **pod_count** | **Integer** | | | +| **resource_status** | **String** | | | +| **resource_version** | **Integer** | | | +| **revision** | **Integer** | | [optional] | +| **selector** | **String** | | | +| **service_account_name** | **String** | | | | **status** | **String** | | | -| **status_detail** | **String** | | | ## Example @@ -20,15 +40,35 @@ require 'crimson-falcon' instance = Falcon::ModelsDeployment.new( - account_id: null, - asset_identifier: null, - cloud_provider: null, - id: null, - instance_type: null, - last_updated_timestamp: null, - region: null, - status: null, - status_detail: null + agents: null, + annotations: null, + annotations_list: null, + cid: null, + cloud_account_id: null, + cloud_name: null, + cloud_region: null, + cloud_service: null, + cluster_id: null, + cluster_name: null, + container_count: null, + created_at: null, + deleted_at: null, + deployment_id: null, + deployment_name: null, + first_seen: null, + kac_agent_id: null, + labels: null, + labels_list: null, + last_seen: null, + management_status: null, + namespace: null, + pod_count: null, + resource_status: null, + resource_version: null, + revision: null, + selector: null, + service_account_name: null, + status: null ) ``` diff --git a/docs/ModelsDeploymentEntityResponse.md b/docs/ModelsDeploymentEntityResponse.md index bded7164..194fdb3c 100644 --- a/docs/ModelsDeploymentEntityResponse.md +++ b/docs/ModelsDeploymentEntityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsDeployment>**](ModelsDeployment.md) | | | ## Example diff --git a/docs/ModelsDeploymentResource.md b/docs/ModelsDeploymentResource.md new file mode 100644 index 00000000..cc9e8102 --- /dev/null +++ b/docs/ModelsDeploymentResource.md @@ -0,0 +1,24 @@ +# Falcon::ModelsDeploymentResource + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **account_id** | **String** | | | +| **asset_identifier** | **String** | | | +| **cloud_provider** | **String** | | | +| **region** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsDeploymentResource.new( + account_id: null, + asset_identifier: null, + cloud_provider: null, + region: null +) +``` + diff --git a/docs/ModelsDetection.md b/docs/ModelsDetection.md new file mode 100644 index 00000000..58b62925 --- /dev/null +++ b/docs/ModelsDetection.md @@ -0,0 +1,36 @@ +# Falcon::ModelsDetection + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **description** | **String** | | | +| **details** | **Object** | | | +| **hash** | **String** | | | +| **id** | **String** | | | +| **name** | **String** | | | +| **path** | **String** | | | +| **remediation** | **String** | | | +| **severity** | **String** | | | +| **title** | **String** | | | +| **type** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsDetection.new( + description: null, + details: null, + hash: null, + id: null, + name: null, + path: null, + remediation: null, + severity: null, + title: null, + type: null +) +``` + diff --git a/docs/ModelsDetectionEngineInfoType.md b/docs/ModelsDetectionEngineInfoType.md new file mode 100644 index 00000000..bbb5c9e1 --- /dev/null +++ b/docs/ModelsDetectionEngineInfoType.md @@ -0,0 +1,22 @@ +# Falcon::ModelsDetectionEngineInfoType + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **apk_static_version** | **String** | | | +| **engine_version** | **String** | | | +| **performed_at** | **Time** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsDetectionEngineInfoType.new( + apk_static_version: null, + engine_version: null, + performed_at: null +) +``` + diff --git a/docs/ModelsDetectionInfoType.md b/docs/ModelsDetectionInfoType.md new file mode 100644 index 00000000..eb81e7d3 --- /dev/null +++ b/docs/ModelsDetectionInfoType.md @@ -0,0 +1,18 @@ +# Falcon::ModelsDetectionInfoType + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **detection** | [**ModelsDetection**](ModelsDetection.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsDetectionInfoType.new( + detection: null +) +``` + diff --git a/docs/ModelsELFBinary.md b/docs/ModelsELFBinary.md new file mode 100644 index 00000000..4223cf8c --- /dev/null +++ b/docs/ModelsELFBinary.md @@ -0,0 +1,24 @@ +# Falcon::ModelsELFBinary + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **hash** | **String** | | | +| **path** | **String** | | | +| **permissions** | **String** | | | +| **size** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsELFBinary.new( + hash: null, + path: null, + permissions: null, + size: null +) +``` + diff --git a/docs/ModelsExtAPIImageCombined.md b/docs/ModelsExtAPIImageCombined.md index e6b9e916..61b16d2b 100644 --- a/docs/ModelsExtAPIImageCombined.md +++ b/docs/ModelsExtAPIImageCombined.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **architecture** | **String** | | | | **base_os** | **String** | | | | **cid** | **String** | | | | **containers** | **Integer** | | | @@ -30,6 +31,7 @@ require 'crimson-falcon' instance = Falcon::ModelsExtAPIImageCombined.new( + architecture: null, base_os: null, cid: null, containers: null, diff --git a/docs/ModelsImageDetails.md b/docs/ModelsImageDetails.md new file mode 100644 index 00000000..8f07c906 --- /dev/null +++ b/docs/ModelsImageDetails.md @@ -0,0 +1,24 @@ +# Falcon::ModelsImageDetails + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **digest** | **String** | | | +| **registry** | **String** | | | +| **repository** | **String** | | | +| **tag** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsImageDetails.new( + digest: null, + registry: null, + repository: null, + tag: null +) +``` + diff --git a/docs/ModelsImageWithRulesFailed.md b/docs/ModelsImageWithRulesFailed.md new file mode 100644 index 00000000..08d782ca --- /dev/null +++ b/docs/ModelsImageWithRulesFailed.md @@ -0,0 +1,32 @@ +# Falcon::ModelsImageWithRulesFailed + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **_1** | **Integer** | | | +| **_2** | **Integer** | | | +| **_3** | **Integer** | | | +| **_4** | **Integer** | | | +| **image_digest** | **String** | | | +| **image_registry** | **String** | | | +| **image_repository** | **String** | | | +| **image_tag** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsImageWithRulesFailed.new( + _1: null, + _2: null, + _3: null, + _4: null, + image_digest: null, + image_registry: null, + image_repository: null, + image_tag: null +) +``` + diff --git a/docs/ModelsImagesWithRulesFailed.md b/docs/ModelsImagesWithRulesFailed.md new file mode 100644 index 00000000..ba15fa8d --- /dev/null +++ b/docs/ModelsImagesWithRulesFailed.md @@ -0,0 +1,20 @@ +# Falcon::ModelsImagesWithRulesFailed + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **images** | [**Array<ModelsImageWithRulesFailed>**](ModelsImageWithRulesFailed.md) | | | +| **not_applicable_filters** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsImagesWithRulesFailed.new( + images: null, + not_applicable_filters: null +) +``` + diff --git a/docs/ModelsJobMetaData.md b/docs/ModelsJobMetaData.md new file mode 100644 index 00000000..fc3770fc --- /dev/null +++ b/docs/ModelsJobMetaData.md @@ -0,0 +1,32 @@ +# Falcon::ModelsJobMetaData + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cloud_provider** | **Integer** | | | +| **instance_id** | **String** | | | +| **job_end_time** | **Time** | | | +| **job_id** | **String** | | | +| **job_start_time** | **Time** | | | +| **message** | **String** | | | +| **scanner_version** | **String** | | | +| **status** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsJobMetaData.new( + cloud_provider: null, + instance_id: null, + job_end_time: null, + job_id: null, + job_start_time: null, + message: null, + scanner_version: null, + status: null +) +``` + diff --git a/docs/ModelsMockExecutionCreateRequestV1.md b/docs/ModelsMockExecutionCreateRequestV1.md new file mode 100644 index 00000000..c0bc5f56 --- /dev/null +++ b/docs/ModelsMockExecutionCreateRequestV1.md @@ -0,0 +1,22 @@ +# Falcon::ModelsMockExecutionCreateRequestV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **definition** | [**ModelsDefinitionCreateRequestV2**](ModelsDefinitionCreateRequestV2.md) | | [optional] | +| **mocks** | **String** | Mock activity data and trigger data for non-on-demand executions, keyed by node ID, may include trigger and/or activity nodes | | +| **on_demand_trigger** | **String** | Trigger data for on-demand executions | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsMockExecutionCreateRequestV1.new( + definition: null, + mocks: null, + on_demand_trigger: null +) +``` + diff --git a/docs/ModelsNode.md b/docs/ModelsNode.md index 8c5c3f52..fc57f356 100644 --- a/docs/ModelsNode.md +++ b/docs/ModelsNode.md @@ -14,16 +14,19 @@ | **cloud_instance_type** | **String** | | | | **cloud_name** | **String** | | | | **cloud_region** | **String** | | | +| **cloud_service** | **String** | | | | **cluster_id** | **String** | | | | **cluster_name** | **String** | | | | **container_count** | **Integer** | | | | **container_runtime_version** | **String** | | | | **cpu** | **String** | | | | **created_at** | **String** | | | +| **deleted_at** | **String** | | [optional] | | **external_ip** | **String** | | | | **first_seen** | **String** | | | | **ipv4** | **String** | | | | **ipv6** | **String** | | | +| **kac_agent_id** | **String** | | | | **kernel_version** | **String** | | | | **kubernetes_version** | **String** | | | | **labels** | **Hash<String, String>** | | | @@ -37,6 +40,7 @@ | **pod_cidr** | **String** | | | | **pod_count** | **Integer** | | | | **provider_id** | **String** | | | +| **resource_status** | **String** | | | | **storage** | **String** | | | | **uid** | **String** | | | @@ -56,16 +60,19 @@ instance = Falcon::ModelsNode.new( cloud_instance_type: null, cloud_name: null, cloud_region: null, + cloud_service: null, cluster_id: null, cluster_name: null, container_count: null, container_runtime_version: null, cpu: null, created_at: null, + deleted_at: null, external_ip: null, first_seen: null, ipv4: null, ipv6: null, + kac_agent_id: null, kernel_version: null, kubernetes_version: null, labels: null, @@ -79,6 +86,7 @@ instance = Falcon::ModelsNode.new( pod_cidr: null, pod_count: null, provider_id: null, + resource_status: null, storage: null, uid: null ) diff --git a/docs/ModelsNodeEntityResponse.md b/docs/ModelsNodeEntityResponse.md index 22393993..e800abfa 100644 --- a/docs/ModelsNodeEntityResponse.md +++ b/docs/ModelsNodeEntityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsNode>**](ModelsNode.md) | | | ## Example diff --git a/docs/ModelsNonCompliantAssetsBySeverity.md b/docs/ModelsNonCompliantAssetsBySeverity.md new file mode 100644 index 00000000..90a20a13 --- /dev/null +++ b/docs/ModelsNonCompliantAssetsBySeverity.md @@ -0,0 +1,26 @@ +# Falcon::ModelsNonCompliantAssetsBySeverity + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **_1** | **Integer** | | | +| **_2** | **Integer** | | | +| **_3** | **Integer** | | | +| **_4** | **Integer** | | | +| **not_applicable_filters** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsNonCompliantAssetsBySeverity.new( + _1: null, + _2: null, + _3: null, + _4: null, + not_applicable_filters: null +) +``` + diff --git a/docs/ModelsOSInfoType.md b/docs/ModelsOSInfoType.md new file mode 100644 index 00000000..32fee7b4 --- /dev/null +++ b/docs/ModelsOSInfoType.md @@ -0,0 +1,20 @@ +# Falcon::ModelsOSInfoType + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **name** | **String** | | | +| **version** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsOSInfoType.new( + name: null, + version: null +) +``` + diff --git a/docs/ModelsPackageVulnerabilityType.md b/docs/ModelsPackageVulnerabilityType.md new file mode 100644 index 00000000..b13458dc --- /dev/null +++ b/docs/ModelsPackageVulnerabilityType.md @@ -0,0 +1,18 @@ +# Falcon::ModelsPackageVulnerabilityType + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **vulnerability** | [**ModelsVulnerabilityType**](ModelsVulnerabilityType.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsPackageVulnerabilityType.new( + vulnerability: null +) +``` + diff --git a/docs/ModelsPod.md b/docs/ModelsPod.md index ce1d67f6..f16c90ed 100644 --- a/docs/ModelsPod.md +++ b/docs/ModelsPod.md @@ -12,11 +12,13 @@ | **cloud_account_id** | **String** | | | | **cloud_name** | **String** | | | | **cloud_region** | **String** | | | +| **cloud_service** | **String** | | | | **cluster_id** | **String** | | | | **cluster_name** | **String** | | | | **container_count** | **Integer** | | | | **containers** | **Array<Hash>** | | | | **created_at** | **String** | | | +| **deleted_at** | **String** | | [optional] | | **first_seen** | **String** | | | | **host_ipc** | **Boolean** | | | | **host_network** | **Boolean** | | | @@ -24,6 +26,7 @@ | **image_pull_secrets** | **Array<String>** | | | | **ipv4** | **String** | | | | **ipv6** | **String** | | | +| **kac_agent_id** | **String** | | | | **labels** | **Hash<String, String>** | | | | **labels_list** | **Array<String>** | | | | **last_seen** | **String** | | | @@ -39,6 +42,7 @@ | **pod_name** | **String** | | | | **ports** | **Array<Hash>** | | | | **privileged** | **Boolean** | | | +| **resource_status** | **String** | | | | **root_write_access** | **Boolean** | | | | **run_as_root_group** | **Boolean** | | | | **run_as_root_user** | **Boolean** | | | @@ -61,11 +65,13 @@ instance = Falcon::ModelsPod.new( cloud_account_id: null, cloud_name: null, cloud_region: null, + cloud_service: null, cluster_id: null, cluster_name: null, container_count: null, containers: null, created_at: null, + deleted_at: null, first_seen: null, host_ipc: null, host_network: null, @@ -73,6 +79,7 @@ instance = Falcon::ModelsPod.new( image_pull_secrets: null, ipv4: null, ipv6: null, + kac_agent_id: null, labels: null, labels_list: null, last_seen: null, @@ -88,6 +95,7 @@ instance = Falcon::ModelsPod.new( pod_name: null, ports: null, privileged: null, + resource_status: null, root_write_access: null, run_as_root_group: null, run_as_root_user: null, diff --git a/docs/ModelsPodEntityResponse.md b/docs/ModelsPodEntityResponse.md index 6c7493fa..f943128f 100644 --- a/docs/ModelsPodEntityResponse.md +++ b/docs/ModelsPodEntityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsPod>**](ModelsPod.md) | | | ## Example diff --git a/docs/ModelsPolicyEntityResponse.md b/docs/ModelsPolicyEntityResponse.md index 45b92b00..5201e090 100644 --- a/docs/ModelsPolicyEntityResponse.md +++ b/docs/ModelsPolicyEntityResponse.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIPolicyEntity>**](ModelsAPIPolicyEntity.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::ModelsPolicyEntityResponse.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/ModelsPolicyExclusionEntityResponse.md b/docs/ModelsPolicyExclusionEntityResponse.md index 220325c1..94e77746 100644 --- a/docs/ModelsPolicyExclusionEntityResponse.md +++ b/docs/ModelsPolicyExclusionEntityResponse.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIPolicyExclusion>**](ModelsAPIPolicyExclusion.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::ModelsPolicyExclusionEntityResponse.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/ModelsPolicyGroupEntityResponse.md b/docs/ModelsPolicyGroupEntityResponse.md index f2361c76..5a73906e 100644 --- a/docs/ModelsPolicyGroupEntityResponse.md +++ b/docs/ModelsPolicyGroupEntityResponse.md @@ -4,9 +4,9 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIPolicyGroup>**](ModelsAPIPolicyGroup.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | ## Example @@ -14,9 +14,9 @@ require 'crimson-falcon' instance = Falcon::ModelsPolicyGroupEntityResponse.new( - resources: null, errors: null, - meta: null + meta: null, + resources: null ) ``` diff --git a/docs/ModelsRegistryCredentialsResponse.md b/docs/ModelsRegistryCredentialsResponse.md index 74db838a..f5599fa2 100644 --- a/docs/ModelsRegistryCredentialsResponse.md +++ b/docs/ModelsRegistryCredentialsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsCredentials>**](ModelsCredentials.md) | | | ## Example diff --git a/docs/ModelsRuleStatus.md b/docs/ModelsRuleStatus.md new file mode 100644 index 00000000..19ba741a --- /dev/null +++ b/docs/ModelsRuleStatus.md @@ -0,0 +1,22 @@ +# Falcon::ModelsRuleStatus + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **name** | **String** | | | +| **recommendation_id** | **String** | | | +| **status** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsRuleStatus.new( + name: null, + recommendation_id: null, + status: null +) +``` + diff --git a/docs/ModelsRuleWithNonCompliantAssets.md b/docs/ModelsRuleWithNonCompliantAssets.md new file mode 100644 index 00000000..f10ff02a --- /dev/null +++ b/docs/ModelsRuleWithNonCompliantAssets.md @@ -0,0 +1,24 @@ +# Falcon::ModelsRuleWithNonCompliantAssets + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **asset_count** | **Integer** | | | +| **name** | **String** | | | +| **recommendation_id** | **String** | | | +| **severity** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsRuleWithNonCompliantAssets.new( + asset_count: null, + name: null, + recommendation_id: null, + severity: null +) +``` + diff --git a/docs/ModelsRulesFailedBySeverity.md b/docs/ModelsRulesFailedBySeverity.md new file mode 100644 index 00000000..ab13c4fd --- /dev/null +++ b/docs/ModelsRulesFailedBySeverity.md @@ -0,0 +1,24 @@ +# Falcon::ModelsRulesFailedBySeverity + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **_1** | **Integer** | | | +| **_2** | **Integer** | | | +| **_3** | **Integer** | | | +| **_4** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsRulesFailedBySeverity.new( + _1: null, + _2: null, + _3: null, + _4: null +) +``` + diff --git a/docs/ModelsRulesWithNonCompliantAssets.md b/docs/ModelsRulesWithNonCompliantAssets.md new file mode 100644 index 00000000..23d844e9 --- /dev/null +++ b/docs/ModelsRulesWithNonCompliantAssets.md @@ -0,0 +1,20 @@ +# Falcon::ModelsRulesWithNonCompliantAssets + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **not_applicable_filters** | **String** | | | +| **rules** | [**Array<ModelsRuleWithNonCompliantAssets>**](ModelsRuleWithNonCompliantAssets.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsRulesWithNonCompliantAssets.new( + not_applicable_filters: null, + rules: null +) +``` + diff --git a/docs/ModelsScanReportType.md b/docs/ModelsScanReportType.md new file mode 100644 index 00000000..13c463f2 --- /dev/null +++ b/docs/ModelsScanReportType.md @@ -0,0 +1,32 @@ +# Falcon::ModelsScanReportType + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **application_packages** | [**Array<ModelsApplicationPackageInfoType>**](ModelsApplicationPackageInfoType.md) | | [optional] | +| **detection_engine_info** | [**ModelsDetectionEngineInfoType**](ModelsDetectionEngineInfoType.md) | | | +| **detections** | [**Array<ModelsDetectionInfoType>**](ModelsDetectionInfoType.md) | | | +| **vulnerabilities** | [**Array<ModelsPackageVulnerabilityType>**](ModelsPackageVulnerabilityType.md) | | | +| **vulnerabilities_truncated** | [**ModelsVulnerabilitiesType**](ModelsVulnerabilitiesType.md) | | [optional] | +| **job_metadata** | [**ModelsJobMetaData**](ModelsJobMetaData.md) | | | +| **os_info** | [**ModelsOSInfoType**](ModelsOSInfoType.md) | | | +| **results** | [**ModelsScanResults**](ModelsScanResults.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsScanReportType.new( + application_packages: null, + detection_engine_info: null, + detections: null, + vulnerabilities: null, + vulnerabilities_truncated: null, + job_metadata: null, + os_info: null, + results: null +) +``` + diff --git a/docs/ModelsScanResults.md b/docs/ModelsScanResults.md new file mode 100644 index 00000000..380ada3b --- /dev/null +++ b/docs/ModelsScanResults.md @@ -0,0 +1,24 @@ +# Falcon::ModelsScanResults + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **applications** | [**Array<ModelsSnapshotInventoryApplication>**](ModelsSnapshotInventoryApplication.md) | | | +| **containers** | [**Array<ModelsContainer>**](ModelsContainer.md) | | | +| **elf_binaries** | [**Array<ModelsELFBinary>**](ModelsELFBinary.md) | | | +| **os_version** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsScanResults.new( + applications: null, + containers: null, + elf_binaries: null, + os_version: null +) +``` + diff --git a/docs/ModelsSnapshotInventoryApplication.md b/docs/ModelsSnapshotInventoryApplication.md new file mode 100644 index 00000000..f838e3e9 --- /dev/null +++ b/docs/ModelsSnapshotInventoryApplication.md @@ -0,0 +1,34 @@ +# Falcon::ModelsSnapshotInventoryApplication + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **major_version** | **String** | | | +| **package_hash** | **String** | | | +| **package_provider** | **String** | | | +| **package_source** | **String** | | | +| **path** | **String** | | | +| **product** | **String** | | | +| **software_architecture** | **String** | | | +| **type** | **String** | | | +| **vendor** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsSnapshotInventoryApplication.new( + major_version: null, + package_hash: null, + package_provider: null, + package_source: null, + path: null, + product: null, + software_architecture: null, + type: null, + vendor: null +) +``` + diff --git a/docs/ModelsVerifyAccessResponseV1.md b/docs/ModelsVerifyAccessResponseV1.md index f264dcb0..ec0749a3 100644 --- a/docs/ModelsVerifyAccessResponseV1.md +++ b/docs/ModelsVerifyAccessResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainAccountAccessResult>**](DomainAccountAccessResult.md) | | | ## Example diff --git a/docs/ModelsVulnerabilitiesType.md b/docs/ModelsVulnerabilitiesType.md new file mode 100644 index 00000000..e79e445a --- /dev/null +++ b/docs/ModelsVulnerabilitiesType.md @@ -0,0 +1,18 @@ +# Falcon::ModelsVulnerabilitiesType + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cve_mapping** | **Array<String>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsVulnerabilitiesType.new( + cve_mapping: null +) +``` + diff --git a/docs/ModelsVulnerabilityProduct.md b/docs/ModelsVulnerabilityProduct.md new file mode 100644 index 00000000..ec25add1 --- /dev/null +++ b/docs/ModelsVulnerabilityProduct.md @@ -0,0 +1,38 @@ +# Falcon::ModelsVulnerabilityProduct + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **major_version** | **String** | | | +| **package_hash** | **String** | | [optional] | +| **package_provider** | **String** | | [optional] | +| **package_source** | **String** | | | +| **package_type** | **String** | | [optional] | +| **path** | **String** | | [optional] | +| **platform_type** | **String** | | [optional] | +| **product** | **String** | | | +| **product_normalized** | **String** | | [optional] | +| **software_architecture** | **String** | | | +| **vendor** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsVulnerabilityProduct.new( + major_version: null, + package_hash: null, + package_provider: null, + package_source: null, + package_type: null, + path: null, + platform_type: null, + product: null, + product_normalized: null, + software_architecture: null, + vendor: null +) +``` + diff --git a/docs/ModelsVulnerabilityType.md b/docs/ModelsVulnerabilityType.md new file mode 100644 index 00000000..a2533a1b --- /dev/null +++ b/docs/ModelsVulnerabilityType.md @@ -0,0 +1,30 @@ +# Falcon::ModelsVulnerabilityType + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cveid** | **String** | | | +| **content_data_hash** | **Integer** | | | +| **details** | [**DomainCVE**](DomainCVE.md) | | | +| **exploit_details** | [**VulncheckExploitDetails**](VulncheckExploitDetails.md) | | [optional] | +| **fixed_versions** | **Array<String>** | | [optional] | +| **product** | [**ModelsVulnerabilityProduct**](ModelsVulnerabilityProduct.md) | | | +| **remediation** | **Array<String>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ModelsVulnerabilityType.new( + cveid: null, + content_data_hash: null, + details: null, + exploit_details: null, + fixed_versions: null, + product: null, + remediation: null +) +``` + diff --git a/docs/MsaAggregateQueryRequest.md b/docs/MsaAggregateQueryRequest.md index da5e73a1..0c46fc39 100644 --- a/docs/MsaAggregateQueryRequest.md +++ b/docs/MsaAggregateQueryRequest.md @@ -6,6 +6,7 @@ | ---- | ---- | ----------- | ----- | | **date_ranges** | [**Array<MsaDateRangeSpec>**](MsaDateRangeSpec.md) | | | | **exclude** | **String** | | | +| **extended_bounds** | [**MsaExtendedBoundsSpec**](MsaExtendedBoundsSpec.md) | | [optional] | | **field** | **String** | | | | **filter** | **String** | | | | **from** | **Integer** | | | @@ -31,6 +32,7 @@ require 'crimson-falcon' instance = Falcon::MsaAggregateQueryRequest.new( date_ranges: null, exclude: null, + extended_bounds: null, field: null, filter: null, from: null, diff --git a/docs/MsaAggregatesResponse.md b/docs/MsaAggregatesResponse.md index 2dccdeab..9fa938e9 100644 --- a/docs/MsaAggregatesResponse.md +++ b/docs/MsaAggregatesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<MsaAggregationResult>**](MsaAggregationResult.md) | | | ## Example diff --git a/docs/MsaBaseEntitiesResponse.md b/docs/MsaBaseEntitiesResponse.md index 36aa9425..d8e2df3b 100644 --- a/docs/MsaBaseEntitiesResponse.md +++ b/docs/MsaBaseEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/MsaEntitiesResponse.md b/docs/MsaEntitiesResponse.md index 04ab28af..6db96a48 100644 --- a/docs/MsaEntitiesResponse.md +++ b/docs/MsaEntitiesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Object** | | | ## Example diff --git a/docs/MsaEntityActionRequestV3.md b/docs/MsaEntityActionRequestV3.md new file mode 100644 index 00000000..c55959f7 --- /dev/null +++ b/docs/MsaEntityActionRequestV3.md @@ -0,0 +1,22 @@ +# Falcon::MsaEntityActionRequestV3 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **action_parameters** | [**Array<MsaspecActionParameter>**](MsaspecActionParameter.md) | | [optional] | +| **filter** | **String** | | | +| **ids** | **Array<String>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::MsaEntityActionRequestV3.new( + action_parameters: null, + filter: null, + ids: null +) +``` + diff --git a/docs/MsaErrorsOnly.md b/docs/MsaErrorsOnly.md index 648259ac..5650a546 100644 --- a/docs/MsaErrorsOnly.md +++ b/docs/MsaErrorsOnly.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/MsaExtendedBoundsSpec.md b/docs/MsaExtendedBoundsSpec.md new file mode 100644 index 00000000..a6db2af0 --- /dev/null +++ b/docs/MsaExtendedBoundsSpec.md @@ -0,0 +1,20 @@ +# Falcon::MsaExtendedBoundsSpec + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **max** | **String** | | | +| **min** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::MsaExtendedBoundsSpec.new( + max: null, + min: null +) +``` + diff --git a/docs/MsaFacetsResponse.md b/docs/MsaFacetsResponse.md index 6a196d27..595b9d47 100644 --- a/docs/MsaFacetsResponse.md +++ b/docs/MsaFacetsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<MsaFacet>**](MsaFacet.md) | | | ## Example diff --git a/docs/MsaQueryResponse.md b/docs/MsaQueryResponse.md index aff97fe0..85670f46 100644 --- a/docs/MsaQueryResponse.md +++ b/docs/MsaQueryResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/MsaReplyAffectedEntities.md b/docs/MsaReplyAffectedEntities.md index f9e32d11..2e048612 100644 --- a/docs/MsaReplyAffectedEntities.md +++ b/docs/MsaReplyAffectedEntities.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<MsaAffectedEntity>**](MsaAffectedEntity.md) | | | ## Example diff --git a/docs/MsaspecError.md b/docs/MsaspecError.md deleted file mode 100644 index 9995d7c7..00000000 --- a/docs/MsaspecError.md +++ /dev/null @@ -1,22 +0,0 @@ -# Falcon::MsaspecError - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **code** | **Integer** | | | -| **id** | **String** | | [optional] | -| **message** | **String** | | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::MsaspecError.new( - code: null, - id: null, - message: null -) -``` - diff --git a/docs/MsaspecQueryResponse.md b/docs/MsaspecQueryResponse.md index 046f8c72..f0ebc3e5 100644 --- a/docs/MsaspecQueryResponse.md +++ b/docs/MsaspecQueryResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/MsaspecResponseFields.md b/docs/MsaspecResponseFields.md index 07b0357b..91c68dfd 100644 --- a/docs/MsaspecResponseFields.md +++ b/docs/MsaspecResponseFields.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/MsspApi.md b/docs/MsspApi.md index f1be55f9..fda22fdc 100644 --- a/docs/MsspApi.md +++ b/docs/MsspApi.md @@ -1,6 +1,6 @@ # Falcon::MsspApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/Oauth2Api.md b/docs/Oauth2Api.md index 219ceae7..84b07e6b 100644 --- a/docs/Oauth2Api.md +++ b/docs/Oauth2Api.md @@ -1,6 +1,6 @@ # Falcon::Oauth2Api -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -75,7 +75,7 @@ end ### Authorization -**basicAuth** +No authorization required ### HTTP request headers @@ -85,7 +85,7 @@ end ## oauth2_revoke_token -> oauth2_revoke_token(token, opts) +> oauth2_revoke_token(token, opts) Revoke a previously issued OAuth2 access token before the end of its standard 30-minute lifespan. @@ -121,7 +121,7 @@ end This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> oauth2_revoke_token_with_http_info(token, opts) +> , Integer, Hash)> oauth2_revoke_token_with_http_info(token, opts) ```ruby begin @@ -129,7 +129,7 @@ begin data, status_code, headers = api_instance.oauth2_revoke_token_with_http_info(token, opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e puts "Error when calling Oauth2Api->oauth2_revoke_token_with_http_info: #{e}" end @@ -144,11 +144,11 @@ end ### Return type -[**MsaReplyMetaOnly**](MsaReplyMetaOnly.md) +[**MsaspecResponseFields**](MsaspecResponseFields.md) ### Authorization -**basicAuth** +No authorization required ### HTTP request headers diff --git a/docs/OdsApi.md b/docs/OdsApi.md index 2df60638..c67b48bc 100644 --- a/docs/OdsApi.md +++ b/docs/OdsApi.md @@ -1,6 +1,6 @@ # Falcon::OdsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -318,7 +318,7 @@ Falcon.configure do |config| end api_instance = Falcon::OdsApi.new -body = Falcon::EntitiesODSScanRequest.new({cloud_ml_level_detection: 37, cloud_ml_level_prevention: 37, cpu_priority: 37, description: 'description_example', endpoint_notification: false, file_paths: ['file_paths_example'], host_groups: ['host_groups_example'], hosts: ['hosts_example'], initiated_from: 'initiated_from_example', max_duration: 37, max_file_size: 37, pause_duration: 37, quarantine: false, scan_exclusions: ['scan_exclusions_example'], scan_inclusions: ['scan_inclusions_example'], sensor_ml_level_detection: 37, sensor_ml_level_prevention: 37}) # EntitiesODSScanRequest | +body = Falcon::EntitiesODSScanRequest.new({cloud_ml_level_detection: 37, cloud_ml_level_prevention: 37, cpu_priority: 37, description: 'description_example', endpoint_notification: false, file_paths: ['file_paths_example'], host_groups: ['host_groups_example'], hosts: ['hosts_example'], initiated_from: 'initiated_from_example', max_duration: 37, pause_duration: 37, quarantine: false, scan_exclusions: ['scan_exclusions_example'], scan_inclusions: ['scan_inclusions_example'], sensor_ml_level_detection: 37, sensor_ml_level_prevention: 37}) # EntitiesODSScanRequest | begin # Create ODS scan and start or schedule scan for the given scan request. @@ -1113,7 +1113,7 @@ Falcon.configure do |config| end api_instance = Falcon::OdsApi.new -body = Falcon::EntitiesODSScheduleScanRequest.new({cloud_ml_level_detection: 37, cloud_ml_level_prevention: 37, cpu_priority: 37, description: 'description_example', endpoint_notification: false, file_paths: ['file_paths_example'], host_groups: ['host_groups_example'], initiated_from: 'initiated_from_example', max_duration: 37, max_file_size: 37, pause_duration: 37, quarantine: false, scan_exclusions: ['scan_exclusions_example'], scan_inclusions: ['scan_inclusions_example'], schedule: Falcon::DomainSchedule.new, sensor_ml_level_detection: 37, sensor_ml_level_prevention: 37}) # EntitiesODSScheduleScanRequest | +body = Falcon::EntitiesODSScheduleScanRequest.new({cloud_ml_level_detection: 37, cloud_ml_level_prevention: 37, cpu_priority: 37, description: 'description_example', endpoint_notification: false, file_paths: ['file_paths_example'], host_groups: ['host_groups_example'], initiated_from: 'initiated_from_example', max_duration: 37, max_file_size: 37, pause_duration: 37, quarantine: false, scan_exclusions: ['scan_exclusions_example'], scan_inclusions: ['scan_inclusions_example'], schedule: Falcon::DomainSchedule.new({can_stagger: false, definition: 'definition_example', display: 'display_example'}), sensor_ml_level_detection: 37, sensor_ml_level_prevention: 37}) # EntitiesODSScheduleScanRequest | begin # Create ODS scan and start or schedule scan for the given scan request. diff --git a/docs/OverwatchDashboardApi.md b/docs/OverwatchDashboardApi.md index a45f0e7d..25baf715 100644 --- a/docs/OverwatchDashboardApi.md +++ b/docs/OverwatchDashboardApi.md @@ -1,6 +1,6 @@ # Falcon::OverwatchDashboardApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/PackagesApiCombinedPackage.md b/docs/PackagesApiCombinedPackage.md index 53bc6902..6ff6e06f 100644 --- a/docs/PackagesApiCombinedPackage.md +++ b/docs/PackagesApiCombinedPackage.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIPackageCombined>**](ModelsAPIPackageCombined.md) | | | ## Example diff --git a/docs/PackagesApiCombinedPackageExport.md b/docs/PackagesApiCombinedPackageExport.md index 0bdef11f..739be400 100644 --- a/docs/PackagesApiCombinedPackageExport.md +++ b/docs/PackagesApiCombinedPackageExport.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIPackageCombined>**](ModelsAPIPackageCombined.md) | | | ## Example diff --git a/docs/PackagesApiPackagesByVulnCount.md b/docs/PackagesApiPackagesByVulnCount.md index 81d14858..02854e08 100644 --- a/docs/PackagesApiPackagesByVulnCount.md +++ b/docs/PackagesApiPackagesByVulnCount.md @@ -5,8 +5,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **resources** | [**Array<ModelsAPIPackagesByVulnCount>**](ModelsAPIPackagesByVulnCount.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/ParameterActivityConfigParameterValue.md b/docs/ParameterActivityConfigParameterValue.md index eb7fa8e3..8ade175c 100644 --- a/docs/ParameterActivityConfigParameterValue.md +++ b/docs/ParameterActivityConfigParameterValue.md @@ -6,6 +6,7 @@ | ---- | ---- | ----------- | ----- | | **default_value** | **Object** | | [optional] | | **deny_override** | **Boolean** | Specifies whether the given activity configuration property can be overridden at provisioning time. | [optional] | +| **helper_text** | **String** | Optional text/description which can be used to provide differentiation for parameterized fields during app installation. | [optional] | | **required** | **Boolean** | Indication of whether the property must be specified as a parameter during template provisioning. | | ## Example @@ -16,6 +17,7 @@ require 'crimson-falcon' instance = Falcon::ParameterActivityConfigParameterValue.new( default_value: null, deny_override: null, + helper_text: null, required: null ) ``` diff --git a/docs/ParameterConditionFieldParameter.md b/docs/ParameterConditionFieldParameter.md index e1501232..ea6a2495 100644 --- a/docs/ParameterConditionFieldParameter.md +++ b/docs/ParameterConditionFieldParameter.md @@ -6,6 +6,7 @@ | ---- | ---- | ----------- | ----- | | **default_operator** | **String** | Optional default operator to be used as part of the condition | [optional] | | **default_value** | **Object** | | [optional] | +| **helper_text** | **String** | Optional text/description which can be used to provide differentiation for parameterized fields during app installation. | [optional] | | **multiple** | **Boolean** | Whether the field can be specified multiple times as provisioning parameter. When true, all values or combined via an OR operator. | | | **operator** | **String** | The default operator that should be applied for this field. | [optional] | | **required** | **Boolean** | Indicates whether the field must be specified as a parameter at provision time. | | @@ -18,6 +19,7 @@ require 'crimson-falcon' instance = Falcon::ParameterConditionFieldParameter.new( default_operator: null, default_value: null, + helper_text: null, multiple: null, operator: null, required: null diff --git a/docs/ParameterConditionFieldProvisionParameter.md b/docs/ParameterConditionFieldProvisionParameter.md index 3d1afc84..4aa9bd59 100644 --- a/docs/ParameterConditionFieldProvisionParameter.md +++ b/docs/ParameterConditionFieldProvisionParameter.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **condition_group_id** | **String** | specifies the conditin group id inside the flow node. This is needed since with or support now we can have multiple instances of the same variable | | | **name** | **String** | Fully qualified name of the field | | | **operator** | **String** | Optional operator to be used as part of the condition. It not supplied the default in the template will be used. | | | **value** | **Object** | | | @@ -14,6 +15,7 @@ require 'crimson-falcon' instance = Falcon::ParameterConditionFieldProvisionParameter.new( + condition_group_id: null, name: null, operator: null, value: null diff --git a/docs/PatterndispositionPatternDisposition.md b/docs/PatterndispositionPatternDisposition.md index dfc5db22..85e18588 100644 --- a/docs/PatterndispositionPatternDisposition.md +++ b/docs/PatterndispositionPatternDisposition.md @@ -6,6 +6,7 @@ | ---- | ---- | ----------- | ----- | | **blocking_unsupported_or_disabled** | **Boolean** | | | | **bootup_safeguard_enabled** | **Boolean** | | | +| **containment_file_system** | **Boolean** | | | | **critical_process_disabled** | **Boolean** | | | | **detect** | **Boolean** | | | | **fs_operation_blocked** | **Boolean** | | | @@ -16,12 +17,17 @@ | **kill_parent** | **Boolean** | | | | **kill_process** | **Boolean** | | | | **kill_subprocess** | **Boolean** | | | +| **mfa_required** | **Boolean** | | | | **operation_blocked** | **Boolean** | | | | **policy_disabled** | **Boolean** | | | +| **prevention_provisioning_enabled** | **Boolean** | | | | **process_blocked** | **Boolean** | | | | **quarantine_file** | **Boolean** | | | | **quarantine_machine** | **Boolean** | | | | **registry_operation_blocked** | **Boolean** | | | +| **response_action_already_applied** | **Boolean** | | | +| **response_action_failed** | **Boolean** | | | +| **response_action_triggered** | **Boolean** | | | | **rooting** | **Boolean** | | | | **sensor_only** | **Boolean** | | | | **suspend_parent** | **Boolean** | | | @@ -35,6 +41,7 @@ require 'crimson-falcon' instance = Falcon::PatterndispositionPatternDisposition.new( blocking_unsupported_or_disabled: null, bootup_safeguard_enabled: null, + containment_file_system: null, critical_process_disabled: null, detect: null, fs_operation_blocked: null, @@ -45,12 +52,17 @@ instance = Falcon::PatterndispositionPatternDisposition.new( kill_parent: null, kill_process: null, kill_subprocess: null, + mfa_required: null, operation_blocked: null, policy_disabled: null, + prevention_provisioning_enabled: null, process_blocked: null, quarantine_file: null, quarantine_machine: null, registry_operation_blocked: null, + response_action_already_applied: null, + response_action_failed: null, + response_action_triggered: null, rooting: null, sensor_only: null, suspend_parent: null, diff --git a/docs/PoliciesDeleteResponse.md b/docs/PoliciesDeleteResponse.md index 25ca175a..fefd68a6 100644 --- a/docs/PoliciesDeleteResponse.md +++ b/docs/PoliciesDeleteResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/PoliciesPolicy.md b/docs/PoliciesPolicy.md index 5ede3f8a..978b1989 100644 --- a/docs/PoliciesPolicy.md +++ b/docs/PoliciesPolicy.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **cid** | **String** | | | | **created_by** | **String** | | [optional] | | **created_timestamp** | **String** | | | | **description** | **String** | | [optional] | @@ -23,6 +24,7 @@ require 'crimson-falcon' instance = Falcon::PoliciesPolicy.new( + cid: null, created_by: null, created_timestamp: null, description: null, diff --git a/docs/PoliciesPrecedenceResponse.md b/docs/PoliciesPrecedenceResponse.md index 3d8a129f..47c7114e 100644 --- a/docs/PoliciesPrecedenceResponse.md +++ b/docs/PoliciesPrecedenceResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/PoliciesResponse.md b/docs/PoliciesResponse.md index 756a29cf..cc76e7d3 100644 --- a/docs/PoliciesResponse.md +++ b/docs/PoliciesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<PoliciesPolicy>**](PoliciesPolicy.md) | | | ## Example diff --git a/docs/PreventionPoliciesApi.md b/docs/PreventionPoliciesApi.md index 751f8048..2d77c814 100644 --- a/docs/PreventionPoliciesApi.md +++ b/docs/PreventionPoliciesApi.md @@ -1,6 +1,6 @@ # Falcon::PreventionPoliciesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/PreventionRespV1.md b/docs/PreventionRespV1.md index 38e4435b..371ede04 100644 --- a/docs/PreventionRespV1.md +++ b/docs/PreventionRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<PreventionPolicyV1>**](PreventionPolicyV1.md) | | | ## Example diff --git a/docs/ProcessesapiMsaProcessDetailResponse.md b/docs/ProcessesapiMsaProcessDetailResponse.md index ef4824dd..8a31139b 100644 --- a/docs/ProcessesapiMsaProcessDetailResponse.md +++ b/docs/ProcessesapiMsaProcessDetailResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ProcessesapiProcessDetail>**](ProcessesapiProcessDetail.md) | | | ## Example diff --git a/docs/ChangesGetChangesResponse.md b/docs/PublicGetChangesResponse.md similarity index 53% rename from docs/ChangesGetChangesResponse.md rename to docs/PublicGetChangesResponse.md index 2f6ea2c9..e8f527bd 100644 --- a/docs/ChangesGetChangesResponse.md +++ b/docs/PublicGetChangesResponse.md @@ -1,11 +1,11 @@ -# Falcon::ChangesGetChangesResponse +# Falcon::PublicGetChangesResponse ## Properties | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ChangesChange>**](ChangesChange.md) | | | ## Example @@ -13,7 +13,7 @@ ```ruby require 'crimson-falcon' -instance = Falcon::ChangesGetChangesResponse.new( +instance = Falcon::PublicGetChangesResponse.new( errors: null, meta: null, resources: null diff --git a/docs/QuarantineApi.md b/docs/QuarantineApi.md index d3fa93a6..1dafd6dc 100644 --- a/docs/QuarantineApi.md +++ b/docs/QuarantineApi.md @@ -1,6 +1,6 @@ # Falcon::QuarantineApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/QuickScanApi.md b/docs/QuickScanApi.md index 67e34f2d..1807e160 100644 --- a/docs/QuickScanApi.md +++ b/docs/QuickScanApi.md @@ -1,12 +1,12 @@ # Falcon::QuickScanApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | | [**get_scans**](QuickScanApi.md#get_scans) | **GET** /scanner/entities/scans/v1 | Check the status of a volume scan. Time required for analysis increases with the number of samples in a volume but usually it should take less than 1 minute | | [**get_scans_aggregates**](QuickScanApi.md#get_scans_aggregates) | **POST** /scanner/aggregates/scans/GET/v1 | Get scans aggregations as specified via json in request body. | -| [**query_submissions_mixin0**](QuickScanApi.md#query_submissions_mixin0) | **GET** /scanner/queries/scans/v1 | Find IDs for submitted scans by providing an FQL filter and paging details. Returns a set of volume IDs that match your criteria. | +| [**query_submissions**](QuickScanApi.md#query_submissions) | **GET** /scanner/queries/scans/v1 | Find IDs for submitted scans by providing an FQL filter and paging details. Returns a set of volume IDs that match your criteria. | | [**scan_samples**](QuickScanApi.md#scan_samples) | **POST** /scanner/entities/scans/v1 | Submit a volume of files for ml scanning. Time required for analysis increases with the number of samples in a volume but usually it should take less than 1 minute | @@ -147,9 +147,9 @@ nil (empty response body) - **Accept**: application/json -## query_submissions_mixin0 +## query_submissions -> query_submissions_mixin0(opts) +> query_submissions(opts) Find IDs for submitted scans by providing an FQL filter and paging details. Returns a set of volume IDs that match your criteria. @@ -176,28 +176,28 @@ opts = { begin # Find IDs for submitted scans by providing an FQL filter and paging details. Returns a set of volume IDs that match your criteria. - result = api_instance.query_submissions_mixin0(opts) + result = api_instance.query_submissions(opts) p result rescue Falcon::ApiError => e - puts "Error when calling QuickScanApi->query_submissions_mixin0: #{e}" + puts "Error when calling QuickScanApi->query_submissions: #{e}" end ``` -#### Using the query_submissions_mixin0_with_http_info variant +#### Using the query_submissions_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_submissions_mixin0_with_http_info(opts) +> , Integer, Hash)> query_submissions_with_http_info(opts) ```ruby begin # Find IDs for submitted scans by providing an FQL filter and paging details. Returns a set of volume IDs that match your criteria. - data, status_code, headers = api_instance.query_submissions_mixin0_with_http_info(opts) + data, status_code, headers = api_instance.query_submissions_with_http_info(opts) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling QuickScanApi->query_submissions_mixin0_with_http_info: #{e}" + puts "Error when calling QuickScanApi->query_submissions_with_http_info: #{e}" end ``` diff --git a/docs/QuickScanProApi.md b/docs/QuickScanProApi.md new file mode 100644 index 00000000..d57f53b9 --- /dev/null +++ b/docs/QuickScanProApi.md @@ -0,0 +1,439 @@ +# Falcon::QuickScanProApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**delete_file**](QuickScanProApi.md#delete_file) | **DELETE** /quickscanpro/entities/files/v1 | Deletes file by its sha256 identifier. | +| [**delete_scan_result**](QuickScanProApi.md#delete_scan_result) | **DELETE** /quickscanpro/entities/scans/v1 | Deletes the result of an QuickScan Pro scan. | +| [**get_scan_result**](QuickScanProApi.md#get_scan_result) | **GET** /quickscanpro/entities/scans/v1 | Gets the result of an QuickScan Pro scan. | +| [**launch_scan**](QuickScanProApi.md#launch_scan) | **POST** /quickscanpro/entities/scans/v1 | Starts scanning a file uploaded through '/quickscanpro/entities/files/v1'. | +| [**query_scan_results**](QuickScanProApi.md#query_scan_results) | **GET** /quickscanpro/queries/scans/v1 | FQL query specifying the filter parameters | +| [**upload_file_quick_scan_pro**](QuickScanProApi.md#upload_file_quick_scan_pro) | **POST** /quickscanpro/entities/files/v1 | Uploads a file to be further analyzed with QuickScan Pro. The samples expire after 90 days. | + + +## delete_file + +> delete_file(ids) + +Deletes file by its sha256 identifier. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::QuickScanProApi.new +ids = ['inner_example'] # Array | File's SHA256 + +begin + # Deletes file by its sha256 identifier. + result = api_instance.delete_file(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->delete_file: #{e}" +end +``` + +#### Using the delete_file_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> delete_file_with_http_info(ids) + +```ruby +begin + # Deletes file by its sha256 identifier. + data, status_code, headers = api_instance.delete_file_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->delete_file_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | File's SHA256 | | + +### Return type + +[**QuickscanproDeleteFileResponse**](QuickscanproDeleteFileResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## delete_scan_result + +> delete_scan_result(ids) + +Deletes the result of an QuickScan Pro scan. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::QuickScanProApi.new +ids = ['inner_example'] # Array | Scan job IDs previously created by LaunchScan + +begin + # Deletes the result of an QuickScan Pro scan. + result = api_instance.delete_scan_result(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->delete_scan_result: #{e}" +end +``` + +#### Using the delete_scan_result_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> delete_scan_result_with_http_info(ids) + +```ruby +begin + # Deletes the result of an QuickScan Pro scan. + data, status_code, headers = api_instance.delete_scan_result_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->delete_scan_result_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | Scan job IDs previously created by LaunchScan | | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## get_scan_result + +> get_scan_result(ids) + +Gets the result of an QuickScan Pro scan. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::QuickScanProApi.new +ids = ['inner_example'] # Array | Scan job IDs previously created by LaunchScan + +begin + # Gets the result of an QuickScan Pro scan. + result = api_instance.get_scan_result(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->get_scan_result: #{e}" +end +``` + +#### Using the get_scan_result_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_scan_result_with_http_info(ids) + +```ruby +begin + # Gets the result of an QuickScan Pro scan. + data, status_code, headers = api_instance.get_scan_result_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->get_scan_result_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | Scan job IDs previously created by LaunchScan | | + +### Return type + +[**QuickscanproGetScanResultResponse**](QuickscanproGetScanResultResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## launch_scan + +> launch_scan(body) + +Starts scanning a file uploaded through '/quickscanpro/entities/files/v1'. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::QuickScanProApi.new +body = Falcon::QuickscanproLaunchScanRequest.new({resources: [Falcon::QuickscanproLaunchScanRequestResource.new({sha256: 'sha256_example'})]}) # QuickscanproLaunchScanRequest | + +begin + # Starts scanning a file uploaded through '/quickscanpro/entities/files/v1'. + result = api_instance.launch_scan(body) + p result +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->launch_scan: #{e}" +end +``` + +#### Using the launch_scan_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> launch_scan_with_http_info(body) + +```ruby +begin + # Starts scanning a file uploaded through '/quickscanpro/entities/files/v1'. + data, status_code, headers = api_instance.launch_scan_with_http_info(body) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->launch_scan_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**QuickscanproLaunchScanRequest**](QuickscanproLaunchScanRequest.md) | | | + +### Return type + +[**QuickscanproLaunchScanResponse**](QuickscanproLaunchScanResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +## query_scan_results + +> query_scan_results(filter, opts) + +FQL query specifying the filter parameters + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::QuickScanProApi.new +filter = 'filter_example' # String | Empty value means to not filter on anything Available filter fields that supports match (~): _all, mitre_attacks.description Available filter fields that supports exact match: cid,sha256,id,status,type,entity,executor,verdict,verdict_reason,verdict_source,artifacts.file_artifacts.sha256,artifacts.file_artifacts.filename,artifacts.file_artifacts.verdict,artifacts.file_artifacts.verdict_reasons,artifacts.url_artifacts.url,artifacts.url_artifacts.verdict,artifacts.url_artifacts.verdict_reasons,mitre_attacks.attack_id,mitre_attacks.attack_id_wiki,mitre_attacks.tactic,mitre_attacks.technique,mitre_attacks.capec_id,mitre_attacks.parent.attack_id,mitre_attacks.parent.attack_id_wiki,mitre_attacks.parent.technique Available filter fields that supports wildcard (*): mitre_attacks.description Available filter fields that supports range comparisons (>, <, >=, <=): created_timestamp, updated_timestamp All filter fields and operations supports negation (!). _all field is used to search between all fields. +opts = { + offset: 56, # Integer | The offset to start retrieving ids from. + limit: 56, # Integer | Maximum number of IDs to return. Max: 5000. + sort: 'sort_example' # String | Sort order: `asc` or `desc`. Sort supported fields `created_timestamp` +} + +begin + # FQL query specifying the filter parameters + result = api_instance.query_scan_results(filter, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->query_scan_results: #{e}" +end +``` + +#### Using the query_scan_results_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> query_scan_results_with_http_info(filter, opts) + +```ruby +begin + # FQL query specifying the filter parameters + data, status_code, headers = api_instance.query_scan_results_with_http_info(filter, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->query_scan_results_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | Empty value means to not filter on anything Available filter fields that supports match (~): _all, mitre_attacks.description Available filter fields that supports exact match: cid,sha256,id,status,type,entity,executor,verdict,verdict_reason,verdict_source,artifacts.file_artifacts.sha256,artifacts.file_artifacts.filename,artifacts.file_artifacts.verdict,artifacts.file_artifacts.verdict_reasons,artifacts.url_artifacts.url,artifacts.url_artifacts.verdict,artifacts.url_artifacts.verdict_reasons,mitre_attacks.attack_id,mitre_attacks.attack_id_wiki,mitre_attacks.tactic,mitre_attacks.technique,mitre_attacks.capec_id,mitre_attacks.parent.attack_id,mitre_attacks.parent.attack_id_wiki,mitre_attacks.parent.technique Available filter fields that supports wildcard (*): mitre_attacks.description Available filter fields that supports range comparisons (>, <, >=, <=): created_timestamp, updated_timestamp All filter fields and operations supports negation (!). _all field is used to search between all fields. | | +| **offset** | **Integer** | The offset to start retrieving ids from. | [optional] | +| **limit** | **Integer** | Maximum number of IDs to return. Max: 5000. | [optional][default to 50] | +| **sort** | **String** | Sort order: `asc` or `desc`. Sort supported fields `created_timestamp` | [optional] | + +### Return type + +[**QuickscanproQueryScanResultsResponse**](QuickscanproQueryScanResultsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## upload_file_quick_scan_pro + +> upload_file_quick_scan_pro(file, opts) + +Uploads a file to be further analyzed with QuickScan Pro. The samples expire after 90 days. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::QuickScanProApi.new +file = File.new('/path/to/some/file') # File | Binary file to be uploaded. Max file size: 256 MB. +opts = { + scan: true # Boolean | If true, after upload, it starts scanning immediately. Default scan mode is 'false' +} + +begin + # Uploads a file to be further analyzed with QuickScan Pro. The samples expire after 90 days. + result = api_instance.upload_file_quick_scan_pro(file, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->upload_file_quick_scan_pro: #{e}" +end +``` + +#### Using the upload_file_quick_scan_pro_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> upload_file_quick_scan_pro_with_http_info(file, opts) + +```ruby +begin + # Uploads a file to be further analyzed with QuickScan Pro. The samples expire after 90 days. + data, status_code, headers = api_instance.upload_file_quick_scan_pro_with_http_info(file, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling QuickScanProApi->upload_file_quick_scan_pro_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **file** | **File** | Binary file to be uploaded. Max file size: 256 MB. | | +| **scan** | **Boolean** | If true, after upload, it starts scanning immediately. Default scan mode is 'false' | [optional][default to false] | + +### Return type + +[**QuickscanproFileUploadResponse**](QuickscanproFileUploadResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: multipart/form-data +- **Accept**: application/json + diff --git a/docs/QuickscanproDeleteFileResponse.md b/docs/QuickscanproDeleteFileResponse.md new file mode 100644 index 00000000..8f6457d6 --- /dev/null +++ b/docs/QuickscanproDeleteFileResponse.md @@ -0,0 +1,22 @@ +# Falcon::QuickscanproDeleteFileResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | **Array<String>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproDeleteFileResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/QuickscanproFileResult.md b/docs/QuickscanproFileResult.md new file mode 100644 index 00000000..f79f91d3 --- /dev/null +++ b/docs/QuickscanproFileResult.md @@ -0,0 +1,24 @@ +# Falcon::QuickscanproFileResult + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filename** | **String** | | [optional] | +| **sha256** | **String** | | | +| **verdict** | **String** | | | +| **verdict_reason** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproFileResult.new( + filename: null, + sha256: null, + verdict: null, + verdict_reason: null +) +``` + diff --git a/docs/QuickscanproFileUploadResource.md b/docs/QuickscanproFileUploadResource.md new file mode 100644 index 00000000..04f1a4b0 --- /dev/null +++ b/docs/QuickscanproFileUploadResource.md @@ -0,0 +1,20 @@ +# Falcon::QuickscanproFileUploadResource + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **scan_id** | **String** | | [optional] | +| **sha256** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproFileUploadResource.new( + scan_id: null, + sha256: null +) +``` + diff --git a/docs/QuickscanproFileUploadResponse.md b/docs/QuickscanproFileUploadResponse.md new file mode 100644 index 00000000..73d39090 --- /dev/null +++ b/docs/QuickscanproFileUploadResponse.md @@ -0,0 +1,24 @@ +# Falcon::QuickscanproFileUploadResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **quota** | [**QuickscanproQuotaResource**](QuickscanproQuotaResource.md) | | [optional] | +| **resources** | [**Array<QuickscanproFileUploadResource>**](QuickscanproFileUploadResource.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproFileUploadResponse.new( + errors: null, + meta: null, + quota: null, + resources: null +) +``` + diff --git a/docs/QuickscanproGetScanResultResource.md b/docs/QuickscanproGetScanResultResource.md new file mode 100644 index 00000000..2494e23b --- /dev/null +++ b/docs/QuickscanproGetScanResultResource.md @@ -0,0 +1,22 @@ +# Falcon::QuickscanproGetScanResultResource + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | | | +| **result** | [**QuickscanproScanResult**](QuickscanproScanResult.md) | | | +| **scan** | [**QuickscanproScanMetadata**](QuickscanproScanMetadata.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproGetScanResultResource.new( + id: null, + result: null, + scan: null +) +``` + diff --git a/docs/QuickscanproGetScanResultResponse.md b/docs/QuickscanproGetScanResultResponse.md new file mode 100644 index 00000000..06141483 --- /dev/null +++ b/docs/QuickscanproGetScanResultResponse.md @@ -0,0 +1,22 @@ +# Falcon::QuickscanproGetScanResultResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<QuickscanproGetScanResultResource>**](QuickscanproGetScanResultResource.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproGetScanResultResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/QuickscanproLaunchScanRequest.md b/docs/QuickscanproLaunchScanRequest.md new file mode 100644 index 00000000..b155c8a5 --- /dev/null +++ b/docs/QuickscanproLaunchScanRequest.md @@ -0,0 +1,18 @@ +# Falcon::QuickscanproLaunchScanRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<QuickscanproLaunchScanRequestResource>**](QuickscanproLaunchScanRequestResource.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproLaunchScanRequest.new( + resources: null +) +``` + diff --git a/docs/QuickscanproLaunchScanRequestResource.md b/docs/QuickscanproLaunchScanRequestResource.md new file mode 100644 index 00000000..ecf43c7b --- /dev/null +++ b/docs/QuickscanproLaunchScanRequestResource.md @@ -0,0 +1,18 @@ +# Falcon::QuickscanproLaunchScanRequestResource + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **sha256** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproLaunchScanRequestResource.new( + sha256: null +) +``` + diff --git a/docs/QuickscanproLaunchScanResource.md b/docs/QuickscanproLaunchScanResource.md new file mode 100644 index 00000000..3afbe5fa --- /dev/null +++ b/docs/QuickscanproLaunchScanResource.md @@ -0,0 +1,22 @@ +# Falcon::QuickscanproLaunchScanResource + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **created_timestamp** | **Time** | | | +| **id** | **String** | | | +| **sha256** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproLaunchScanResource.new( + created_timestamp: null, + id: null, + sha256: null +) +``` + diff --git a/docs/QuickscanproLaunchScanResponse.md b/docs/QuickscanproLaunchScanResponse.md new file mode 100644 index 00000000..53f9ddcd --- /dev/null +++ b/docs/QuickscanproLaunchScanResponse.md @@ -0,0 +1,24 @@ +# Falcon::QuickscanproLaunchScanResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **quota** | [**QuickscanproQuotaResource**](QuickscanproQuotaResource.md) | | [optional] | +| **resources** | [**Array<QuickscanproLaunchScanResource>**](QuickscanproLaunchScanResource.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproLaunchScanResponse.new( + errors: null, + meta: null, + quota: null, + resources: null +) +``` + diff --git a/docs/QuickscanproMITREAttack.md b/docs/QuickscanproMITREAttack.md new file mode 100644 index 00000000..e58ae8ad --- /dev/null +++ b/docs/QuickscanproMITREAttack.md @@ -0,0 +1,30 @@ +# Falcon::QuickscanproMITREAttack + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **attack_id** | **String** | | [optional] | +| **attack_id_wiki** | **String** | | [optional] | +| **capec_id** | **String** | | [optional] | +| **description** | **String** | | [optional] | +| **parent** | [**QuickscanproMITREAttackParent**](QuickscanproMITREAttackParent.md) | | [optional] | +| **tactic** | **String** | | [optional] | +| **technique** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproMITREAttack.new( + attack_id: null, + attack_id_wiki: null, + capec_id: null, + description: null, + parent: null, + tactic: null, + technique: null +) +``` + diff --git a/docs/QuickscanproMITREAttackParent.md b/docs/QuickscanproMITREAttackParent.md new file mode 100644 index 00000000..908cef90 --- /dev/null +++ b/docs/QuickscanproMITREAttackParent.md @@ -0,0 +1,22 @@ +# Falcon::QuickscanproMITREAttackParent + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **attack_id** | **String** | | [optional] | +| **attack_id_wiki** | **String** | | [optional] | +| **technique** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproMITREAttackParent.new( + attack_id: null, + attack_id_wiki: null, + technique: null +) +``` + diff --git a/docs/QuickscanproQueryScanResultsResponse.md b/docs/QuickscanproQueryScanResultsResponse.md new file mode 100644 index 00000000..15e20689 --- /dev/null +++ b/docs/QuickscanproQueryScanResultsResponse.md @@ -0,0 +1,22 @@ +# Falcon::QuickscanproQueryScanResultsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | **Array<String>** | scan IDs | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproQueryScanResultsResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/QuickscanproQuotaResource.md b/docs/QuickscanproQuotaResource.md new file mode 100644 index 00000000..90a085f6 --- /dev/null +++ b/docs/QuickscanproQuotaResource.md @@ -0,0 +1,22 @@ +# Falcon::QuickscanproQuotaResource + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **in_progress** | **Integer** | | [optional] | +| **total** | **Integer** | | | +| **used** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproQuotaResource.new( + in_progress: null, + total: null, + used: null +) +``` + diff --git a/docs/QuickscanproScanMetadata.md b/docs/QuickscanproScanMetadata.md new file mode 100644 index 00000000..4826e7d9 --- /dev/null +++ b/docs/QuickscanproScanMetadata.md @@ -0,0 +1,24 @@ +# Falcon::QuickscanproScanMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **created_timestamp** | **Time** | | | +| **sha256** | **String** | | | +| **status** | **String** | | | +| **updated_timestamp** | **Time** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproScanMetadata.new( + created_timestamp: null, + sha256: null, + status: null, + updated_timestamp: null +) +``` + diff --git a/docs/QuickscanproScanResult.md b/docs/QuickscanproScanResult.md new file mode 100644 index 00000000..ff81cdd8 --- /dev/null +++ b/docs/QuickscanproScanResult.md @@ -0,0 +1,30 @@ +# Falcon::QuickscanproScanResult + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **beta_intelligence_context** | **Object** | | [optional] | +| **file_artifacts** | [**Array<QuickscanproFileResult>**](QuickscanproFileResult.md) | | | +| **mitre_attacks** | [**Array<QuickscanproMITREAttack>**](QuickscanproMITREAttack.md) | | [optional] | +| **url_artifacts** | [**Array<QuickscanproURLResult>**](QuickscanproURLResult.md) | | [optional] | +| **verdict** | **String** | | | +| **verdict_reason** | **String** | | | +| **verdict_source** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproScanResult.new( + beta_intelligence_context: null, + file_artifacts: null, + mitre_attacks: null, + url_artifacts: null, + verdict: null, + verdict_reason: null, + verdict_source: null +) +``` + diff --git a/docs/QuickscanproURLResult.md b/docs/QuickscanproURLResult.md new file mode 100644 index 00000000..76b289c2 --- /dev/null +++ b/docs/QuickscanproURLResult.md @@ -0,0 +1,22 @@ +# Falcon::QuickscanproURLResult + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **url** | **String** | | | +| **verdict** | **String** | | | +| **verdict_reason** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::QuickscanproURLResult.new( + url: null, + verdict: null, + verdict_reason: null +) +``` + diff --git a/docs/RealTimeResponseAdminApi.md b/docs/RealTimeResponseAdminApi.md index bcd97d77..224bd68a 100644 --- a/docs/RealTimeResponseAdminApi.md +++ b/docs/RealTimeResponseAdminApi.md @@ -1,6 +1,6 @@ # Falcon::RealTimeResponseAdminApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -42,7 +42,7 @@ Falcon.configure do |config| end api_instance = Falcon::RealTimeResponseAdminApi.new -body = Falcon::DomainBatchExecuteCommandRequest.new({base_command: 'base_command_example', batch_id: 'batch_id_example', command_string: 'command_string_example', optional_hosts: ['optional_hosts_example'], persist_all: false}) # DomainBatchExecuteCommandRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. +body = Falcon::DomainBatchExecuteCommandRequest.new({base_command: 'base_command_example', batch_id: 'batch_id_example', command_string: 'command_string_example', optional_hosts: ['optional_hosts_example'], persist_all: false}) # DomainBatchExecuteCommandRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. opts = { timeout: 56, # Integer | Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. timeout_duration: 'timeout_duration_example', # String | Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. @@ -80,7 +80,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**DomainBatchExecuteCommandRequest**](DomainBatchExecuteCommandRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. | | +| **body** | [**DomainBatchExecuteCommandRequest**](DomainBatchExecuteCommandRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. | | | **timeout** | **Integer** | Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. | [optional][default to 30] | | **timeout_duration** | **String** | Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. | [optional][default to '30s'] | | **host_timeout_duration** | **String** | Timeout duration for how long a host has time to complete processing. Default value is a bit less than the overall timeout value. It cannot be greater than the overall request timeout. Maximum is < 5 minutes. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. | [optional][default to 'tiny bit less than overall request timeout'] | @@ -488,7 +488,7 @@ Falcon.configure do |config| end api_instance = Falcon::RealTimeResponseAdminApi.new -body = Falcon::DomainCommandExecuteRequest.new({base_command: 'base_command_example', command_string: 'command_string_example', device_id: 'device_id_example', id: 37, persist: false, session_id: 'session_id_example'}) # DomainCommandExecuteRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on +body = Falcon::DomainCommandExecuteRequest.new({base_command: 'base_command_example', command_string: 'command_string_example', device_id: 'device_id_example', id: 37, persist: false, session_id: 'session_id_example'}) # DomainCommandExecuteRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on begin # Execute a RTR administrator command on a single host. @@ -521,7 +521,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**DomainCommandExecuteRequest**](DomainCommandExecuteRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on | | +| **body** | [**DomainCommandExecuteRequest**](DomainCommandExecuteRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on | | ### Return type diff --git a/docs/RealTimeResponseApi.md b/docs/RealTimeResponseApi.md index 3e13a942..557b8c4c 100644 --- a/docs/RealTimeResponseApi.md +++ b/docs/RealTimeResponseApi.md @@ -1,6 +1,6 @@ # Falcon::RealTimeResponseApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -49,7 +49,7 @@ Falcon.configure do |config| end api_instance = Falcon::RealTimeResponseApi.new -body = Falcon::DomainBatchExecuteCommandRequest.new({base_command: 'base_command_example', batch_id: 'batch_id_example', command_string: 'command_string_example', optional_hosts: ['optional_hosts_example'], persist_all: false}) # DomainBatchExecuteCommandRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. +body = Falcon::DomainBatchExecuteCommandRequest.new({base_command: 'base_command_example', batch_id: 'batch_id_example', command_string: 'command_string_example', optional_hosts: ['optional_hosts_example'], persist_all: false}) # DomainBatchExecuteCommandRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. opts = { timeout: 56, # Integer | Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. timeout_duration: 'timeout_duration_example', # String | Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. @@ -87,7 +87,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**DomainBatchExecuteCommandRequest**](DomainBatchExecuteCommandRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. | | +| **body** | [**DomainBatchExecuteCommandRequest**](DomainBatchExecuteCommandRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. | | | **timeout** | **Integer** | Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. | [optional][default to 30] | | **timeout_duration** | **String** | Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. | [optional][default to '30s'] | | **host_timeout_duration** | **String** | Timeout duration for how long a host has time to complete processing. Default value is a bit less than the overall timeout value. It cannot be greater than the overall request timeout. Maximum is < 5 minutes. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. | [optional][default to 'tiny bit less than overall request timeout'] | @@ -126,7 +126,7 @@ Falcon.configure do |config| end api_instance = Falcon::RealTimeResponseApi.new -body = Falcon::DomainBatchExecuteCommandRequest.new({base_command: 'base_command_example', batch_id: 'batch_id_example', command_string: 'command_string_example', optional_hosts: ['optional_hosts_example'], persist_all: false}) # DomainBatchExecuteCommandRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. +body = Falcon::DomainBatchExecuteCommandRequest.new({base_command: 'base_command_example', batch_id: 'batch_id_example', command_string: 'command_string_example', optional_hosts: ['optional_hosts_example'], persist_all: false}) # DomainBatchExecuteCommandRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. opts = { timeout: 56, # Integer | Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. timeout_duration: 'timeout_duration_example', # String | Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. @@ -164,7 +164,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**DomainBatchExecuteCommandRequest**](DomainBatchExecuteCommandRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. | | +| **body** | [**DomainBatchExecuteCommandRequest**](DomainBatchExecuteCommandRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. | | | **timeout** | **Integer** | Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. | [optional][default to 30] | | **timeout_duration** | **String** | Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. | [optional][default to '30s'] | | **host_timeout_duration** | **String** | Timeout duration for how long a host has time to complete processing. Default value is a bit less than the overall timeout value. It cannot be greater than the overall request timeout. Maximum is < 5 minutes. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. | [optional][default to 'tiny bit less than overall request timeout'] | @@ -1000,7 +1000,7 @@ Falcon.configure do |config| end api_instance = Falcon::RealTimeResponseApi.new -body = Falcon::DomainCommandExecuteRequest.new({base_command: 'base_command_example', command_string: 'command_string_example', device_id: 'device_id_example', id: 37, persist: false, session_id: 'session_id_example'}) # DomainCommandExecuteRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on +body = Falcon::DomainCommandExecuteRequest.new({base_command: 'base_command_example', command_string: 'command_string_example', device_id: 'device_id_example', id: 37, persist: false, session_id: 'session_id_example'}) # DomainCommandExecuteRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on begin # Execute an active responder command on a single host. @@ -1033,7 +1033,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**DomainCommandExecuteRequest**](DomainCommandExecuteRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on | | +| **body** | [**DomainCommandExecuteRequest**](DomainCommandExecuteRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on | | ### Return type @@ -1069,7 +1069,7 @@ Falcon.configure do |config| end api_instance = Falcon::RealTimeResponseApi.new -body = Falcon::DomainCommandExecuteRequest.new({base_command: 'base_command_example', command_string: 'command_string_example', device_id: 'device_id_example', id: 37, persist: false, session_id: 'session_id_example'}) # DomainCommandExecuteRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on +body = Falcon::DomainCommandExecuteRequest.new({base_command: 'base_command_example', command_string: 'command_string_example', device_id: 'device_id_example', id: 37, persist: false, session_id: 'session_id_example'}) # DomainCommandExecuteRequest | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on begin # Execute a command on a single host. @@ -1102,7 +1102,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**DomainCommandExecuteRequest**](DomainCommandExecuteRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on | | +| **body** | [**DomainCommandExecuteRequest**](DomainCommandExecuteRequest.md) | Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on | | ### Return type @@ -1120,7 +1120,7 @@ end ## r_tr_get_extracted_file_contents -> Array<Integer> r_tr_get_extracted_file_contents(session_id, sha256, opts) +> File r_tr_get_extracted_file_contents(session_id, sha256, opts) Get RTR extracted file contents for specified session and sha256. @@ -1157,7 +1157,7 @@ end This returns an Array which contains the response data, status code and headers. -> r_tr_get_extracted_file_contents_with_http_info(session_id, sha256, opts) +> r_tr_get_extracted_file_contents_with_http_info(session_id, sha256, opts) ```ruby begin @@ -1165,7 +1165,7 @@ begin data, status_code, headers = api_instance.r_tr_get_extracted_file_contents_with_http_info(session_id, sha256, opts) p status_code # => 2xx p headers # => { ... } - p data # => Array<Integer> + p data # => File rescue Falcon::ApiError => e puts "Error when calling RealTimeResponseApi->r_tr_get_extracted_file_contents_with_http_info: #{e}" end @@ -1181,7 +1181,7 @@ end ### Return type -**Array<Integer>** +**File** ### Authorization diff --git a/docs/RealTimeResponseAuditApi.md b/docs/RealTimeResponseAuditApi.md index 9ab97c1b..f0aa0856 100644 --- a/docs/RealTimeResponseAuditApi.md +++ b/docs/RealTimeResponseAuditApi.md @@ -1,6 +1,6 @@ # Falcon::RealTimeResponseAuditApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ReconApi.md b/docs/ReconApi.md index 9dd21662..144a0c30 100644 --- a/docs/ReconApi.md +++ b/docs/ReconApi.md @@ -1,6 +1,6 @@ # Falcon::ReconApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -16,8 +16,8 @@ All URIs are relative to *https://api.crowdstrike.com* | [**get_actions_v1**](ReconApi.md#get_actions_v1) | **GET** /recon/entities/actions/v1 | Get actions based on their IDs. IDs can be retrieved using the GET /queries/actions/v1 endpoint. | | [**get_export_jobs_v1**](ReconApi.md#get_export_jobs_v1) | **GET** /recon/entities/exports/v1 | Get the status of export jobs based on their IDs. Export jobs can be launched by calling POST /entities/exports/v1. When a job is complete, use the job ID to download the file(s) associated with it using GET entities/export-files/v1. | | [**get_file_content_for_export_jobs_v1**](ReconApi.md#get_file_content_for_export_jobs_v1) | **GET** /recon/entities/export-files/v1 | Download the file associated with a job ID. | -| [**get_notifications_detailed_translated_v1**](ReconApi.md#get_notifications_detailed_translated_v1) | **GET** /recon/entities/notifications-detailed-translated/v1 | Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match.This endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request | -| [**get_notifications_detailed_v1**](ReconApi.md#get_notifications_detailed_v1) | **GET** /recon/entities/notifications-detailed/v1 | Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match. | +| [**get_notifications_detailed_translated_v1**](ReconApi.md#get_notifications_detailed_translated_v1) | **GET** /recon/entities/notifications-detailed-translated/v1 | Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. | +| [**get_notifications_detailed_v1**](ReconApi.md#get_notifications_detailed_v1) | **GET** /recon/entities/notifications-detailed/v1 | Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. | | [**get_notifications_exposed_data_records_v1**](ReconApi.md#get_notifications_exposed_data_records_v1) | **GET** /recon/entities/notifications-exposed-data-records/v1 | Get notifications exposed data records based on their IDs. IDs can be retrieved using the GET /queries/notifications-exposed-data-records/v1 endpoint. The associate notification can be fetched using the /entities/notifications/v* endpoints | | [**get_notifications_translated_v1**](ReconApi.md#get_notifications_translated_v1) | **GET** /recon/entities/notifications-translated/v1 | Get notifications based on their IDs. IDs can be retrieved using the GET /queries/notifications/v1 endpoint. This endpoint will return translated notification content. The only target language available is English. | | [**get_notifications_v1**](ReconApi.md#get_notifications_v1) | **GET** /recon/entities/notifications/v1 | Get notifications based on their IDs. IDs can be retrieved using the GET /queries/notifications/v1 endpoint. | @@ -328,7 +328,7 @@ Falcon.configure do |config| end api_instance = Falcon::ReconApi.new -body = [Falcon::SadomainCreateRuleRequestV1.new({breach_monitoring_enabled: false, filter: 'filter_example', name: 'name_example', permissions: 'permissions_example', priority: 'priority_example', substring_matching_enabled: false, topic: 'topic_example'})] # Array | +body = [Falcon::SadomainCreateRuleRequestV1.new({breach_monitor_only: false, breach_monitoring_enabled: false, filter: 'filter_example', match_on_tsq_result_types: ['match_on_tsq_result_types_example'], name: 'name_example', originating_template_id: 'originating_template_id_example', permissions: 'permissions_example', priority: 'priority_example', substring_matching_enabled: false, topic: 'topic_example'})] # Array | begin # Create monitoring rules. @@ -861,14 +861,16 @@ end ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/octet-stream +- **Accept**: application/octet-stream, application/json ## get_notifications_detailed_translated_v1 > get_notifications_detailed_translated_v1(ids) -Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match.This endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request +Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. + +Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. This API endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request. In case the item's content is only partial, a URL is provided under the resource's 'details.full_content_url' path, but the content available at this URL will be the original one. ### Examples @@ -887,7 +889,7 @@ api_instance = Falcon::ReconApi.new ids = ['inner_example'] # Array | Notification IDs. begin - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match.This endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request + # Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. result = api_instance.get_notifications_detailed_translated_v1(ids) p result rescue Falcon::ApiError => e @@ -903,7 +905,7 @@ This returns an Array which contains the response data, status code and headers. ```ruby begin - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match.This endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request + # Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. data, status_code, headers = api_instance.get_notifications_detailed_translated_v1_with_http_info(ids) p status_code # => 2xx p headers # => { ... } @@ -937,7 +939,9 @@ end > get_notifications_detailed_v1(ids) -Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match. +Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. + +Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. In case the content is only partial, a URL is provided under the resource's 'details.full_content_url' path. When present, use this URL to retrieve the full raw text content of the item. Please note this URL has a limited TTL. To get a fresh valid one, perform a new call to this API endpoint. ### Examples @@ -956,7 +960,7 @@ api_instance = Falcon::ReconApi.new ids = ['inner_example'] # Array | Notification IDs. begin - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match. + # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. result = api_instance.get_notifications_detailed_v1(ids) p result rescue Falcon::ApiError => e @@ -972,7 +976,7 @@ This returns an Array which contains the response data, status code and headers. ```ruby begin - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match. + # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. data, status_code, headers = api_instance.get_notifications_detailed_v1_with_http_info(ids) p status_code # => 2xx p headers # => { ... } @@ -1609,7 +1613,8 @@ opts = { limit: 56, # Integer | Number of IDs to return. Offset + limit should NOT be above 10K. sort: 'sort_example', # String | Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. filter: 'filter_example', # String | FQL query to filter rules by. Possible filter properties are: [id cid user_uuid topic priority permissions status filter breach_monitoring_enabled substring_matching_enabled created_timestamp last_updated_timestamp]. - q: 'q_example' # String | Free text search across all indexed fields. + q: 'q_example', # String | Free text search across all indexed fields. + secondary_sort: 'secondary_sort_example' # String | Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. } begin @@ -1648,6 +1653,7 @@ end | **sort** | **String** | Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. | [optional] | | **filter** | **String** | FQL query to filter rules by. Possible filter properties are: [id cid user_uuid topic priority permissions status filter breach_monitoring_enabled substring_matching_enabled created_timestamp last_updated_timestamp]. | [optional] | | **q** | **String** | Free text search across all indexed fields. | [optional] | +| **secondary_sort** | **String** | Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. | [optional] | ### Return type @@ -1821,7 +1827,7 @@ Falcon.configure do |config| end api_instance = Falcon::ReconApi.new -body = [Falcon::DomainUpdateRuleRequestV1.new({breach_monitoring_enabled: false, filter: 'filter_example', id: 'id_example', name: 'name_example', permissions: 'permissions_example', priority: 'priority_example', substring_matching_enabled: false})] # Array | +body = [Falcon::DomainUpdateRuleRequestV1.new({breach_monitor_only: false, breach_monitoring_enabled: false, filter: 'filter_example', id: 'id_example', name: 'name_example', permissions: 'permissions_example', priority: 'priority_example', substring_matching_enabled: false})] # Array | begin # Update monitoring rules. diff --git a/docs/RegistrationAWSAccountExtV2.md b/docs/RegistrationAWSAccountExtV2.md index 637aeb82..de4de052 100644 --- a/docs/RegistrationAWSAccountExtV2.md +++ b/docs/RegistrationAWSAccountExtV2.md @@ -8,10 +8,13 @@ | **account_type** | **String** | | [optional] | | **behavior_assessment_enabled** | **Boolean** | | [optional] | | **cloudtrail_region** | **String** | | | +| **dspm_enabled** | **Boolean** | | [optional] | +| **dspm_role** | **String** | | [optional] | | **iam_role_arn** | **String** | | | | **is_master** | **Boolean** | | [optional] | | **organization_id** | **String** | | | | **sensor_management_enabled** | **Boolean** | | [optional] | +| **target_ous** | **Array<String>** | | [optional] | | **use_existing_cloudtrail** | **Boolean** | | [optional] | ## Example @@ -24,10 +27,13 @@ instance = Falcon::RegistrationAWSAccountExtV2.new( account_type: null, behavior_assessment_enabled: null, cloudtrail_region: null, + dspm_enabled: null, + dspm_role: null, iam_role_arn: null, is_master: null, organization_id: null, sensor_management_enabled: null, + target_ous: null, use_existing_cloudtrail: null ) ``` diff --git a/docs/RegistrationAWSAccountPatch.md b/docs/RegistrationAWSAccountPatch.md index 9aa040b6..97e0aab2 100644 --- a/docs/RegistrationAWSAccountPatch.md +++ b/docs/RegistrationAWSAccountPatch.md @@ -7,11 +7,14 @@ | **account_id** | **String** | | | | **behavior_assessment_enabled** | **Boolean** | | [optional] | | **cloudtrail_region** | **String** | | [optional] | +| **dspm_enabled** | **Boolean** | | [optional] | +| **dspm_role** | **String** | | [optional] | | **environment** | **String** | | [optional] | | **iam_role_arn** | **String** | | | | **remediation_region** | **String** | | [optional] | | **remediation_tou_accepted** | **Time** | | [optional] | | **sensor_management_enabled** | **Boolean** | | [optional] | +| **target_ous** | **Array<String>** | | [optional] | ## Example @@ -22,11 +25,14 @@ instance = Falcon::RegistrationAWSAccountPatch.new( account_id: null, behavior_assessment_enabled: null, cloudtrail_region: null, + dspm_enabled: null, + dspm_role: null, environment: null, iam_role_arn: null, remediation_region: null, remediation_tou_accepted: null, - sensor_management_enabled: null + sensor_management_enabled: null, + target_ous: null ) ``` diff --git a/docs/RegistrationAWSAccountResponseV2.md b/docs/RegistrationAWSAccountResponseV2.md index 22bb4830..a1ca5474 100644 --- a/docs/RegistrationAWSAccountResponseV2.md +++ b/docs/RegistrationAWSAccountResponseV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainAWSAccountV2>**](DomainAWSAccountV2.md) | | | ## Example diff --git a/docs/RegistrationAWSConsoleURLResponseV2.md b/docs/RegistrationAWSConsoleURLResponseV2.md new file mode 100644 index 00000000..95ce966b --- /dev/null +++ b/docs/RegistrationAWSConsoleURLResponseV2.md @@ -0,0 +1,22 @@ +# Falcon::RegistrationAWSConsoleURLResponseV2 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<RegistrationAWSAccountConsoleURL>**](RegistrationAWSAccountConsoleURL.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationAWSConsoleURLResponseV2.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/RegistrationAWSProvisionGetAccountScriptResponseV2.md b/docs/RegistrationAWSProvisionGetAccountScriptResponseV2.md index 9e0e330e..064a1616 100644 --- a/docs/RegistrationAWSProvisionGetAccountScriptResponseV2.md +++ b/docs/RegistrationAWSProvisionGetAccountScriptResponseV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationAWSAccountScript>**](RegistrationAWSAccountScript.md) | | | ## Example diff --git a/docs/RegistrationAzureAccountResponseV1.md b/docs/RegistrationAzureAccountResponseV1.md index 01089dfa..56c88c3f 100644 --- a/docs/RegistrationAzureAccountResponseV1.md +++ b/docs/RegistrationAzureAccountResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationAzureAccountV1Ext>**](RegistrationAzureAccountV1Ext.md) | | | ## Example diff --git a/docs/RegistrationAzureDownloadCertificateResponseV1.md b/docs/RegistrationAzureDownloadCertificateResponseV1.md index 1ef3ce7b..edf7293d 100644 --- a/docs/RegistrationAzureDownloadCertificateResponseV1.md +++ b/docs/RegistrationAzureDownloadCertificateResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationAzureKeyV1>**](RegistrationAzureKeyV1.md) | | | ## Example diff --git a/docs/RegistrationAzureManagementGroupResponseV1.md b/docs/RegistrationAzureManagementGroupResponseV1.md index f64c008f..b516865d 100644 --- a/docs/RegistrationAzureManagementGroupResponseV1.md +++ b/docs/RegistrationAzureManagementGroupResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationAzureManagementGroupV1Ext>**](RegistrationAzureManagementGroupV1Ext.md) | | | ## Example diff --git a/docs/RegistrationAzureProvisionGetUserScriptResponseV1.md b/docs/RegistrationAzureProvisionGetUserScriptResponseV1.md index 2bf53983..d31f219d 100644 --- a/docs/RegistrationAzureProvisionGetUserScriptResponseV1.md +++ b/docs/RegistrationAzureProvisionGetUserScriptResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationAzureUserScript>**](RegistrationAzureUserScript.md) | | | ## Example diff --git a/docs/RegistrationAzureTenantConfigurationResponseV1.md b/docs/RegistrationAzureTenantConfigurationResponseV1.md index d4a80a1e..1299e1b6 100644 --- a/docs/RegistrationAzureTenantConfigurationResponseV1.md +++ b/docs/RegistrationAzureTenantConfigurationResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainAzureClientServicePrincipalV1>**](DomainAzureClientServicePrincipalV1.md) | | | ## Example diff --git a/docs/RegistrationAzureTenantDefaultSubscriptionIDResponseV1.md b/docs/RegistrationAzureTenantDefaultSubscriptionIDResponseV1.md index 551b8ba4..ffb99cae 100644 --- a/docs/RegistrationAzureTenantDefaultSubscriptionIDResponseV1.md +++ b/docs/RegistrationAzureTenantDefaultSubscriptionIDResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Resources**](Resources.md) | | | ## Example diff --git a/docs/RegistrationAzureTenantIDsResponseV1.md b/docs/RegistrationAzureTenantIDsResponseV1.md index 3116ecfd..176d84db 100644 --- a/docs/RegistrationAzureTenantIDsResponseV1.md +++ b/docs/RegistrationAzureTenantIDsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationAzureTenantIDsResponseV1Resources>**](RegistrationAzureTenantIDsResponseV1Resources.md) | | | ## Example diff --git a/docs/RegistrationExternalIOAEventResponse.md b/docs/RegistrationExternalIOAEventResponse.md index 0abd697b..e9df8fa2 100644 --- a/docs/RegistrationExternalIOAEventResponse.md +++ b/docs/RegistrationExternalIOAEventResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**RegistrationMSAMetaInfoExtension**](RegistrationMSAMetaInfoExtension.md) | | | | **resources** | [**RegistrationExternalIOAResources**](RegistrationExternalIOAResources.md) | | | diff --git a/docs/RegistrationExternalIOMEventResponse.md b/docs/RegistrationExternalIOMEventResponse.md index eaa5cde8..b2185f39 100644 --- a/docs/RegistrationExternalIOMEventResponse.md +++ b/docs/RegistrationExternalIOMEventResponse.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**RegistrationMSAMetaInfoExtension**](RegistrationMSAMetaInfoExtension.md) | | | | **resources** | [**RegistrationIOMResources**](RegistrationIOMResources.md) | | [optional] | diff --git a/docs/RegistrationExternalIOMEventResponseV2.md b/docs/RegistrationExternalIOMEventResponseV2.md index b83e886e..6bca6712 100644 --- a/docs/RegistrationExternalIOMEventResponseV2.md +++ b/docs/RegistrationExternalIOMEventResponseV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationIOMEventV2>**](RegistrationIOMEventV2.md) | | | ## Example diff --git a/docs/RegistrationGCPAccountPatchRequest.md b/docs/RegistrationGCPAccountPatchRequest.md deleted file mode 100644 index f14b7da4..00000000 --- a/docs/RegistrationGCPAccountPatchRequest.md +++ /dev/null @@ -1,18 +0,0 @@ -# Falcon::RegistrationGCPAccountPatchRequest - -## Properties - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **resources** | [**Array<RegistrationGCPAccountPatch>**](RegistrationGCPAccountPatch.md) | | | - -## Example - -```ruby -require 'crimson-falcon' - -instance = Falcon::RegistrationGCPAccountPatchRequest.new( - resources: null -) -``` - diff --git a/docs/RegistrationGCPAccountPatchRequestV1.md b/docs/RegistrationGCPAccountPatchRequestV1.md new file mode 100644 index 00000000..b63f45e4 --- /dev/null +++ b/docs/RegistrationGCPAccountPatchRequestV1.md @@ -0,0 +1,18 @@ +# Falcon::RegistrationGCPAccountPatchRequestV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<RegistrationGCPAccountPatchV1>**](RegistrationGCPAccountPatchV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPAccountPatchRequestV1.new( + resources: null +) +``` + diff --git a/docs/RegistrationGCPAccountPatchV1.md b/docs/RegistrationGCPAccountPatchV1.md new file mode 100644 index 00000000..ecf85fd0 --- /dev/null +++ b/docs/RegistrationGCPAccountPatchV1.md @@ -0,0 +1,22 @@ +# Falcon::RegistrationGCPAccountPatchV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **environment** | **String** | | [optional] | +| **parent_id** | **String** | | | +| **service_account** | [**RegistrationGCPServiceAccountPatchV1**](RegistrationGCPServiceAccountPatchV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPAccountPatchV1.new( + environment: null, + parent_id: null, + service_account: null +) +``` + diff --git a/docs/RegistrationGCPAccountReqObjV2.md b/docs/RegistrationGCPAccountReqObjV2.md index 477bab76..534335c0 100644 --- a/docs/RegistrationGCPAccountReqObjV2.md +++ b/docs/RegistrationGCPAccountReqObjV2.md @@ -11,6 +11,7 @@ | **private_key** | **String** | | [optional] | | **private_key_id** | **String** | | [optional] | | **project_id** | **String** | | [optional] | +| **service_account_conditions** | [**Array<DomainCondition>**](DomainCondition.md) | | [optional] | | **service_account_id** | **Integer** | | [optional] | ## Example @@ -26,6 +27,7 @@ instance = Falcon::RegistrationGCPAccountReqObjV2.new( private_key: null, private_key_id: null, project_id: null, + service_account_conditions: null, service_account_id: null ) ``` diff --git a/docs/RegistrationGCPAccountResponseExtV2.md b/docs/RegistrationGCPAccountResponseExtV2.md index 90858191..8665b630 100644 --- a/docs/RegistrationGCPAccountResponseExtV2.md +++ b/docs/RegistrationGCPAccountResponseExtV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationGCPAccountRspObjV2>**](RegistrationGCPAccountRspObjV2.md) | | | ## Example diff --git a/docs/RegistrationGCPAccountResponseV1.md b/docs/RegistrationGCPAccountResponseV1.md index b72a3d78..3e13475f 100644 --- a/docs/RegistrationGCPAccountResponseV1.md +++ b/docs/RegistrationGCPAccountResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainGCPAccountV1>**](DomainGCPAccountV1.md) | | | ## Example diff --git a/docs/RegistrationGCPAccountRspObjV2.md b/docs/RegistrationGCPAccountRspObjV2.md index be2f07c8..6fe0c794 100644 --- a/docs/RegistrationGCPAccountRspObjV2.md +++ b/docs/RegistrationGCPAccountRspObjV2.md @@ -9,6 +9,7 @@ | **parent_id** | **String** | | | | **parent_type** | **String** | | [optional] | | **project_id** | **String** | | [optional] | +| **service_account_conditions** | [**Array<DomainCondition>**](DomainCondition.md) | | [optional] | | **service_account_id** | **Integer** | | [optional] | ## Example @@ -22,6 +23,7 @@ instance = Falcon::RegistrationGCPAccountRspObjV2.new( parent_id: null, parent_type: null, project_id: null, + service_account_conditions: null, service_account_id: null ) ``` diff --git a/docs/RegistrationGCPAccountValidatedV1.md b/docs/RegistrationGCPAccountValidatedV1.md new file mode 100644 index 00000000..0d118fbf --- /dev/null +++ b/docs/RegistrationGCPAccountValidatedV1.md @@ -0,0 +1,28 @@ +# Falcon::RegistrationGCPAccountValidatedV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **conditions** | [**Array<DomainCondition>**](DomainCondition.md) | Account conditions | [optional] | +| **gcp_permissions_status** | [**Array<DomainPermission>**](DomainPermission.md) | Permissions status | | +| **parent_id** | **String** | | | +| **service_account_conditions** | [**Array<DomainCondition>**](DomainCondition.md) | | [optional] | +| **service_account_id** | **Integer** | Service account ID | [optional] | +| **status** | **String** | Account registration status | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPAccountValidatedV1.new( + conditions: null, + gcp_permissions_status: null, + parent_id: null, + service_account_conditions: null, + service_account_id: null, + status: null +) +``` + diff --git a/docs/RegistrationGCPAccountPatch.md b/docs/RegistrationGCPAccountValidationReqObjV1.md similarity index 55% rename from docs/RegistrationGCPAccountPatch.md rename to docs/RegistrationGCPAccountValidationReqObjV1.md index 6138ba0c..49b2ed4d 100644 --- a/docs/RegistrationGCPAccountPatch.md +++ b/docs/RegistrationGCPAccountValidationReqObjV1.md @@ -1,10 +1,9 @@ -# Falcon::RegistrationGCPAccountPatch +# Falcon::RegistrationGCPAccountValidationReqObjV1 ## Properties | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **environment** | **String** | | [optional] | | **parent_id** | **String** | | | ## Example @@ -12,8 +11,7 @@ ```ruby require 'crimson-falcon' -instance = Falcon::RegistrationGCPAccountPatch.new( - environment: null, +instance = Falcon::RegistrationGCPAccountValidationReqObjV1.new( parent_id: null ) ``` diff --git a/docs/RegistrationGCPAccountValidationRequestV1.md b/docs/RegistrationGCPAccountValidationRequestV1.md new file mode 100644 index 00000000..8066f516 --- /dev/null +++ b/docs/RegistrationGCPAccountValidationRequestV1.md @@ -0,0 +1,18 @@ +# Falcon::RegistrationGCPAccountValidationRequestV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<RegistrationGCPAccountValidationReqObjV1>**](RegistrationGCPAccountValidationReqObjV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPAccountValidationRequestV1.new( + resources: null +) +``` + diff --git a/docs/RegistrationGCPAccountValidationResponseV1.md b/docs/RegistrationGCPAccountValidationResponseV1.md new file mode 100644 index 00000000..a671a0bc --- /dev/null +++ b/docs/RegistrationGCPAccountValidationResponseV1.md @@ -0,0 +1,22 @@ +# Falcon::RegistrationGCPAccountValidationResponseV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<RegistrationGCPAccountValidatedV1>**](RegistrationGCPAccountValidatedV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPAccountValidationResponseV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/RegistrationGCPProvisionGetUserScriptResponseV1.md b/docs/RegistrationGCPProvisionGetUserScriptResponseV1.md index a4e6f490..9ca02c02 100644 --- a/docs/RegistrationGCPProvisionGetUserScriptResponseV1.md +++ b/docs/RegistrationGCPProvisionGetUserScriptResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationGCPUserScript>**](RegistrationGCPUserScript.md) | | | ## Example diff --git a/docs/RegistrationGCPServiceAccountExtV1.md b/docs/RegistrationGCPServiceAccountExtV1.md index 23ff62c4..08afe89a 100644 --- a/docs/RegistrationGCPServiceAccountExtV1.md +++ b/docs/RegistrationGCPServiceAccountExtV1.md @@ -7,6 +7,7 @@ | **client_email** | **String** | | [optional] | | **client_id** | **String** | | [optional] | | **project_id** | **String** | | [optional] | +| **service_account_conditions** | [**Array<DomainCondition>**](DomainCondition.md) | | [optional] | | **service_account_id** | **Integer** | | [optional] | ## Example @@ -18,6 +19,7 @@ instance = Falcon::RegistrationGCPServiceAccountExtV1.new( client_email: null, client_id: null, project_id: null, + service_account_conditions: null, service_account_id: null ) ``` diff --git a/docs/RegistrationGCPServiceAccountPatchRequestV1.md b/docs/RegistrationGCPServiceAccountPatchRequestV1.md new file mode 100644 index 00000000..6eac4d79 --- /dev/null +++ b/docs/RegistrationGCPServiceAccountPatchRequestV1.md @@ -0,0 +1,18 @@ +# Falcon::RegistrationGCPServiceAccountPatchRequestV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<RegistrationGCPServiceAccountPatchV1>**](RegistrationGCPServiceAccountPatchV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPServiceAccountPatchRequestV1.new( + resources: null +) +``` + diff --git a/docs/RegistrationGCPServiceAccountPatchV1.md b/docs/RegistrationGCPServiceAccountPatchV1.md new file mode 100644 index 00000000..7bc7bbd1 --- /dev/null +++ b/docs/RegistrationGCPServiceAccountPatchV1.md @@ -0,0 +1,30 @@ +# Falcon::RegistrationGCPServiceAccountPatchV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **client_email** | **String** | | [optional] | +| **client_id** | **String** | | [optional] | +| **private_key** | **String** | | [optional] | +| **private_key_id** | **String** | | [optional] | +| **project_id** | **String** | | [optional] | +| **service_account_conditions** | [**Array<DomainCondition>**](DomainCondition.md) | | [optional] | +| **service_account_id** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPServiceAccountPatchV1.new( + client_email: null, + client_id: null, + private_key: null, + private_key_id: null, + project_id: null, + service_account_conditions: null, + service_account_id: null +) +``` + diff --git a/docs/RegistrationGCPServiceAccountResponseExtV1.md b/docs/RegistrationGCPServiceAccountResponseExtV1.md index e5c750a0..fb3c46a5 100644 --- a/docs/RegistrationGCPServiceAccountResponseExtV1.md +++ b/docs/RegistrationGCPServiceAccountResponseExtV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RegistrationGCPServiceAccountExtV1>**](RegistrationGCPServiceAccountExtV1.md) | | | ## Example diff --git a/docs/RegistrationGCPServiceAccountValidationRequestObjV1.md b/docs/RegistrationGCPServiceAccountValidationRequestObjV1.md new file mode 100644 index 00000000..175050ea --- /dev/null +++ b/docs/RegistrationGCPServiceAccountValidationRequestObjV1.md @@ -0,0 +1,30 @@ +# Falcon::RegistrationGCPServiceAccountValidationRequestObjV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **client_email** | **String** | | [optional] | +| **client_id** | **String** | | [optional] | +| **private_key** | **String** | | [optional] | +| **private_key_id** | **String** | | [optional] | +| **project_id** | **String** | | [optional] | +| **service_account_conditions** | [**Array<DomainCondition>**](DomainCondition.md) | | [optional] | +| **service_account_id** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPServiceAccountValidationRequestObjV1.new( + client_email: null, + client_id: null, + private_key: null, + private_key_id: null, + project_id: null, + service_account_conditions: null, + service_account_id: null +) +``` + diff --git a/docs/RegistrationGCPServiceAccountValidationRequestV1.md b/docs/RegistrationGCPServiceAccountValidationRequestV1.md new file mode 100644 index 00000000..efc8c461 --- /dev/null +++ b/docs/RegistrationGCPServiceAccountValidationRequestV1.md @@ -0,0 +1,18 @@ +# Falcon::RegistrationGCPServiceAccountValidationRequestV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<RegistrationGCPServiceAccountValidationRequestObjV1>**](RegistrationGCPServiceAccountValidationRequestObjV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPServiceAccountValidationRequestV1.new( + resources: null +) +``` + diff --git a/docs/RegistrationGCPServiceAccountValidationResponseV1.md b/docs/RegistrationGCPServiceAccountValidationResponseV1.md new file mode 100644 index 00000000..2c5baffe --- /dev/null +++ b/docs/RegistrationGCPServiceAccountValidationResponseV1.md @@ -0,0 +1,22 @@ +# Falcon::RegistrationGCPServiceAccountValidationResponseV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<RegistrationGCPServiceAccountExtV1>**](RegistrationGCPServiceAccountExtV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RegistrationGCPServiceAccountValidationResponseV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/RegistrationIOMEventIDsResponseV2.md b/docs/RegistrationIOMEventIDsResponseV2.md index 478a85a8..f5839919 100644 --- a/docs/RegistrationIOMEventIDsResponseV2.md +++ b/docs/RegistrationIOMEventIDsResponseV2.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | | **meta** | [**RegistrationIOMEventIDResponseMeta**](RegistrationIOMEventIDResponseMeta.md) | | | | **resources** | **Array<String>** | | | diff --git a/docs/RegistrationMSAMetaInfoExtension.md b/docs/RegistrationMSAMetaInfoExtension.md index 390949fe..2ad8b6c1 100644 --- a/docs/RegistrationMSAMetaInfoExtension.md +++ b/docs/RegistrationMSAMetaInfoExtension.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **meta_info** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **meta_info** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **pagination** | [**RegistrationMSAPagingExtension**](RegistrationMSAPagingExtension.md) | | [optional] | ## Example diff --git a/docs/RegistrationMSAPagingExtension.md b/docs/RegistrationMSAPagingExtension.md index d44b1b27..511f46f3 100644 --- a/docs/RegistrationMSAPagingExtension.md +++ b/docs/RegistrationMSAPagingExtension.md @@ -4,7 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **paging** | [**MsaspecPaging**](MsaspecPaging.md) | | | +| **paging** | [**MsaPaging**](MsaPaging.md) | | | | **next_token** | **String** | | [optional] | ## Example diff --git a/docs/RegistrationPolicyResponseV1.md b/docs/RegistrationPolicyResponseV1.md index d5bab3fb..a8881ae1 100644 --- a/docs/RegistrationPolicyResponseV1.md +++ b/docs/RegistrationPolicyResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainPolicyInfo>**](DomainPolicyInfo.md) | | | ## Example diff --git a/docs/RegistrationPolicySettingsResponseV1.md b/docs/RegistrationPolicySettingsResponseV1.md index 4fb0f081..126cb733 100644 --- a/docs/RegistrationPolicySettingsResponseV1.md +++ b/docs/RegistrationPolicySettingsResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainCIDPolicyAssignments>**](DomainCIDPolicyAssignments.md) | | | ## Example diff --git a/docs/RegistrationScanScheduleResponseV1.md b/docs/RegistrationScanScheduleResponseV1.md index 891619da..95484e4d 100644 --- a/docs/RegistrationScanScheduleResponseV1.md +++ b/docs/RegistrationScanScheduleResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<DomainScanScheduleDataV1>**](DomainScanScheduleDataV1.md) | | | ## Example diff --git a/docs/RegistrationStaticScriptsResponse.md b/docs/RegistrationStaticScriptsResponse.md index e2dad004..03c74bcf 100644 --- a/docs/RegistrationStaticScriptsResponse.md +++ b/docs/RegistrationStaticScriptsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<Object>** | | | ## Example diff --git a/docs/RemoteResponseRespV1.md b/docs/RemoteResponseRespV1.md index 75b18d03..e0ac8f38 100644 --- a/docs/RemoteResponseRespV1.md +++ b/docs/RemoteResponseRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RemoteResponsePolicyV1>**](RemoteResponsePolicyV1.md) | | | ## Example diff --git a/docs/ReportExecutionsApi.md b/docs/ReportExecutionsApi.md index 7f39edd2..08e0fb6c 100644 --- a/docs/ReportExecutionsApi.md +++ b/docs/ReportExecutionsApi.md @@ -1,10 +1,10 @@ # Falcon::ReportExecutionsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | -| [**report_executions_download_get**](ReportExecutionsApi.md#report_executions_download_get) | **GET** /reports/entities/report-executions-download/v1 | Get report entity download | +| [**report_executions_download_get**](ReportExecutionsApi.md#report_executions_download_get) | **GET** /reports/entities/report-executions-download/v1 | Get report entity download. Returns either a JSON object or a CSV string. | | [**report_executions_get**](ReportExecutionsApi.md#report_executions_get) | **GET** /reports/entities/report-executions/v1 | Retrieve report details for the provided report IDs. | | [**report_executions_query**](ReportExecutionsApi.md#report_executions_query) | **GET** /reports/queries/report-executions/v1 | Find all report execution IDs matching the query with filter | | [**report_executions_retry**](ReportExecutionsApi.md#report_executions_retry) | **POST** /reports/entities/report-executions-retry/v1 | This endpoint will be used to retry report executions | @@ -12,9 +12,9 @@ All URIs are relative to *https://api.crowdstrike.com* ## report_executions_download_get -> Array<Integer> report_executions_download_get(ids) +> Object report_executions_download_get(ids) -Get report entity download +Get report entity download. Returns either a JSON object or a CSV string. ### Examples @@ -33,7 +33,7 @@ api_instance = Falcon::ReportExecutionsApi.new ids = 'ids_example' # String | The report_execution id to download begin - # Get report entity download + # Get report entity download. Returns either a JSON object or a CSV string. result = api_instance.report_executions_download_get(ids) p result rescue Falcon::ApiError => e @@ -45,15 +45,15 @@ end This returns an Array which contains the response data, status code and headers. -> report_executions_download_get_with_http_info(ids) +> report_executions_download_get_with_http_info(ids) ```ruby begin - # Get report entity download + # Get report entity download. Returns either a JSON object or a CSV string. data, status_code, headers = api_instance.report_executions_download_get_with_http_info(ids) p status_code # => 2xx p headers # => { ... } - p data # => Array<Integer> + p data # => Object rescue Falcon::ApiError => e puts "Error when calling ReportExecutionsApi->report_executions_download_get_with_http_info: #{e}" end @@ -67,7 +67,7 @@ end ### Return type -**Array<Integer>** +**Object** ### Authorization @@ -76,7 +76,7 @@ end ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: */* +- **Accept**: */*, application/json, text/csv ## report_executions_get diff --git a/docs/ResponsePoliciesApi.md b/docs/ResponsePoliciesApi.md index f0a22364..6fd5bbf5 100644 --- a/docs/ResponsePoliciesApi.md +++ b/docs/ResponsePoliciesApi.md @@ -1,6 +1,6 @@ # Falcon::ResponsePoliciesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/RestAWSAccountCreateRequestExtv1.md b/docs/RestAWSAccountCreateRequestExtv1.md new file mode 100644 index 00000000..f56441c3 --- /dev/null +++ b/docs/RestAWSAccountCreateRequestExtv1.md @@ -0,0 +1,18 @@ +# Falcon::RestAWSAccountCreateRequestExtv1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **resources** | [**Array<RestCloudAWSAccountCreateExtV1>**](RestCloudAWSAccountCreateExtV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RestAWSAccountCreateRequestExtv1.new( + resources: null +) +``` + diff --git a/docs/RestAWSAccountCreateResponseExtV1.md b/docs/RestAWSAccountCreateResponseExtV1.md new file mode 100644 index 00000000..0f3ca98b --- /dev/null +++ b/docs/RestAWSAccountCreateResponseExtV1.md @@ -0,0 +1,22 @@ +# Falcon::RestAWSAccountCreateResponseExtV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<DomainCloudAWSAccountV1>**](DomainCloudAWSAccountV1.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RestAWSAccountCreateResponseExtV1.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/RestAWSAccountValidated.md b/docs/RestAWSAccountValidated.md new file mode 100644 index 00000000..951d99ad --- /dev/null +++ b/docs/RestAWSAccountValidated.md @@ -0,0 +1,24 @@ +# Falcon::RestAWSAccountValidated + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **account_id** | **String** | | | +| **conditions** | [**Array<DomainCloudCondition>**](DomainCloudCondition.md) | | [optional] | +| **iam_service_permissions_status** | [**Array<DomainProductPermission>**](DomainProductPermission.md) | Permissions status for each product returned via API. | | +| **status** | [**Array<DomainProductFeaturesStatus>**](DomainProductFeaturesStatus.md) | Permissions status for each product returned via API. | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RestAWSAccountValidated.new( + account_id: null, + conditions: null, + iam_service_permissions_status: null, + status: null +) +``` + diff --git a/docs/RestAWSAccountValidationResponse.md b/docs/RestAWSAccountValidationResponse.md new file mode 100644 index 00000000..e9d2b8f9 --- /dev/null +++ b/docs/RestAWSAccountValidationResponse.md @@ -0,0 +1,22 @@ +# Falcon::RestAWSAccountValidationResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<RestAWSAccountValidated>**](RestAWSAccountValidated.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RestAWSAccountValidationResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/RestAccountProductUpsertRequestExtV1.md b/docs/RestAccountProductUpsertRequestExtV1.md new file mode 100644 index 00000000..702afa71 --- /dev/null +++ b/docs/RestAccountProductUpsertRequestExtV1.md @@ -0,0 +1,20 @@ +# Falcon::RestAccountProductUpsertRequestExtV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **features** | **Array<String>** | | | +| **product** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RestAccountProductUpsertRequestExtV1.new( + features: null, + product: null +) +``` + diff --git a/docs/RestCloudAWSAccountCreateExtV1.md b/docs/RestCloudAWSAccountCreateExtV1.md new file mode 100644 index 00000000..700d50c2 --- /dev/null +++ b/docs/RestCloudAWSAccountCreateExtV1.md @@ -0,0 +1,28 @@ +# Falcon::RestCloudAWSAccountCreateExtV1 + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **account_id** | **String** | | [optional] | +| **account_type** | **String** | | [optional] | +| **csp_events** | **Boolean** | | [optional] | +| **is_master** | **Boolean** | | [optional] | +| **organization_id** | **String** | | | +| **products** | [**Array<RestAccountProductUpsertRequestExtV1>**](RestAccountProductUpsertRequestExtV1.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::RestCloudAWSAccountCreateExtV1.new( + account_id: null, + account_type: null, + csp_events: null, + is_master: null, + organization_id: null, + products: null +) +``` + diff --git a/docs/RulegroupsDeleteResponse.md b/docs/RulegroupsDeleteResponse.md index 404f81f5..3a5a4dac 100644 --- a/docs/RulegroupsDeleteResponse.md +++ b/docs/RulegroupsDeleteResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | **Array<String>** | | | ## Example diff --git a/docs/RulegroupsResponse.md b/docs/RulegroupsResponse.md index 0fd9ac1f..9ba4d893 100644 --- a/docs/RulegroupsResponse.md +++ b/docs/RulegroupsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RulegroupsRuleGroup>**](RulegroupsRuleGroup.md) | | | ## Example diff --git a/docs/RulegroupsRule.md b/docs/RulegroupsRule.md index 21915f07..436dced4 100644 --- a/docs/RulegroupsRule.md +++ b/docs/RulegroupsRule.md @@ -10,6 +10,7 @@ | **depth** | **String** | | | | **description** | **String** | | [optional] | | **enable_content_capture** | **Boolean** | | [optional] | +| **enable_hash_capture** | **Boolean** | | [optional] | | **exclude** | **String** | | [optional] | | **exclude_processes** | **String** | | [optional] | | **exclude_users** | **String** | | [optional] | @@ -34,6 +35,7 @@ | **watch_delete_value_changes** | **Boolean** | | [optional] | | **watch_permissions_directory_changes** | **Boolean** | | [optional] | | **watch_permissions_file_changes** | **Boolean** | | [optional] | +| **watch_permissions_key_changes** | **Boolean** | | [optional] | | **watch_rename_directory_changes** | **Boolean** | | [optional] | | **watch_rename_file_changes** | **Boolean** | | [optional] | | **watch_rename_key_changes** | **Boolean** | | [optional] | @@ -52,6 +54,7 @@ instance = Falcon::RulegroupsRule.new( depth: null, description: null, enable_content_capture: null, + enable_hash_capture: null, exclude: null, exclude_processes: null, exclude_users: null, @@ -76,6 +79,7 @@ instance = Falcon::RulegroupsRule.new( watch_delete_value_changes: null, watch_permissions_directory_changes: null, watch_permissions_file_changes: null, + watch_permissions_key_changes: null, watch_rename_directory_changes: null, watch_rename_file_changes: null, watch_rename_key_changes: null, diff --git a/docs/RulegroupsRulesResponse.md b/docs/RulegroupsRulesResponse.md index 1e228b7e..2bbf1a84 100644 --- a/docs/RulegroupsRulesResponse.md +++ b/docs/RulegroupsRulesResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<RulegroupsRule>**](RulegroupsRule.md) | | | ## Example diff --git a/docs/RuntimeDetectionsApi.md b/docs/RuntimeDetectionsApi.md index dc96c43e..51e834d9 100644 --- a/docs/RuntimeDetectionsApi.md +++ b/docs/RuntimeDetectionsApi.md @@ -1,6 +1,6 @@ # Falcon::RuntimeDetectionsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/RuntimedetectionsDetectionsEntityResponse.md b/docs/RuntimedetectionsDetectionsEntityResponse.md index f783cb52..eb7c82b4 100644 --- a/docs/RuntimedetectionsDetectionsEntityResponse.md +++ b/docs/RuntimedetectionsDetectionsEntityResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIRuntimeDetection>**](ModelsAPIRuntimeDetection.md) | | | ## Example diff --git a/docs/SadomainCreateRuleRequestV1.md b/docs/SadomainCreateRuleRequestV1.md index 1d696154..4957cc1d 100644 --- a/docs/SadomainCreateRuleRequestV1.md +++ b/docs/SadomainCreateRuleRequestV1.md @@ -4,12 +4,15 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **breach_monitor_only** | **Boolean** | Monitor only for breach data. Must be accompanied by breach_monitoring_enabled:true. | | | **breach_monitoring_enabled** | **Boolean** | Whether to monitor for breach data. Available only for `Company Domains` and `Email addresses` rule topics. When enabled, ownership of the monitored domains or emails is required | | | **filter** | **String** | The FQL filter to be used for searching | | +| **match_on_tsq_result_types** | **Array<String>** | Which result types to monitor for. Can be set to only monitor domains or subdomains, as well as both. Only available for the `Typosquatting` rule topic. Possible values: [`basedomains`, `subdomains`] | | | **name** | **String** | The name of a given rule | | +| **originating_template_id** | **String** | If the rule was generated based on a template, the id of the template | | | **permissions** | **String** | The permissions for a given rule which specifies the rule's access by other users. Possible values: [`public`, `private`] | | | **priority** | **String** | The priority for a given rule. Possible values: [`low`, `medium`, `high`] | | -| **substring_matching_enabled** | **Boolean** | Whether to monitor for substring matches. Only available for the `Typosquatting` topic. | | +| **substring_matching_enabled** | **Boolean** | Whether to monitor for substring matches. Only available for the `Typosquatting` rule topic. | | | **topic** | **String** | The topic of a given rule. Possible values: [`SA_BRAND_PRODUCT`, `SA_VIP`, `SA_THIRD_PARTY`, `SA_IP`, `SA_CVE`, `SA_BIN`, `SA_DOMAIN`, `SA_EMAIL`, `SA_ALIAS`, `SA_AUTHOR`, `SA_CUSTOM`, `SA_TYPOSQUATTING`] | | ## Example @@ -18,9 +21,12 @@ require 'crimson-falcon' instance = Falcon::SadomainCreateRuleRequestV1.new( + breach_monitor_only: null, breach_monitoring_enabled: null, filter: null, + match_on_tsq_result_types: null, name: null, + originating_template_id: null, permissions: null, priority: null, substring_matching_enabled: null, diff --git a/docs/SadomainRule.md b/docs/SadomainRule.md index 75ab4a52..d4957edc 100644 --- a/docs/SadomainRule.md +++ b/docs/SadomainRule.md @@ -4,18 +4,23 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **breach_monitor_only** | **Boolean** | Weather to monitor exclusively for breach data. breach_monitoring_enabled also needs to be sent as true for this to be enabled. | | | **breach_monitoring_enabled** | **Boolean** | Whether to monitor for breach data. Available only for `Company Domains` and `Email addresses` rule topics. When enabled, ownership of the monitored domains or emails is required | | | **cid** | **String** | | | +| **created_by** | **String** | The UUID of the user that created a given rule or Crowdstrike if the rule was system generated | [optional] | | **created_timestamp** | **Time** | The creation time for a given rule | | | **filter** | **String** | The FQL filter contained in a rule and used for searching. Parentheses may be added automatically for clarity | | | **id** | **String** | The ID of a given rule | | +| **match_on_tsq_result_types** | **Array<String>** | Which result types to monitor for. Can be set to only monitor domains or subdomains, as well as both. Only available for the `Typosquatting` rule topic. | | | **name** | **String** | The name of a given rule | | +| **originating_template_id** | **String** | If the rule was generated based on a template, the id of the template | [optional] | | **ownership_assets** | [**SadomainCustomerAssets**](SadomainCustomerAssets.md) | | [optional] | | **permissions** | **String** | The permissions of a given rule | | | **priority** | **String** | The priority of a given rule | | | **status** | **String** | The status of a given rule | | | **status_message** | **String** | The detailed status message of a given rule | [optional] | | **substring_matching_enabled** | **Boolean** | Whether to monitor for substring matches. Only available for the `Typosquatting` rule topic | | +| **template_priority** | **Integer** | | [optional] | | **topic** | **String** | The topic of a given rule | | | **updated_timestamp** | **Time** | The last updated time for a given rule | | | **user_id** | **String** | The user ID of the user that created a given rule | [optional] | @@ -28,18 +33,23 @@ require 'crimson-falcon' instance = Falcon::SadomainRule.new( + breach_monitor_only: null, breach_monitoring_enabled: null, cid: null, + created_by: null, created_timestamp: null, filter: null, id: null, + match_on_tsq_result_types: null, name: null, + originating_template_id: null, ownership_assets: null, permissions: null, priority: null, status: null, status_message: null, substring_matching_enabled: null, + template_priority: null, topic: null, updated_timestamp: null, user_id: null, diff --git a/docs/SadomainTyposquattingComponent.md b/docs/SadomainTyposquattingComponent.md index f918aed4..90b4d17b 100644 --- a/docs/SadomainTyposquattingComponent.md +++ b/docs/SadomainTyposquattingComponent.md @@ -8,6 +8,7 @@ | **id** | **String** | The ID of the infrastructure component | | | **parent_domain** | [**SadomainTyposquattingParentDomain**](SadomainTyposquattingParentDomain.md) | | | | **punycode_format** | **String** | The Punycode representation of the infrastructure component, i.e. starting with `xn--` | | +| **subdomain** | [**SadomainTyposquattingSubdomain**](SadomainTyposquattingSubdomain.md) | | [optional] | | **submit_for_blocking_info** | [**SadomainSubmissionInformation**](SadomainSubmissionInformation.md) | | [optional] | | **submit_for_takedown_info** | [**SadomainSubmissionInformation**](SadomainSubmissionInformation.md) | | [optional] | | **unicode_format** | **String** | The Unicode representation of the infrastructure component | | @@ -22,6 +23,7 @@ instance = Falcon::SadomainTyposquattingComponent.new( id: null, parent_domain: null, punycode_format: null, + subdomain: null, submit_for_blocking_info: null, submit_for_takedown_info: null, unicode_format: null diff --git a/docs/SadomainTyposquattingSubdomain.md b/docs/SadomainTyposquattingSubdomain.md new file mode 100644 index 00000000..47b8ba0a --- /dev/null +++ b/docs/SadomainTyposquattingSubdomain.md @@ -0,0 +1,28 @@ +# Falcon::SadomainTyposquattingSubdomain + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **first_seen** | **Time** | | [optional] | +| **id** | **String** | | | +| **is_registered** | **Boolean** | | | +| **last_seen** | **Time** | | [optional] | +| **punycode_format** | **String** | | | +| **unicode_format** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::SadomainTyposquattingSubdomain.new( + first_seen: null, + id: null, + is_registered: null, + last_seen: null, + punycode_format: null, + unicode_format: null +) +``` + diff --git a/docs/SampleUploadsApi.md b/docs/SampleUploadsApi.md index 7772586d..bf4a482b 100644 --- a/docs/SampleUploadsApi.md +++ b/docs/SampleUploadsApi.md @@ -1,6 +1,6 @@ # Falcon::SampleUploadsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ScanreportsEntitiesResponse.md b/docs/ScanreportsEntitiesResponse.md new file mode 100644 index 00000000..321dcb8f --- /dev/null +++ b/docs/ScanreportsEntitiesResponse.md @@ -0,0 +1,22 @@ +# Falcon::ScanreportsEntitiesResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<ModelsScanReportType>**](ModelsScanReportType.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ScanreportsEntitiesResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/ScheduledReportsApi.md b/docs/ScheduledReportsApi.md index aca3937a..bf82f801 100644 --- a/docs/ScheduledReportsApi.md +++ b/docs/ScheduledReportsApi.md @@ -1,6 +1,6 @@ # Falcon::ScheduledReportsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/ScheduledexclusionsResponse.md b/docs/ScheduledexclusionsResponse.md index 80f600b0..2f3d8b95 100644 --- a/docs/ScheduledexclusionsResponse.md +++ b/docs/ScheduledexclusionsResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ScheduledexclusionsScheduledExclusion>**](ScheduledexclusionsScheduledExclusion.md) | | | ## Example diff --git a/docs/SchemaSensorEventResponseV1.md b/docs/SchemaSensorEventResponseV1.md index 25b5bf68..ce612432 100644 --- a/docs/SchemaSensorEventResponseV1.md +++ b/docs/SchemaSensorEventResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<SchemaSensorEvent>**](SchemaSensorEvent.md) | | | ## Example diff --git a/docs/SchemaSensorFieldResponseV1.md b/docs/SchemaSensorFieldResponseV1.md index 521ad0f6..4c9865a0 100644 --- a/docs/SchemaSensorFieldResponseV1.md +++ b/docs/SchemaSensorFieldResponseV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<SchemaSensorField>**](SchemaSensorField.md) | | | ## Example diff --git a/docs/SensorDownloadApi.md b/docs/SensorDownloadApi.md index 6c563525..2e1da5a0 100644 --- a/docs/SensorDownloadApi.md +++ b/docs/SensorDownloadApi.md @@ -1,19 +1,23 @@ # Falcon::SensorDownloadApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | | [**download_sensor_installer_by_id**](SensorDownloadApi.md#download_sensor_installer_by_id) | **GET** /sensors/entities/download-installer/v1 | Download sensor installer by SHA256 ID | +| [**download_sensor_installer_by_id_v2**](SensorDownloadApi.md#download_sensor_installer_by_id_v2) | **GET** /sensors/entities/download-installer/v2 | Download sensor installer by SHA256 ID | | [**get_combined_sensor_installers_by_query**](SensorDownloadApi.md#get_combined_sensor_installers_by_query) | **GET** /sensors/combined/installers/v1 | Get sensor installer details by provided query | +| [**get_combined_sensor_installers_by_query_v2**](SensorDownloadApi.md#get_combined_sensor_installers_by_query_v2) | **GET** /sensors/combined/installers/v2 | Get sensor installer details by provided query | | [**get_sensor_installers_by_query**](SensorDownloadApi.md#get_sensor_installers_by_query) | **GET** /sensors/queries/installers/v1 | Get sensor installer IDs by provided query | +| [**get_sensor_installers_by_query_v2**](SensorDownloadApi.md#get_sensor_installers_by_query_v2) | **GET** /sensors/queries/installers/v2 | Get sensor installer IDs by provided query | | [**get_sensor_installers_ccidby_query**](SensorDownloadApi.md#get_sensor_installers_ccidby_query) | **GET** /sensors/queries/installers/ccid/v1 | Get CCID to use with sensor installers | | [**get_sensor_installers_entities**](SensorDownloadApi.md#get_sensor_installers_entities) | **GET** /sensors/entities/installers/v1 | Get sensor installer details by provided SHA256 IDs | +| [**get_sensor_installers_entities_v2**](SensorDownloadApi.md#get_sensor_installers_entities_v2) | **GET** /sensors/entities/installers/v2 | Get sensor installer details by provided SHA256 IDs | ## download_sensor_installer_by_id -> Object download_sensor_installer_by_id(id) +> File download_sensor_installer_by_id(id) Download sensor installer by SHA256 ID @@ -46,7 +50,7 @@ end This returns an Array which contains the response data, status code and headers. -> download_sensor_installer_by_id_with_http_info(id) +> download_sensor_installer_by_id_with_http_info(id) ```ruby begin @@ -54,7 +58,7 @@ begin data, status_code, headers = api_instance.download_sensor_installer_by_id_with_http_info(id) p status_code # => 2xx p headers # => { ... } - p data # => Object + p data # => File rescue Falcon::ApiError => e puts "Error when calling SensorDownloadApi->download_sensor_installer_by_id_with_http_info: #{e}" end @@ -68,7 +72,76 @@ end ### Return type -**Object** +**File** + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json, application/octet-stream + + +## download_sensor_installer_by_id_v2 + +> File download_sensor_installer_by_id_v2(id) + +Download sensor installer by SHA256 ID + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::SensorDownloadApi.new +id = 'id_example' # String | SHA256 of the installer to download + +begin + # Download sensor installer by SHA256 ID + result = api_instance.download_sensor_installer_by_id_v2(id) + p result +rescue Falcon::ApiError => e + puts "Error when calling SensorDownloadApi->download_sensor_installer_by_id_v2: #{e}" +end +``` + +#### Using the download_sensor_installer_by_id_v2_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> download_sensor_installer_by_id_v2_with_http_info(id) + +```ruby +begin + # Download sensor installer by SHA256 ID + data, status_code, headers = api_instance.download_sensor_installer_by_id_v2_with_http_info(id) + p status_code # => 2xx + p headers # => { ... } + p data # => File +rescue Falcon::ApiError => e + puts "Error when calling SensorDownloadApi->download_sensor_installer_by_id_v2_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | SHA256 of the installer to download | | + +### Return type + +**File** ### Authorization @@ -157,6 +230,83 @@ end - **Accept**: application/json +## get_combined_sensor_installers_by_query_v2 + +> get_combined_sensor_installers_by_query_v2(opts) + +Get sensor installer details by provided query + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::SensorDownloadApi.new +opts = { + offset: 56, # Integer | The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + limit: 56, # Integer | The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + sort: 'sort_example', # String | Sort items using their properties. Common sort options include:
  • version|asc
  • release_date|desc
+ filter: 'filter_example' # String | Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include:
  • platform:\"windows\"
  • version:>\"5.2\"
+} + +begin + # Get sensor installer details by provided query + result = api_instance.get_combined_sensor_installers_by_query_v2(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling SensorDownloadApi->get_combined_sensor_installers_by_query_v2: #{e}" +end +``` + +#### Using the get_combined_sensor_installers_by_query_v2_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_combined_sensor_installers_by_query_v2_with_http_info(opts) + +```ruby +begin + # Get sensor installer details by provided query + data, status_code, headers = api_instance.get_combined_sensor_installers_by_query_v2_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling SensorDownloadApi->get_combined_sensor_installers_by_query_v2_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **offset** | **Integer** | The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. | [optional] | +| **limit** | **Integer** | The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. | [optional] | +| **sort** | **String** | Sort items using their properties. Common sort options include: <ul><li>version|asc</li><li>release_date|desc</li></ul> | [optional] | +| **filter** | **String** | Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include: <ul><li>platform:\"windows\"</li><li>version:>\"5.2\"</li></ul> | [optional] | + +### Return type + +[**DomainSensorInstallersV2**](DomainSensorInstallersV2.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## get_sensor_installers_by_query > get_sensor_installers_by_query(opts) @@ -234,6 +384,83 @@ end - **Accept**: application/json +## get_sensor_installers_by_query_v2 + +> get_sensor_installers_by_query_v2(opts) + +Get sensor installer IDs by provided query + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::SensorDownloadApi.new +opts = { + offset: 56, # Integer | The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + limit: 56, # Integer | The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + sort: 'sort_example', # String | Sort items using their properties. Common sort options include:
  • version|asc
  • release_date|desc
+ filter: 'filter_example' # String | Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include:
  • platform:\"windows\"
  • version:>\"5.2\"
+} + +begin + # Get sensor installer IDs by provided query + result = api_instance.get_sensor_installers_by_query_v2(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling SensorDownloadApi->get_sensor_installers_by_query_v2: #{e}" +end +``` + +#### Using the get_sensor_installers_by_query_v2_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_sensor_installers_by_query_v2_with_http_info(opts) + +```ruby +begin + # Get sensor installer IDs by provided query + data, status_code, headers = api_instance.get_sensor_installers_by_query_v2_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling SensorDownloadApi->get_sensor_installers_by_query_v2_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **offset** | **Integer** | The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. | [optional] | +| **limit** | **Integer** | The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. | [optional] | +| **sort** | **String** | Sort items using their properties. Common sort options include: <ul><li>version|asc</li><li>release_date|desc</li></ul> | [optional] | +| **filter** | **String** | Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include: <ul><li>platform:\"windows\"</li><li>version:>\"5.2\"</li></ul> | [optional] | + +### Return type + +[**MsaspecQueryResponse**](MsaspecQueryResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## get_sensor_installers_ccidby_query > get_sensor_installers_ccidby_query @@ -368,3 +595,72 @@ end - **Content-Type**: Not defined - **Accept**: application/json + +## get_sensor_installers_entities_v2 + +> get_sensor_installers_entities_v2(ids) + +Get sensor installer details by provided SHA256 IDs + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::SensorDownloadApi.new +ids = ['inner_example'] # Array | The IDs of the installers + +begin + # Get sensor installer details by provided SHA256 IDs + result = api_instance.get_sensor_installers_entities_v2(ids) + p result +rescue Falcon::ApiError => e + puts "Error when calling SensorDownloadApi->get_sensor_installers_entities_v2: #{e}" +end +``` + +#### Using the get_sensor_installers_entities_v2_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_sensor_installers_entities_v2_with_http_info(ids) + +```ruby +begin + # Get sensor installer details by provided SHA256 IDs + data, status_code, headers = api_instance.get_sensor_installers_entities_v2_with_http_info(ids) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling SensorDownloadApi->get_sensor_installers_entities_v2_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | [**Array<String>**](String.md) | The IDs of the installers | | + +### Return type + +[**DomainSensorInstallersV2**](DomainSensorInstallersV2.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/SensorUpdateBuildsRespV1.md b/docs/SensorUpdateBuildsRespV1.md index be7d2d3b..b9aa137b 100644 --- a/docs/SensorUpdateBuildsRespV1.md +++ b/docs/SensorUpdateBuildsRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<SensorUpdateBuildRespV1>**](SensorUpdateBuildRespV1.md) | | | ## Example diff --git a/docs/SensorUpdateKernelsRespV1.md b/docs/SensorUpdateKernelsRespV1.md index 1a0a8958..dfa4315e 100644 --- a/docs/SensorUpdateKernelsRespV1.md +++ b/docs/SensorUpdateKernelsRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<SensorUpdateKernelRespV1>**](SensorUpdateKernelRespV1.md) | | | ## Example diff --git a/docs/SensorUpdatePoliciesApi.md b/docs/SensorUpdatePoliciesApi.md index 17199200..b12fefdf 100644 --- a/docs/SensorUpdatePoliciesApi.md +++ b/docs/SensorUpdatePoliciesApi.md @@ -1,6 +1,6 @@ # Falcon::SensorUpdatePoliciesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | @@ -15,7 +15,7 @@ All URIs are relative to *https://api.crowdstrike.com* | [**query_combined_sensor_update_policies**](SensorUpdatePoliciesApi.md#query_combined_sensor_update_policies) | **GET** /policy/combined/sensor-update/v1 | Search for Sensor Update Policies in your environment by providing an FQL filter and paging details. Returns a set of Sensor Update Policies which match the filter criteria | | [**query_combined_sensor_update_policies_v2**](SensorUpdatePoliciesApi.md#query_combined_sensor_update_policies_v2) | **GET** /policy/combined/sensor-update/v2 | Search for Sensor Update Policies with additional support for uninstall protection in your environment by providing an FQL filter and paging details. Returns a set of Sensor Update Policies which match the filter criteria | | [**query_combined_sensor_update_policy_members**](SensorUpdatePoliciesApi.md#query_combined_sensor_update_policy_members) | **GET** /policy/combined/sensor-update-members/v1 | Search for members of a Sensor Update Policy in your environment by providing an FQL filter and paging details. Returns a set of host details which match the filter criteria | -| [**query_sensor_update_kernels_distinct**](SensorUpdatePoliciesApi.md#query_sensor_update_kernels_distinct) | **GET** /policy/queries/sensor-update-kernels/{distinct-field}/v1 | Retrieve kernel compatibility info for Sensor Update Builds | +| [**query_sensor_update_kernels_distinct**](SensorUpdatePoliciesApi.md#query_sensor_update_kernels_distinct) | **GET** /policy/queries/sensor-update-kernels/{distinct_field}/v1 | Retrieve kernel compatibility info for Sensor Update Builds | | [**query_sensor_update_policies**](SensorUpdatePoliciesApi.md#query_sensor_update_policies) | **GET** /policy/queries/sensor-update/v1 | Search for Sensor Update Policies in your environment by providing an FQL filter and paging details. Returns a set of Sensor Update Policy IDs which match the filter criteria | | [**query_sensor_update_policy_members**](SensorUpdatePoliciesApi.md#query_sensor_update_policy_members) | **GET** /policy/queries/sensor-update-members/v1 | Search for members of a Sensor Update Policy in your environment by providing an FQL filter and paging details. Returns a set of Agent IDs which match the filter criteria | | [**reveal_uninstall_token**](SensorUpdatePoliciesApi.md#reveal_uninstall_token) | **POST** /policy/combined/reveal-uninstall-token/v1 | Reveals an uninstall token for a specific device. To retrieve the bulk maintenance token pass the value 'MAINTENANCE' as the value for 'device_id' | diff --git a/docs/SensorUpdateRespV1.md b/docs/SensorUpdateRespV1.md index 17a98c25..d44263d8 100644 --- a/docs/SensorUpdateRespV1.md +++ b/docs/SensorUpdateRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<SensorUpdatePolicyV1>**](SensorUpdatePolicyV1.md) | | | ## Example diff --git a/docs/SensorUpdateRespV2.md b/docs/SensorUpdateRespV2.md index f19e436b..2c62178b 100644 --- a/docs/SensorUpdateRespV2.md +++ b/docs/SensorUpdateRespV2.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<SensorUpdatePolicyV2>**](SensorUpdatePolicyV2.md) | | | ## Example diff --git a/docs/SensorUsageApiApi.md b/docs/SensorUsageApiApi.md new file mode 100644 index 00000000..dba8a9c7 --- /dev/null +++ b/docs/SensorUsageApiApi.md @@ -0,0 +1,79 @@ +# Falcon::SensorUsageApiApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**get_sensor_usage_weekly**](SensorUsageApiApi.md#get_sensor_usage_weekly) | **GET** /billing-dashboards-usage/aggregates/weekly-average/v1 | Fetches weekly average. Each data point represents the average of how many unique AIDs were seen per week for the previous 28 days. | + + +## get_sensor_usage_weekly + +> get_sensor_usage_weekly(opts) + +Fetches weekly average. Each data point represents the average of how many unique AIDs were seen per week for the previous 28 days. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::SensorUsageApiApi.new +opts = { + filter: 'filter_example' # String | The FQL search filter. Allowed fields: \"event_date\" : A specified date that will be final date of the results returned. Specified date cannot be after the default. Format: '2024-06-11' Default: the current date, minus 2 days, in UTC \"period\" : An integer surrounded by single quotes representing the number of days to return. Format: '30' Default: '28' Minimum: '1' Maximum: '395' \"selected_cids\" : A comma separated list of CIDs to return data for. Caller must be a parent CID or have special access enabled. Format: 'cid_1,cid_2,cid_3' Default: for parent CIDs the default is the parent and all children, otherwise the current CID +} + +begin + # Fetches weekly average. Each data point represents the average of how many unique AIDs were seen per week for the previous 28 days. + result = api_instance.get_sensor_usage_weekly(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling SensorUsageApiApi->get_sensor_usage_weekly: #{e}" +end +``` + +#### Using the get_sensor_usage_weekly_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> get_sensor_usage_weekly_with_http_info(opts) + +```ruby +begin + # Fetches weekly average. Each data point represents the average of how many unique AIDs were seen per week for the previous 28 days. + data, status_code, headers = api_instance.get_sensor_usage_weekly_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling SensorUsageApiApi->get_sensor_usage_weekly_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | The FQL search filter. Allowed fields: \"event_date\" : A specified date that will be final date of the results returned. Specified date cannot be after the default. Format: '2024-06-11' Default: the current date, minus 2 days, in UTC \"period\" : An integer surrounded by single quotes representing the number of days to return. Format: '30' Default: '28' Minimum: '1' Maximum: '395' \"selected_cids\" : A comma separated list of CIDs to return data for. Caller must be a parent CID or have special access enabled. Format: 'cid_1,cid_2,cid_3' Default: for parent CIDs the default is the parent and all children, otherwise the current CID | [optional] | + +### Return type + +[**ApiWeeklyAverageResponse**](ApiWeeklyAverageResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/SensorVisibilityExclusionsApi.md b/docs/SensorVisibilityExclusionsApi.md index 19dfef39..6854c26e 100644 --- a/docs/SensorVisibilityExclusionsApi.md +++ b/docs/SensorVisibilityExclusionsApi.md @@ -1,6 +1,6 @@ # Falcon::SensorVisibilityExclusionsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/SourceEndpoint.md b/docs/SourceEndpoint.md new file mode 100644 index 00000000..a39bfdaa --- /dev/null +++ b/docs/SourceEndpoint.md @@ -0,0 +1,20 @@ +# Falcon::SourceEndpoint + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **entity_id** | [**TypesPolicyRulesCondition**](TypesPolicyRulesCondition.md) | | [optional] | +| **group_membership** | [**TypesPolicyRulesCondition**](TypesPolicyRulesCondition.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::SourceEndpoint.new( + entity_id: null, + group_membership: null +) +``` + diff --git a/docs/SourceUser.md b/docs/SourceUser.md new file mode 100644 index 00000000..78d7b01d --- /dev/null +++ b/docs/SourceUser.md @@ -0,0 +1,20 @@ +# Falcon::SourceUser + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **entity_id** | [**TypesPolicyRulesCondition**](TypesPolicyRulesCondition.md) | | [optional] | +| **group_membership** | [**TypesPolicyRulesCondition**](TypesPolicyRulesCondition.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::SourceUser.new( + entity_id: null, + group_membership: null +) +``` + diff --git a/docs/SpotlightEvaluationLogicApi.md b/docs/SpotlightEvaluationLogicApi.md index 5b368d53..d1d26ad1 100644 --- a/docs/SpotlightEvaluationLogicApi.md +++ b/docs/SpotlightEvaluationLogicApi.md @@ -1,6 +1,6 @@ # Falcon::SpotlightEvaluationLogicApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/SpotlightVulnerabilitiesApi.md b/docs/SpotlightVulnerabilitiesApi.md index b50bbb86..c1ada691 100644 --- a/docs/SpotlightVulnerabilitiesApi.md +++ b/docs/SpotlightVulnerabilitiesApi.md @@ -1,13 +1,13 @@ # Falcon::SpotlightVulnerabilitiesApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | | [**combined_query_vulnerabilities**](SpotlightVulnerabilitiesApi.md#combined_query_vulnerabilities) | **GET** /spotlight/combined/vulnerabilities/v1 | Search for Vulnerabilities in your environment by providing an FQL filter and paging details. Returns a set of Vulnerability entities which match the filter criteria | | [**get_remediations_v2**](SpotlightVulnerabilitiesApi.md#get_remediations_v2) | **GET** /spotlight/entities/remediations/v2 | Get details on remediation by providing one or more IDs | -| [**get_vulnerabilities**](SpotlightVulnerabilitiesApi.md#get_vulnerabilities) | **GET** /spotlight/entities/vulnerabilities/v2 | Get details on vulnerabilities by providing one or more IDs | -| [**query_vulnerabilities**](SpotlightVulnerabilitiesApi.md#query_vulnerabilities) | **GET** /spotlight/queries/vulnerabilities/v1 | Search for Vulnerabilities in your environment by providing an FQL filter and paging details. Returns a set of Vulnerability IDs which match the filter criteria | +| [**get_vulnerabilities_0**](SpotlightVulnerabilitiesApi.md#get_vulnerabilities_0) | **GET** /spotlight/entities/vulnerabilities/v2 | Get details on vulnerabilities by providing one or more IDs | +| [**query_vulnerabilities_0**](SpotlightVulnerabilitiesApi.md#query_vulnerabilities_0) | **GET** /spotlight/queries/vulnerabilities/v1 | Search for Vulnerabilities in your environment by providing an FQL filter and paging details. Returns a set of Vulnerability IDs which match the filter criteria | ## combined_query_vulnerabilities @@ -158,9 +158,9 @@ end - **Accept**: application/json -## get_vulnerabilities +## get_vulnerabilities_0 -> get_vulnerabilities(ids) +> get_vulnerabilities_0(ids) Get details on vulnerabilities by providing one or more IDs @@ -182,28 +182,28 @@ ids = ['inner_example'] # Array | One or more vulnerability IDs (max: 40 begin # Get details on vulnerabilities by providing one or more IDs - result = api_instance.get_vulnerabilities(ids) + result = api_instance.get_vulnerabilities_0(ids) p result rescue Falcon::ApiError => e - puts "Error when calling SpotlightVulnerabilitiesApi->get_vulnerabilities: #{e}" + puts "Error when calling SpotlightVulnerabilitiesApi->get_vulnerabilities_0: #{e}" end ``` -#### Using the get_vulnerabilities_with_http_info variant +#### Using the get_vulnerabilities_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> get_vulnerabilities_with_http_info(ids) +> , Integer, Hash)> get_vulnerabilities_0_with_http_info(ids) ```ruby begin # Get details on vulnerabilities by providing one or more IDs - data, status_code, headers = api_instance.get_vulnerabilities_with_http_info(ids) + data, status_code, headers = api_instance.get_vulnerabilities_0_with_http_info(ids) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling SpotlightVulnerabilitiesApi->get_vulnerabilities_with_http_info: #{e}" + puts "Error when calling SpotlightVulnerabilitiesApi->get_vulnerabilities_0_with_http_info: #{e}" end ``` @@ -227,9 +227,9 @@ end - **Accept**: application/json -## query_vulnerabilities +## query_vulnerabilities_0 -> query_vulnerabilities(filter, opts) +> query_vulnerabilities_0(filter, opts) Search for Vulnerabilities in your environment by providing an FQL filter and paging details. Returns a set of Vulnerability IDs which match the filter criteria @@ -256,28 +256,28 @@ opts = { begin # Search for Vulnerabilities in your environment by providing an FQL filter and paging details. Returns a set of Vulnerability IDs which match the filter criteria - result = api_instance.query_vulnerabilities(filter, opts) + result = api_instance.query_vulnerabilities_0(filter, opts) p result rescue Falcon::ApiError => e - puts "Error when calling SpotlightVulnerabilitiesApi->query_vulnerabilities: #{e}" + puts "Error when calling SpotlightVulnerabilitiesApi->query_vulnerabilities_0: #{e}" end ``` -#### Using the query_vulnerabilities_with_http_info variant +#### Using the query_vulnerabilities_0_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> query_vulnerabilities_with_http_info(filter, opts) +> , Integer, Hash)> query_vulnerabilities_0_with_http_info(filter, opts) ```ruby begin # Search for Vulnerabilities in your environment by providing an FQL filter and paging details. Returns a set of Vulnerability IDs which match the filter criteria - data, status_code, headers = api_instance.query_vulnerabilities_with_http_info(filter, opts) + data, status_code, headers = api_instance.query_vulnerabilities_0_with_http_info(filter, opts) p status_code # => 2xx p headers # => { ... } p data # => rescue Falcon::ApiError => e - puts "Error when calling SpotlightVulnerabilitiesApi->query_vulnerabilities_with_http_info: #{e}" + puts "Error when calling SpotlightVulnerabilitiesApi->query_vulnerabilities_0_with_http_info: #{e}" end ``` diff --git a/docs/StateOnlineStateRespV1.md b/docs/StateOnlineStateRespV1.md index 05bb37aa..c5b04d89 100644 --- a/docs/StateOnlineStateRespV1.md +++ b/docs/StateOnlineStateRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<StateOnlineStateResultV1>**](StateOnlineStateResultV1.md) | | | ## Example diff --git a/docs/SvExclusionsRespV1.md b/docs/SvExclusionsRespV1.md index a03a7b35..c855bcdb 100644 --- a/docs/SvExclusionsRespV1.md +++ b/docs/SvExclusionsRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<SvExclusionsSVExclusionV1>**](SvExclusionsSVExclusionV1.md) | | | ## Example diff --git a/docs/TailoredIntelligenceApi.md b/docs/TailoredIntelligenceApi.md deleted file mode 100644 index 6979851e..00000000 --- a/docs/TailoredIntelligenceApi.md +++ /dev/null @@ -1,377 +0,0 @@ -# Falcon::TailoredIntelligenceApi - -All URIs are relative to *https://api.crowdstrike.com* - -| Method | HTTP request | Description | -| ------ | ------------ | ----------- | -| [**get_events_body**](TailoredIntelligenceApi.md#get_events_body) | **GET** /ti/events/entities/events-full-body/v2 | Get event body for the provided event ID | -| [**get_events_entities**](TailoredIntelligenceApi.md#get_events_entities) | **POST** /ti/events/entities/events/GET/v2 | Get events entities for specified ids. | -| [**get_rules_entities**](TailoredIntelligenceApi.md#get_rules_entities) | **POST** /ti/rules/entities/rules/GET/v2 | Get rules entities for specified ids. | -| [**query_events**](TailoredIntelligenceApi.md#query_events) | **GET** /ti/events/queries/events/v2 | Get events ids that match the provided filter criteria. | -| [**query_rules**](TailoredIntelligenceApi.md#query_rules) | **GET** /ti/rules/queries/rules/v2 | Get rules ids that match the provided filter criteria. | - - -## get_events_body - -> Array<Integer> get_events_body(id) - -Get event body for the provided event ID - -### Examples - -```ruby -require 'time' -require 'crimson-falcon' - -# Setup authorization -Falcon.configure do |config| - config.client_id = "Your_Client_ID" - config.client_secret = "Your_Client_Secret" - config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" -end - -api_instance = Falcon::TailoredIntelligenceApi.new -id = 'id_example' # String | Return the event body for event id. - -begin - # Get event body for the provided event ID - result = api_instance.get_events_body(id) - p result -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->get_events_body: #{e}" -end -``` - -#### Using the get_events_body_with_http_info variant - -This returns an Array which contains the response data, status code and headers. - -> get_events_body_with_http_info(id) - -```ruby -begin - # Get event body for the provided event ID - data, status_code, headers = api_instance.get_events_body_with_http_info(id) - p status_code # => 2xx - p headers # => { ... } - p data # => Array<Integer> -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->get_events_body_with_http_info: #{e}" -end -``` - -### Parameters - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **id** | **String** | Return the event body for event id. | | - -### Return type - -**Array<Integer>** - -### Authorization - -**oauth2** - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: application/octet-stream - - -## get_events_entities - -> get_events_entities(body) - -Get events entities for specified ids. - -### Examples - -```ruby -require 'time' -require 'crimson-falcon' - -# Setup authorization -Falcon.configure do |config| - config.client_id = "Your_Client_ID" - config.client_secret = "Your_Client_Secret" - config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" -end - -api_instance = Falcon::TailoredIntelligenceApi.new -body = Falcon::MsaIdsRequest.new({ids: ['ids_example']}) # MsaIdsRequest | - -begin - # Get events entities for specified ids. - result = api_instance.get_events_entities(body) - p result -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->get_events_entities: #{e}" -end -``` - -#### Using the get_events_entities_with_http_info variant - -This returns an Array which contains the response data, status code and headers. - -> , Integer, Hash)> get_events_entities_with_http_info(body) - -```ruby -begin - # Get events entities for specified ids. - data, status_code, headers = api_instance.get_events_entities_with_http_info(body) - p status_code # => 2xx - p headers # => { ... } - p data # => -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->get_events_entities_with_http_info: #{e}" -end -``` - -### Parameters - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **body** | [**MsaIdsRequest**](MsaIdsRequest.md) | | | - -### Return type - -[**DomainEventEntitiesResponse**](DomainEventEntitiesResponse.md) - -### Authorization - -**oauth2** - -### HTTP request headers - -- **Content-Type**: application/json -- **Accept**: application/json - - -## get_rules_entities - -> get_rules_entities(body) - -Get rules entities for specified ids. - -### Examples - -```ruby -require 'time' -require 'crimson-falcon' - -# Setup authorization -Falcon.configure do |config| - config.client_id = "Your_Client_ID" - config.client_secret = "Your_Client_Secret" - config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" -end - -api_instance = Falcon::TailoredIntelligenceApi.new -body = Falcon::MsaIdsRequest.new({ids: ['ids_example']}) # MsaIdsRequest | - -begin - # Get rules entities for specified ids. - result = api_instance.get_rules_entities(body) - p result -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->get_rules_entities: #{e}" -end -``` - -#### Using the get_rules_entities_with_http_info variant - -This returns an Array which contains the response data, status code and headers. - -> , Integer, Hash)> get_rules_entities_with_http_info(body) - -```ruby -begin - # Get rules entities for specified ids. - data, status_code, headers = api_instance.get_rules_entities_with_http_info(body) - p status_code # => 2xx - p headers # => { ... } - p data # => -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->get_rules_entities_with_http_info: #{e}" -end -``` - -### Parameters - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **body** | [**MsaIdsRequest**](MsaIdsRequest.md) | | | - -### Return type - -[**DomainRuleEntitiesResponse**](DomainRuleEntitiesResponse.md) - -### Authorization - -**oauth2** - -### HTTP request headers - -- **Content-Type**: application/json -- **Accept**: application/json - - -## query_events - -> query_events(opts) - -Get events ids that match the provided filter criteria. - -### Examples - -```ruby -require 'time' -require 'crimson-falcon' - -# Setup authorization -Falcon.configure do |config| - config.client_id = "Your_Client_ID" - config.client_secret = "Your_Client_Secret" - config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" -end - -api_instance = Falcon::TailoredIntelligenceApi.new -opts = { - offset: 'offset_example', # String | Starting index of overall result set from which to return ids. - limit: 56, # Integer | Number of ids to return. - sort: 'sort_example', # String | Possible order by fields: source_type, created_date, updated_date. Ex: 'updated_date|desc'. - filter: 'filter_example', # String | FQL query specifying the filter parameters. Special value '*' means to not filter on anything. - q: 'q_example' # String | Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). -} - -begin - # Get events ids that match the provided filter criteria. - result = api_instance.query_events(opts) - p result -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->query_events: #{e}" -end -``` - -#### Using the query_events_with_http_info variant - -This returns an Array which contains the response data, status code and headers. - -> , Integer, Hash)> query_events_with_http_info(opts) - -```ruby -begin - # Get events ids that match the provided filter criteria. - data, status_code, headers = api_instance.query_events_with_http_info(opts) - p status_code # => 2xx - p headers # => { ... } - p data # => -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->query_events_with_http_info: #{e}" -end -``` - -### Parameters - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **offset** | **String** | Starting index of overall result set from which to return ids. | [optional] | -| **limit** | **Integer** | Number of ids to return. | [optional] | -| **sort** | **String** | Possible order by fields: source_type, created_date, updated_date. Ex: 'updated_date|desc'. | [optional] | -| **filter** | **String** | FQL query specifying the filter parameters. Special value '*' means to not filter on anything. | [optional] | -| **q** | **String** | Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). | [optional] | - -### Return type - -[**DomainQueryResponse**](DomainQueryResponse.md) - -### Authorization - -**oauth2** - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: application/json - - -## query_rules - -> query_rules(opts) - -Get rules ids that match the provided filter criteria. - -### Examples - -```ruby -require 'time' -require 'crimson-falcon' - -# Setup authorization -Falcon.configure do |config| - config.client_id = "Your_Client_ID" - config.client_secret = "Your_Client_Secret" - config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" -end - -api_instance = Falcon::TailoredIntelligenceApi.new -opts = { - offset: 'offset_example', # String | Starting index of overall result set from which to return ids. - limit: 56, # Integer | Number of ids to return. - sort: 'sort_example', # String | Possible order by fields: name, value, rule_type, customer_id, created_date, updated_date. Ex: 'updated_date|asc'. - filter: 'filter_example', # String | FQL query specifying the filter parameters. Special value '*' means to not filter on anything. - q: 'q_example' # String | Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). -} - -begin - # Get rules ids that match the provided filter criteria. - result = api_instance.query_rules(opts) - p result -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->query_rules: #{e}" -end -``` - -#### Using the query_rules_with_http_info variant - -This returns an Array which contains the response data, status code and headers. - -> , Integer, Hash)> query_rules_with_http_info(opts) - -```ruby -begin - # Get rules ids that match the provided filter criteria. - data, status_code, headers = api_instance.query_rules_with_http_info(opts) - p status_code # => 2xx - p headers # => { ... } - p data # => -rescue Falcon::ApiError => e - puts "Error when calling TailoredIntelligenceApi->query_rules_with_http_info: #{e}" -end -``` - -### Parameters - -| Name | Type | Description | Notes | -| ---- | ---- | ----------- | ----- | -| **offset** | **String** | Starting index of overall result set from which to return ids. | [optional] | -| **limit** | **Integer** | Number of ids to return. | [optional] | -| **sort** | **String** | Possible order by fields: name, value, rule_type, customer_id, created_date, updated_date. Ex: 'updated_date|asc'. | [optional] | -| **filter** | **String** | FQL query specifying the filter parameters. Special value '*' means to not filter on anything. | [optional] | -| **q** | **String** | Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). | [optional] | - -### Return type - -[**DomainQueryResponse**](DomainQueryResponse.md) - -### Authorization - -**oauth2** - -### HTTP request headers - -- **Content-Type**: Not defined -- **Accept**: application/json - diff --git a/docs/ThreatgraphApi.md b/docs/ThreatgraphApi.md new file mode 100644 index 00000000..1b06f217 --- /dev/null +++ b/docs/ThreatgraphApi.md @@ -0,0 +1,468 @@ +# Falcon::ThreatgraphApi + +All URIs are relative to *https://api.us-2.crowdstrike.com* + +| Method | HTTP request | Description | +| ------ | ------------ | ----------- | +| [**combined_edges_get**](ThreatgraphApi.md#combined_edges_get) | **GET** /threatgraph/combined/edges/v1 | Retrieve edges for a given vertex id. One edge type must be specified | +| [**combined_ran_on_get**](ThreatgraphApi.md#combined_ran_on_get) | **GET** /threatgraph/combined/ran-on/v1 | Look up instances of indicators such as hashes, domain names, and ip addresses that have been seen on devices in your environment. | +| [**combined_summary_get**](ThreatgraphApi.md#combined_summary_get) | **GET** /threatgraph/combined/{vertex-type}/summary/v1 | Retrieve summary for a given vertex ID | +| [**entities_vertices_get**](ThreatgraphApi.md#entities_vertices_get) | **GET** /threatgraph/entities/{vertex-type}/v1 | Retrieve metadata for a given vertex ID. Note: This is a legacy endpoint used by CrowdStrike Store partners prior to release of the ThreatGraph OAuth 2.0 APIs. If you’re not currently using this endpoint, use the /v2 endpoint instead. | +| [**entities_vertices_getv2**](ThreatgraphApi.md#entities_vertices_getv2) | **GET** /threatgraph/entities/{vertex-type}/v2 | Retrieve metadata for a given vertex ID | +| [**queries_edgetypes_get**](ThreatgraphApi.md#queries_edgetypes_get) | **GET** /threatgraph/queries/edge-types/v1 | Show all available edge types | + + +## combined_edges_get + +> combined_edges_get(ids, edge_type, opts) + +Retrieve edges for a given vertex id. One edge type must be specified + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ThreatgraphApi.new +ids = 'ids_example' # String | Vertex ID to get details for. Only one value is supported +edge_type = 'accessed_ad_computer' # String | The type of edges that you would like to retrieve +opts = { + limit: 56, # Integer | How many edges to return in a single request [1-100] + offset: 'offset_example', # String | The offset to use to retrieve the next page of results + direction: 'direction_example', # String | The direction of edges that you would like to retrieve. + scope: 'cspm', # String | Scope of the request + nano: true # Boolean | Return nano-precision entity timestamps +} + +begin + # Retrieve edges for a given vertex id. One edge type must be specified + api_instance.combined_edges_get(ids, edge_type, opts) +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->combined_edges_get: #{e}" +end +``` + +#### Using the combined_edges_get_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> combined_edges_get_with_http_info(ids, edge_type, opts) + +```ruby +begin + # Retrieve edges for a given vertex id. One edge type must be specified + data, status_code, headers = api_instance.combined_edges_get_with_http_info(ids, edge_type, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->combined_edges_get_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | **String** | Vertex ID to get details for. Only one value is supported | | +| **edge_type** | **String** | The type of edges that you would like to retrieve | | +| **limit** | **Integer** | How many edges to return in a single request [1-100] | [optional][default to 100] | +| **offset** | **String** | The offset to use to retrieve the next page of results | [optional] | +| **direction** | **String** | The direction of edges that you would like to retrieve. | [optional] | +| **scope** | **String** | Scope of the request | [optional][default to 'device'] | +| **nano** | **Boolean** | Return nano-precision entity timestamps | [optional][default to false] | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## combined_ran_on_get + +> combined_ran_on_get(value, type, opts) + +Look up instances of indicators such as hashes, domain names, and ip addresses that have been seen on devices in your environment. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ThreatgraphApi.new +value = 'value_example' # String | The value of the indicator to search by. +type = 'domain' # String | The type of indicator that you would like to retrieve +opts = { + limit: 56, # Integer | How many edges to return in a single request [1-100] + offset: 'offset_example', # String | The offset to use to retrieve the next page of results + nano: true # Boolean | Return nano-precision entity timestamps +} + +begin + # Look up instances of indicators such as hashes, domain names, and ip addresses that have been seen on devices in your environment. + api_instance.combined_ran_on_get(value, type, opts) +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->combined_ran_on_get: #{e}" +end +``` + +#### Using the combined_ran_on_get_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> combined_ran_on_get_with_http_info(value, type, opts) + +```ruby +begin + # Look up instances of indicators such as hashes, domain names, and ip addresses that have been seen on devices in your environment. + data, status_code, headers = api_instance.combined_ran_on_get_with_http_info(value, type, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->combined_ran_on_get_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **value** | **String** | The value of the indicator to search by. | | +| **type** | **String** | The type of indicator that you would like to retrieve | | +| **limit** | **Integer** | How many edges to return in a single request [1-100] | [optional][default to 100] | +| **offset** | **String** | The offset to use to retrieve the next page of results | [optional] | +| **nano** | **Boolean** | Return nano-precision entity timestamps | [optional][default to false] | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## combined_summary_get + +> combined_summary_get(vertex_type, ids, opts) + +Retrieve summary for a given vertex ID + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ThreatgraphApi.new +vertex_type = 'accessories' # String | Type of vertex to get properties for +ids = ['inner_example'] # Array | Vertex ID to get details for +opts = { + scope: 'cspm', # String | Scope of the request + nano: true # Boolean | Return nano-precision entity timestamps +} + +begin + # Retrieve summary for a given vertex ID + api_instance.combined_summary_get(vertex_type, ids, opts) +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->combined_summary_get: #{e}" +end +``` + +#### Using the combined_summary_get_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> combined_summary_get_with_http_info(vertex_type, ids, opts) + +```ruby +begin + # Retrieve summary for a given vertex ID + data, status_code, headers = api_instance.combined_summary_get_with_http_info(vertex_type, ids, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->combined_summary_get_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **vertex_type** | **String** | Type of vertex to get properties for | | +| **ids** | [**Array<String>**](String.md) | Vertex ID to get details for | | +| **scope** | **String** | Scope of the request | [optional][default to 'device'] | +| **nano** | **Boolean** | Return nano-precision entity timestamps | [optional][default to false] | + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## entities_vertices_get + +> entities_vertices_get(vertex_type, ids, opts) + +Retrieve metadata for a given vertex ID. Note: This is a legacy endpoint used by CrowdStrike Store partners prior to release of the ThreatGraph OAuth 2.0 APIs. If you’re not currently using this endpoint, use the /v2 endpoint instead. + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ThreatgraphApi.new +vertex_type = 'accessories' # String | Type of vertex to get properties for +ids = ['inner_example'] # Array | Vertex ID to get details for +opts = { + scope: 'cspm', # String | Scope of the request + nano: true # Boolean | Return nano-precision entity timestamps +} + +begin + # Retrieve metadata for a given vertex ID. Note: This is a legacy endpoint used by CrowdStrike Store partners prior to release of the ThreatGraph OAuth 2.0 APIs. If you’re not currently using this endpoint, use the /v2 endpoint instead. + result = api_instance.entities_vertices_get(vertex_type, ids, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->entities_vertices_get: #{e}" +end +``` + +#### Using the entities_vertices_get_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> entities_vertices_get_with_http_info(vertex_type, ids, opts) + +```ruby +begin + # Retrieve metadata for a given vertex ID. Note: This is a legacy endpoint used by CrowdStrike Store partners prior to release of the ThreatGraph OAuth 2.0 APIs. If you’re not currently using this endpoint, use the /v2 endpoint instead. + data, status_code, headers = api_instance.entities_vertices_get_with_http_info(vertex_type, ids, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->entities_vertices_get_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **vertex_type** | **String** | Type of vertex to get properties for | | +| **ids** | [**Array<String>**](String.md) | Vertex ID to get details for | | +| **scope** | **String** | Scope of the request | [optional][default to 'device'] | +| **nano** | **Boolean** | Return nano-precision entity timestamps | [optional][default to false] | + +### Return type + +[**ThreatgraphVertexDetailsResponse**](ThreatgraphVertexDetailsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## entities_vertices_getv2 + +> entities_vertices_getv2(vertex_type, ids, opts) + +Retrieve metadata for a given vertex ID + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ThreatgraphApi.new +vertex_type = 'accessories' # String | Type of vertex to get properties for +ids = ['inner_example'] # Array | Vertex ID to get details for +opts = { + scope: 'cspm', # String | Scope of the request + nano: true # Boolean | Return nano-precision entity timestamps +} + +begin + # Retrieve metadata for a given vertex ID + result = api_instance.entities_vertices_getv2(vertex_type, ids, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->entities_vertices_getv2: #{e}" +end +``` + +#### Using the entities_vertices_getv2_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> entities_vertices_getv2_with_http_info(vertex_type, ids, opts) + +```ruby +begin + # Retrieve metadata for a given vertex ID + data, status_code, headers = api_instance.entities_vertices_getv2_with_http_info(vertex_type, ids, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->entities_vertices_getv2_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **vertex_type** | **String** | Type of vertex to get properties for | | +| **ids** | [**Array<String>**](String.md) | Vertex ID to get details for | | +| **scope** | **String** | Scope of the request | [optional][default to 'device'] | +| **nano** | **Boolean** | Return nano-precision entity timestamps | [optional][default to false] | + +### Return type + +[**ThreatgraphVertexDetailsResponse**](ThreatgraphVertexDetailsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +## queries_edgetypes_get + +> queries_edgetypes_get + +Show all available edge types + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::ThreatgraphApi.new + +begin + # Show all available edge types + api_instance.queries_edgetypes_get +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->queries_edgetypes_get: #{e}" +end +``` + +#### Using the queries_edgetypes_get_with_http_info variant + +This returns an Array which contains the response data (`nil` in this case), status code and headers. + +> queries_edgetypes_get_with_http_info + +```ruby +begin + # Show all available edge types + data, status_code, headers = api_instance.queries_edgetypes_get_with_http_info + p status_code # => 2xx + p headers # => { ... } + p data # => nil +rescue Falcon::ApiError => e + puts "Error when calling ThreatgraphApi->queries_edgetypes_get_with_http_info: #{e}" +end +``` + +### Parameters + +This endpoint does not need any parameter. + +### Return type + +nil (empty response body) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + diff --git a/docs/ThreatgraphMeta.md b/docs/ThreatgraphMeta.md new file mode 100644 index 00000000..df29173b --- /dev/null +++ b/docs/ThreatgraphMeta.md @@ -0,0 +1,24 @@ +# Falcon::ThreatgraphMeta + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **pagination** | [**ThreatgraphPaging**](ThreatgraphPaging.md) | | [optional] | +| **powered_by** | **String** | | [optional] | +| **query_time** | **Float** | | | +| **trace_id** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ThreatgraphMeta.new( + pagination: null, + powered_by: null, + query_time: null, + trace_id: null +) +``` + diff --git a/docs/ThreatgraphPaging.md b/docs/ThreatgraphPaging.md new file mode 100644 index 00000000..1a7fa0d7 --- /dev/null +++ b/docs/ThreatgraphPaging.md @@ -0,0 +1,22 @@ +# Falcon::ThreatgraphPaging + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **limit** | **Integer** | | | +| **next_page** | **String** | | [optional] | +| **offset** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ThreatgraphPaging.new( + limit: null, + next_page: null, + offset: null +) +``` + diff --git a/docs/ThreatgraphVertexDetails.md b/docs/ThreatgraphVertexDetails.md new file mode 100644 index 00000000..ee17a2a0 --- /dev/null +++ b/docs/ThreatgraphVertexDetails.md @@ -0,0 +1,32 @@ +# Falcon::ThreatgraphVertexDetails + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **customer_id** | **String** | | | +| **device_id** | **String** | | [optional] | +| **id** | **String** | | | +| **object_id** | **String** | | [optional] | +| **properties** | **Object** | | | +| **scope** | **String** | | | +| **timestamp** | **String** | | | +| **vertex_type** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ThreatgraphVertexDetails.new( + customer_id: null, + device_id: null, + id: null, + object_id: null, + properties: null, + scope: null, + timestamp: null, + vertex_type: null +) +``` + diff --git a/docs/ThreatgraphVertexDetailsResponse.md b/docs/ThreatgraphVertexDetailsResponse.md new file mode 100644 index 00000000..50bdd826 --- /dev/null +++ b/docs/ThreatgraphVertexDetailsResponse.md @@ -0,0 +1,22 @@ +# Falcon::ThreatgraphVertexDetailsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**ThreatgraphMeta**](ThreatgraphMeta.md) | | | +| **resources** | [**Array<ThreatgraphVertexDetails>**](ThreatgraphVertexDetails.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::ThreatgraphVertexDetailsResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/TriggersTriggerExt.md b/docs/TriggersTriggerExt.md new file mode 100644 index 00000000..0cec0fb8 --- /dev/null +++ b/docs/TriggersTriggerExt.md @@ -0,0 +1,30 @@ +# Falcon::TriggersTriggerExt + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **api_scope** | **String** | Required api scope to use this trigger. | | +| **category** | **String** | Category for the trigger. | | +| **description** | **String** | Description for the trigger. | [optional] | +| **fields** | [**Array<TriggersTriggerExtField>**](TriggersTriggerExtField.md) | Nested fields of this object, only set when field type is complex | [optional] | +| **id** | **String** | Unique identifier for the trigger. | | +| **name** | **String** | User friendly display name for the trigger, this the fully qualified name that provides the context hierarchy. | | +| **version** | **String** | Version of the trigger. | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TriggersTriggerExt.new( + api_scope: null, + category: null, + description: null, + fields: null, + id: null, + name: null, + version: null +) +``` + diff --git a/docs/TriggersTriggerExtField.md b/docs/TriggersTriggerExtField.md new file mode 100644 index 00000000..5b4cd821 --- /dev/null +++ b/docs/TriggersTriggerExtField.md @@ -0,0 +1,30 @@ +# Falcon::TriggersTriggerExtField + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **description** | **String** | Description for the field. | [optional] | +| **display** | **String** | User friendly display name for the field | | +| **example** | **Object** | | [optional] | +| **fields** | [**Array<TriggersTriggerExtField>**](TriggersTriggerExtField.md) | Nested fields of this object, only set when field type is complex | [optional] | +| **name** | **String** | Name of the field as it should be passed back to the API through conditions or data mapping. | | +| **source** | [**FielddataFieldSource**](FielddataFieldSource.md) | | [optional] | +| **type** | **String** | Underlying type for the field, can be a primitive json schema type or signal field type. | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TriggersTriggerExtField.new( + description: null, + display: null, + example: null, + fields: null, + name: null, + source: null, + type: null +) +``` + diff --git a/docs/TriggersTriggerExternalResponse.md b/docs/TriggersTriggerExternalResponse.md new file mode 100644 index 00000000..fe742107 --- /dev/null +++ b/docs/TriggersTriggerExternalResponse.md @@ -0,0 +1,22 @@ +# Falcon::TriggersTriggerExternalResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | +| **resources** | [**Array<TriggersTriggerExt>**](TriggersTriggerExt.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TriggersTriggerExternalResponse.new( + errors: null, + meta: null, + resources: null +) +``` + diff --git a/docs/TypesAWSMetadata.md b/docs/TypesAWSMetadata.md new file mode 100644 index 00000000..371ca74b --- /dev/null +++ b/docs/TypesAWSMetadata.md @@ -0,0 +1,20 @@ +# Falcon::TypesAWSMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **account_arn** | **String** | | [optional] | +| **region** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesAWSMetadata.new( + account_arn: null, + region: null +) +``` + diff --git a/docs/TypesActionRun.md b/docs/TypesActionRun.md new file mode 100644 index 00000000..67b19340 --- /dev/null +++ b/docs/TypesActionRun.md @@ -0,0 +1,32 @@ +# Falcon::TypesActionRun + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **create_time** | [**TypesTimestamp**](TypesTimestamp.md) | | [optional] | +| **events** | [**Array<TypesActionRunEvent>**](TypesActionRunEvent.md) | | [optional] | +| **id** | **Integer** | | [optional] | +| **latest_event** | [**TypesActionRunEvent**](TypesActionRunEvent.md) | | [optional] | +| **metadata** | [**TypesActionRunMetadata**](TypesActionRunMetadata.md) | | [optional] | +| **progress** | **Integer** | | [optional] | +| **scheduled** | **Boolean** | | [optional] | +| **trace_uuid** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesActionRun.new( + create_time: null, + events: null, + id: null, + latest_event: null, + metadata: null, + progress: null, + scheduled: null, + trace_uuid: null +) +``` + diff --git a/docs/TypesActionRunEvent.md b/docs/TypesActionRunEvent.md new file mode 100644 index 00000000..e3e9cee9 --- /dev/null +++ b/docs/TypesActionRunEvent.md @@ -0,0 +1,36 @@ +# Falcon::TypesActionRunEvent + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **flat_data** | **Hash<String, String>** | | | +| **additional_data** | **String** | | [optional] | +| **data** | [**TypesActionRunEventData**](TypesActionRunEventData.md) | | [optional] | +| **flat_fields** | **Array<String>** | | [optional] | +| **id** | **Integer** | | [optional] | +| **message** | **String** | | [optional] | +| **object** | **String** | | [optional] | +| **object_type** | **String** | | [optional] | +| **send_time** | [**TypesTimestamp**](TypesTimestamp.md) | | [optional] | +| **status** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesActionRunEvent.new( + flat_data: null, + additional_data: null, + data: null, + flat_fields: null, + id: null, + message: null, + object: null, + object_type: null, + send_time: null, + status: null +) +``` + diff --git a/docs/TypesActionRunEventData.md b/docs/TypesActionRunEventData.md new file mode 100644 index 00000000..c6879a39 --- /dev/null +++ b/docs/TypesActionRunEventData.md @@ -0,0 +1,46 @@ +# Falcon::TypesActionRunEventData + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **additional_info** | **String** | | [optional] | +| **aws** | [**TypesAWSMetadata**](TypesAWSMetadata.md) | | [optional] | +| **azure_site** | [**TypesAzureSiteMetadata**](TypesAzureSiteMetadata.md) | | [optional] | +| **azure_vm** | [**TypesAzureVmMetadata**](TypesAzureVmMetadata.md) | | [optional] | +| **cloud_function** | [**TypesCloudFunctionMetadata**](TypesCloudFunctionMetadata.md) | | [optional] | +| **crowdstrike_cloud_security** | [**TypesCrowdStrikeCloudSecurityMetadata**](TypesCrowdStrikeCloudSecurityMetadata.md) | | [optional] | +| **ec2** | [**TypesEC2Metadata**](TypesEC2Metadata.md) | | [optional] | +| **ecs** | [**TypesECSMetadata**](TypesECSMetadata.md) | | [optional] | +| **gcp** | [**TypesGCPMetadata**](TypesGCPMetadata.md) | | [optional] | +| **host** | [**TypesHostMetadata**](TypesHostMetadata.md) | | [optional] | +| **k8s** | [**TypesK8SMetadata**](TypesK8SMetadata.md) | | [optional] | +| **lambda** | [**TypesLambdaMetadata**](TypesLambdaMetadata.md) | | [optional] | +| **remedy** | [**TypesRemediation**](TypesRemediation.md) | | [optional] | +| **snyk** | [**TypesSnykMetadata**](TypesSnykMetadata.md) | | [optional] | +| **sonatype** | [**TypesSonatypeMetadata**](TypesSonatypeMetadata.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesActionRunEventData.new( + additional_info: null, + aws: null, + azure_site: null, + azure_vm: null, + cloud_function: null, + crowdstrike_cloud_security: null, + ec2: null, + ecs: null, + gcp: null, + host: null, + k8s: null, + lambda: null, + remedy: null, + snyk: null, + sonatype: null +) +``` + diff --git a/docs/TypesActionRunMetadata.md b/docs/TypesActionRunMetadata.md new file mode 100644 index 00000000..8bbd17aa --- /dev/null +++ b/docs/TypesActionRunMetadata.md @@ -0,0 +1,30 @@ +# Falcon::TypesActionRunMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **collected_objects** | **Integer** | | [optional] | +| **end_time** | [**TypesTimestamp**](TypesTimestamp.md) | | [optional] | +| **integration_task_id** | **Integer** | | [optional] | +| **integration_task_name** | **String** | | [optional] | +| **integration_task_type** | [**TypesIntegrationTaskType**](TypesIntegrationTaskType.md) | | [optional] | +| **start_time** | [**TypesTimestamp**](TypesTimestamp.md) | | [optional] | +| **total_objects** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesActionRunMetadata.new( + collected_objects: null, + end_time: null, + integration_task_id: null, + integration_task_name: null, + integration_task_type: null, + start_time: null, + total_objects: null +) +``` + diff --git a/docs/TypesArtifact.md b/docs/TypesArtifact.md new file mode 100644 index 00000000..14b9ce4c --- /dev/null +++ b/docs/TypesArtifact.md @@ -0,0 +1,24 @@ +# Falcon::TypesArtifact + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **full_path** | **String** | | [optional] | +| **hash** | **String** | | [optional] | +| **id** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesArtifact.new( + full_path: null, + hash: null, + id: null, + name: null +) +``` + diff --git a/docs/TypesAwsApiGatewayReasonTag.md b/docs/TypesAwsApiGatewayReasonTag.md new file mode 100644 index 00000000..f4719263 --- /dev/null +++ b/docs/TypesAwsApiGatewayReasonTag.md @@ -0,0 +1,24 @@ +# Falcon::TypesAwsApiGatewayReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **api_type** | **String** | | [optional] | +| **host_type** | **String** | | [optional] | +| **reason** | **String** | | [optional] | +| **url** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesAwsApiGatewayReasonTag.new( + api_type: null, + host_type: null, + reason: null, + url: null +) +``` + diff --git a/docs/TypesAwsElasticIpReasonTag.md b/docs/TypesAwsElasticIpReasonTag.md new file mode 100644 index 00000000..7c6e7ba3 --- /dev/null +++ b/docs/TypesAwsElasticIpReasonTag.md @@ -0,0 +1,22 @@ +# Falcon::TypesAwsElasticIpReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ec2_instance** | **String** | | [optional] | +| **ip** | **String** | | [optional] | +| **reason** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesAwsElasticIpReasonTag.new( + ec2_instance: null, + ip: null, + reason: null +) +``` + diff --git a/docs/TypesAwsLambdaApiGatewayReasonTag.md b/docs/TypesAwsLambdaApiGatewayReasonTag.md new file mode 100644 index 00000000..35816bba --- /dev/null +++ b/docs/TypesAwsLambdaApiGatewayReasonTag.md @@ -0,0 +1,24 @@ +# Falcon::TypesAwsLambdaApiGatewayReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **api_type** | **String** | | [optional] | +| **lambda_arn** | **String** | | [optional] | +| **reason** | **String** | | [optional] | +| **rest_url** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesAwsLambdaApiGatewayReasonTag.new( + api_type: null, + lambda_arn: null, + reason: null, + rest_url: null +) +``` + diff --git a/docs/TypesAwsLoadBalancerReasonTag.md b/docs/TypesAwsLoadBalancerReasonTag.md new file mode 100644 index 00000000..48cf4352 --- /dev/null +++ b/docs/TypesAwsLoadBalancerReasonTag.md @@ -0,0 +1,20 @@ +# Falcon::TypesAwsLoadBalancerReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **dns_name** | **String** | | [optional] | +| **reason** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesAwsLoadBalancerReasonTag.new( + dns_name: null, + reason: null +) +``` + diff --git a/docs/TypesAzureApplicationGatewayReasonTag.md b/docs/TypesAzureApplicationGatewayReasonTag.md new file mode 100644 index 00000000..bc290015 --- /dev/null +++ b/docs/TypesAzureApplicationGatewayReasonTag.md @@ -0,0 +1,26 @@ +# Falcon::TypesAzureApplicationGatewayReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **app_gw_address** | **String** | | [optional] | +| **app_gw_name** | **String** | | [optional] | +| **listener_port** | **String** | | [optional] | +| **paths** | **Array<String>** | | [optional] | +| **reason** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesAzureApplicationGatewayReasonTag.new( + app_gw_address: null, + app_gw_name: null, + listener_port: null, + paths: null, + reason: null +) +``` + diff --git a/docs/TypesAzureLoadBalancerReasonTag.md b/docs/TypesAzureLoadBalancerReasonTag.md new file mode 100644 index 00000000..0b708198 --- /dev/null +++ b/docs/TypesAzureLoadBalancerReasonTag.md @@ -0,0 +1,24 @@ +# Falcon::TypesAzureLoadBalancerReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **name** | **String** | | [optional] | +| **port** | **String** | | [optional] | +| **reason** | **String** | | [optional] | +| **vm_name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesAzureLoadBalancerReasonTag.new( + name: null, + port: null, + reason: null, + vm_name: null +) +``` + diff --git a/docs/TypesAzureSiteMetadata.md b/docs/TypesAzureSiteMetadata.md new file mode 100644 index 00000000..d0647dc2 --- /dev/null +++ b/docs/TypesAzureSiteMetadata.md @@ -0,0 +1,28 @@ +# Falcon::TypesAzureSiteMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **location** | **String** | | [optional] | +| **resource_group** | **String** | | [optional] | +| **site_id** | **String** | | [optional] | +| **site_kind** | **String** | | [optional] | +| **site_name** | **String** | | [optional] | +| **subscription_id** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesAzureSiteMetadata.new( + location: null, + resource_group: null, + site_id: null, + site_kind: null, + site_name: null, + subscription_id: null +) +``` + diff --git a/docs/TypesAzureVmMetadata.md b/docs/TypesAzureVmMetadata.md new file mode 100644 index 00000000..64f50b6e --- /dev/null +++ b/docs/TypesAzureVmMetadata.md @@ -0,0 +1,26 @@ +# Falcon::TypesAzureVmMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **String** | | [optional] | +| **region** | **String** | | [optional] | +| **resource_group** | **String** | | [optional] | +| **subscription_id** | **String** | | [optional] | +| **vm_name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesAzureVmMetadata.new( + id: null, + region: null, + resource_group: null, + subscription_id: null, + vm_name: null +) +``` + diff --git a/docs/TypesBusinessApplication.md b/docs/TypesBusinessApplication.md new file mode 100644 index 00000000..6c9921c0 --- /dev/null +++ b/docs/TypesBusinessApplication.md @@ -0,0 +1,20 @@ +# Falcon::TypesBusinessApplication + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesBusinessApplication.new( + id: null, + name: null +) +``` + diff --git a/docs/TypesCloudFunctionMetadata.md b/docs/TypesCloudFunctionMetadata.md new file mode 100644 index 00000000..ec6156b0 --- /dev/null +++ b/docs/TypesCloudFunctionMetadata.md @@ -0,0 +1,18 @@ +# Falcon::TypesCloudFunctionMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **function_name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesCloudFunctionMetadata.new( + function_name: null +) +``` + diff --git a/docs/TypesComposedSchedule.md b/docs/TypesComposedSchedule.md new file mode 100644 index 00000000..69739f7f --- /dev/null +++ b/docs/TypesComposedSchedule.md @@ -0,0 +1,32 @@ +# Falcon::TypesComposedSchedule + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **every** | **Integer** | | [optional] | +| **every_unit** | **Integer** | | [optional] | +| **hour** | **Integer** | | [optional] | +| **minute** | **Integer** | | [optional] | +| **start_time_timezone_offset_minutes** | **Integer** | | [optional] | +| **start_time** | [**TypesTimestamp**](TypesTimestamp.md) | | [optional] | +| **timezone** | **Integer** | | [optional] | +| **weekdays** | **Array<Integer>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesComposedSchedule.new( + every: null, + every_unit: null, + hour: null, + minute: null, + start_time_timezone_offset_minutes: null, + start_time: null, + timezone: null, + weekdays: null +) +``` + diff --git a/docs/TypesConfiguration.md b/docs/TypesConfiguration.md new file mode 100644 index 00000000..2c8622ac --- /dev/null +++ b/docs/TypesConfiguration.md @@ -0,0 +1,28 @@ +# Falcon::TypesConfiguration + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **address** | **String** | | [optional] | +| **id** | **Integer** | | [optional] | +| **key** | **String** | | [optional] | +| **secret_manager** | **String** | | [optional] | +| **type** | **String** | | [optional] | +| **value** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesConfiguration.new( + address: null, + id: null, + key: null, + secret_manager: null, + type: null, + value: null +) +``` + diff --git a/docs/TypesCreateIntegrationRequest.md b/docs/TypesCreateIntegrationRequest.md new file mode 100644 index 00000000..86bf1be6 --- /dev/null +++ b/docs/TypesCreateIntegrationRequest.md @@ -0,0 +1,18 @@ +# Falcon::TypesCreateIntegrationRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integration** | [**TypesIntegration**](TypesIntegration.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesCreateIntegrationRequest.new( + integration: null +) +``` + diff --git a/docs/TypesCreateIntegrationTaskRequest.md b/docs/TypesCreateIntegrationTaskRequest.md new file mode 100644 index 00000000..1fa5123f --- /dev/null +++ b/docs/TypesCreateIntegrationTaskRequest.md @@ -0,0 +1,18 @@ +# Falcon::TypesCreateIntegrationTaskRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integration_task** | [**TypesIntegrationTask**](TypesIntegrationTask.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesCreateIntegrationTaskRequest.new( + integration_task: null +) +``` + diff --git a/docs/TypesCrowdStrikeCloudSecurityMetadata.md b/docs/TypesCrowdStrikeCloudSecurityMetadata.md new file mode 100644 index 00000000..5014cc8a --- /dev/null +++ b/docs/TypesCrowdStrikeCloudSecurityMetadata.md @@ -0,0 +1,30 @@ +# Falcon::TypesCrowdStrikeCloudSecurityMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **base_url** | **String** | | [optional] | +| **client_id** | **String** | | [optional] | +| **cloud_provider** | **String** | | [optional] | +| **iom_id** | **String** | | [optional] | +| **policy_id** | **Integer** | | [optional] | +| **resource_id** | **String** | | [optional] | +| **resource_type** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesCrowdStrikeCloudSecurityMetadata.new( + base_url: null, + client_id: null, + cloud_provider: null, + iom_id: null, + policy_id: null, + resource_id: null, + resource_type: null +) +``` + diff --git a/docs/TypesDataTypeDbReasonTag.md b/docs/TypesDataTypeDbReasonTag.md new file mode 100644 index 00000000..debedf00 --- /dev/null +++ b/docs/TypesDataTypeDbReasonTag.md @@ -0,0 +1,22 @@ +# Falcon::TypesDataTypeDbReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **column_names** | **Array<String>** | | [optional] | +| **source** | **String** | | [optional] | +| **table_names** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesDataTypeDbReasonTag.new( + column_names: null, + source: null, + table_names: null +) +``` + diff --git a/docs/TypesDataTypeMqReasonTag.md b/docs/TypesDataTypeMqReasonTag.md new file mode 100644 index 00000000..72cfd5d9 --- /dev/null +++ b/docs/TypesDataTypeMqReasonTag.md @@ -0,0 +1,20 @@ +# Falcon::TypesDataTypeMqReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **source** | **String** | | [optional] | +| **topic_names** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesDataTypeMqReasonTag.new( + source: null, + topic_names: null +) +``` + diff --git a/docs/TypesDependency.md b/docs/TypesDependency.md new file mode 100644 index 00000000..aa10d3c9 --- /dev/null +++ b/docs/TypesDependency.md @@ -0,0 +1,34 @@ +# Falcon::TypesDependency + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **connection_type** | **String** | | [optional] | +| **direction** | **String** | | [optional] | +| **id** | **Integer** | | [optional] | +| **interface_count** | **Integer** | | [optional] | +| **network_interface_count** | **Integer** | | [optional] | +| **port** | **Integer** | | [optional] | +| **real_interface_count** | **Integer** | | [optional] | +| **service** | [**TypesInterfaceService**](TypesInterfaceService.md) | | [optional] | +| **technology_type** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesDependency.new( + connection_type: null, + direction: null, + id: null, + interface_count: null, + network_interface_count: null, + port: null, + real_interface_count: null, + service: null, + technology_type: null +) +``` + diff --git a/docs/TypesDeploymentUnitDescriptor.md b/docs/TypesDeploymentUnitDescriptor.md new file mode 100644 index 00000000..3625ea06 --- /dev/null +++ b/docs/TypesDeploymentUnitDescriptor.md @@ -0,0 +1,24 @@ +# Falcon::TypesDeploymentUnitDescriptor + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **data** | [**TypesStruct**](TypesStruct.md) | | [optional] | +| **related_services** | [**Array<TypesDeploymentUnitService>**](TypesDeploymentUnitService.md) | | [optional] | +| **type** | **Integer** | | [optional] | +| **unique_id** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesDeploymentUnitDescriptor.new( + data: null, + related_services: null, + type: null, + unique_id: null +) +``` + diff --git a/docs/TypesDeploymentUnitService.md b/docs/TypesDeploymentUnitService.md new file mode 100644 index 00000000..e514e9f1 --- /dev/null +++ b/docs/TypesDeploymentUnitService.md @@ -0,0 +1,22 @@ +# Falcon::TypesDeploymentUnitService + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | +| **persistent_signature** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesDeploymentUnitService.new( + id: null, + name: null, + persistent_signature: null +) +``` + diff --git a/docs/TypesDeploymentUnitsTupleFilters.md b/docs/TypesDeploymentUnitsTupleFilters.md new file mode 100644 index 00000000..17a88e67 --- /dev/null +++ b/docs/TypesDeploymentUnitsTupleFilters.md @@ -0,0 +1,20 @@ +# Falcon::TypesDeploymentUnitsTupleFilters + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **excludes** | [**Array<TypesTupleToString>**](TypesTupleToString.md) | | [optional] | +| **includes** | [**Array<TypesTupleToString>**](TypesTupleToString.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesDeploymentUnitsTupleFilters.new( + excludes: null, + includes: null +) +``` + diff --git a/docs/TypesEC2Metadata.md b/docs/TypesEC2Metadata.md new file mode 100644 index 00000000..172175ea --- /dev/null +++ b/docs/TypesEC2Metadata.md @@ -0,0 +1,20 @@ +# Falcon::TypesEC2Metadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **instance_id** | **String** | | [optional] | +| **instance_name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesEC2Metadata.new( + instance_id: null, + instance_name: null +) +``` + diff --git a/docs/TypesECSMetadata.md b/docs/TypesECSMetadata.md new file mode 100644 index 00000000..8e8a0773 --- /dev/null +++ b/docs/TypesECSMetadata.md @@ -0,0 +1,26 @@ +# Falcon::TypesECSMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cluster_name** | **String** | | [optional] | +| **collection_method** | **Integer** | | [optional] | +| **resource_arn** | **String** | | [optional] | +| **resource_name** | **String** | | [optional] | +| **resource_type** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesECSMetadata.new( + cluster_name: null, + collection_method: null, + resource_arn: null, + resource_name: null, + resource_type: null +) +``` + diff --git a/docs/TypesEditTagRequest.md b/docs/TypesEditTagRequest.md new file mode 100644 index 00000000..f4cc77c8 --- /dev/null +++ b/docs/TypesEditTagRequest.md @@ -0,0 +1,20 @@ +# Falcon::TypesEditTagRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **entries** | [**Array<TypesTagEntry>**](TypesTagEntry.md) | | | +| **name** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesEditTagRequest.new( + entries: null, + name: null +) +``` + diff --git a/docs/TypesEditUniqueTagRequest.md b/docs/TypesEditUniqueTagRequest.md new file mode 100644 index 00000000..a35a73cd --- /dev/null +++ b/docs/TypesEditUniqueTagRequest.md @@ -0,0 +1,18 @@ +# Falcon::TypesEditUniqueTagRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **entries** | [**Array<TypesUniqueTagEntry>**](TypesUniqueTagEntry.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesEditUniqueTagRequest.new( + entries: null +) +``` + diff --git a/docs/TypesErrorMessage.md b/docs/TypesErrorMessage.md new file mode 100644 index 00000000..f8bd0102 --- /dev/null +++ b/docs/TypesErrorMessage.md @@ -0,0 +1,20 @@ +# Falcon::TypesErrorMessage + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **error** | **String** | | | +| **reason** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesErrorMessage.new( + error: null, + reason: null +) +``` + diff --git a/docs/TypesExecutorNode.md b/docs/TypesExecutorNode.md new file mode 100644 index 00000000..5e80a9e4 --- /dev/null +++ b/docs/TypesExecutorNode.md @@ -0,0 +1,42 @@ +# Falcon::TypesExecutorNode + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **additional_header** | **String** | | [optional] | +| **current_aws_arn** | **String** | | [optional] | +| **dashboard_url** | **String** | | [optional] | +| **id** | **Integer** | | [optional] | +| **last_health_check** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | +| **node_type** | **String** | | [optional] | +| **password** | **String** | | [optional] | +| **pod_settings** | [**TypesK8SPodSettings**](TypesK8SPodSettings.md) | | [optional] | +| **proxy_address** | **String** | | [optional] | +| **type** | **String** | | [optional] | +| **use_jobs** | **Boolean** | | [optional] | +| **username** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesExecutorNode.new( + additional_header: null, + current_aws_arn: null, + dashboard_url: null, + id: null, + last_health_check: null, + name: null, + node_type: null, + password: null, + pod_settings: null, + proxy_address: null, + type: null, + use_jobs: null, + username: null +) +``` + diff --git a/docs/TypesFramework.md b/docs/TypesFramework.md new file mode 100644 index 00000000..eabb25c3 --- /dev/null +++ b/docs/TypesFramework.md @@ -0,0 +1,26 @@ +# Falcon::TypesFramework + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **accessing_elements** | **Array<String>** | | [optional] | +| **domain** | **String** | | [optional] | +| **id** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | +| **version** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesFramework.new( + accessing_elements: null, + domain: null, + id: null, + name: null, + version: null +) +``` + diff --git a/docs/TypesGCPMetadata.md b/docs/TypesGCPMetadata.md new file mode 100644 index 00000000..af7971a4 --- /dev/null +++ b/docs/TypesGCPMetadata.md @@ -0,0 +1,20 @@ +# Falcon::TypesGCPMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **project** | **String** | | [optional] | +| **region** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesGCPMetadata.new( + project: null, + region: null +) +``` + diff --git a/docs/TypesGenericUserFacingRequest.md b/docs/TypesGenericUserFacingRequest.md new file mode 100644 index 00000000..530427c0 --- /dev/null +++ b/docs/TypesGenericUserFacingRequest.md @@ -0,0 +1,22 @@ +# Falcon::TypesGenericUserFacingRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | [**TypesResultsFilter**](TypesResultsFilter.md) | | [optional] | +| **optional_time** | **Integer** | | [optional] | +| **revision_id** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesGenericUserFacingRequest.new( + filter: null, + optional_time: null, + revision_id: null +) +``` + diff --git a/docs/TypesGetServicesRelatedEntity.md b/docs/TypesGetServicesRelatedEntity.md new file mode 100644 index 00000000..b61d8549 --- /dev/null +++ b/docs/TypesGetServicesRelatedEntity.md @@ -0,0 +1,24 @@ +# Falcon::TypesGetServicesRelatedEntity + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **aggregation_type** | **Integer** | | [optional] | +| **entity_type** | **Integer** | | [optional] | +| **filters** | [**TypesGetServicesRelatedEntityFilters**](TypesGetServicesRelatedEntityFilters.md) | | [optional] | +| **group_by_fields** | [**TypesGetServicesRelatedEntityGroupByFields**](TypesGetServicesRelatedEntityGroupByFields.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesGetServicesRelatedEntity.new( + aggregation_type: null, + entity_type: null, + filters: null, + group_by_fields: null +) +``` + diff --git a/docs/TypesGetServicesRelatedEntityFilters.md b/docs/TypesGetServicesRelatedEntityFilters.md new file mode 100644 index 00000000..062622af --- /dev/null +++ b/docs/TypesGetServicesRelatedEntityFilters.md @@ -0,0 +1,22 @@ +# Falcon::TypesGetServicesRelatedEntityFilters + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **include_du_services** | **Boolean** | | [optional] | +| **only_du_types** | **Boolean** | | [optional] | +| **only_get_brokers** | **Boolean** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesGetServicesRelatedEntityFilters.new( + include_du_services: null, + only_du_types: null, + only_get_brokers: null +) +``` + diff --git a/docs/TypesGetServicesRelatedEntityGroupByFields.md b/docs/TypesGetServicesRelatedEntityGroupByFields.md new file mode 100644 index 00000000..8c210eb3 --- /dev/null +++ b/docs/TypesGetServicesRelatedEntityGroupByFields.md @@ -0,0 +1,18 @@ +# Falcon::TypesGetServicesRelatedEntityGroupByFields + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **fields** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesGetServicesRelatedEntityGroupByFields.new( + fields: null +) +``` + diff --git a/docs/TypesGetServicesRequest.md b/docs/TypesGetServicesRequest.md new file mode 100644 index 00000000..44c6c4b0 --- /dev/null +++ b/docs/TypesGetServicesRequest.md @@ -0,0 +1,36 @@ +# Falcon::TypesGetServicesRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **deployment_tuple_filters** | [**Array<TypesDeploymentUnitsTupleFilters>**](TypesDeploymentUnitsTupleFilters.md) | | [optional] | +| **nesting_level** | **Integer** | | [optional] | +| **only_count** | **Boolean** | | [optional] | +| **optional_time** | **Integer** | | [optional] | +| **pagination** | [**TypesPagination**](TypesPagination.md) | | [optional] | +| **persistent_signatures** | **Array<String>** | | [optional] | +| **ql_filters** | **String** | | [optional] | +| **related_entities** | [**Array<TypesGetServicesRelatedEntity>**](TypesGetServicesRelatedEntity.md) | | [optional] | +| **revision_id** | **Integer** | | [optional] | +| **roles_signature** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesGetServicesRequest.new( + deployment_tuple_filters: null, + nesting_level: null, + only_count: null, + optional_time: null, + pagination: null, + persistent_signatures: null, + ql_filters: null, + related_entities: null, + revision_id: null, + roles_signature: null +) +``` + diff --git a/docs/TypesGetViolationTypesResponse.md b/docs/TypesGetViolationTypesResponse.md new file mode 100644 index 00000000..34cb3dcb --- /dev/null +++ b/docs/TypesGetViolationTypesResponse.md @@ -0,0 +1,20 @@ +# Falcon::TypesGetViolationTypesResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **categories** | **Array<String>** | | [optional] | +| **violations** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesGetViolationTypesResponse.new( + categories: null, + violations: null +) +``` + diff --git a/docs/TypesHostMetadata.md b/docs/TypesHostMetadata.md new file mode 100644 index 00000000..f51250f0 --- /dev/null +++ b/docs/TypesHostMetadata.md @@ -0,0 +1,18 @@ +# Falcon::TypesHostMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **address** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesHostMetadata.new( + address: null +) +``` + diff --git a/docs/TypesIntegration.md b/docs/TypesIntegration.md new file mode 100644 index 00000000..a5a2e9aa --- /dev/null +++ b/docs/TypesIntegration.md @@ -0,0 +1,32 @@ +# Falcon::TypesIntegration + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **data** | **String** | | [optional] | +| **enabled** | **Boolean** | | [optional] | +| **id** | **Integer** | | [optional] | +| **integration_type** | [**TypesIntegrationType**](TypesIntegrationType.md) | | [optional] | +| **name** | **String** | | [optional] | +| **node** | [**TypesExecutorNode**](TypesExecutorNode.md) | | [optional] | +| **type** | [**TypesIntegrationType**](TypesIntegrationType.md) | | [optional] | +| **update_time** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesIntegration.new( + data: null, + enabled: null, + id: null, + integration_type: null, + name: null, + node: null, + type: null, + update_time: null +) +``` + diff --git a/docs/TypesIntegrationResponse.md b/docs/TypesIntegrationResponse.md new file mode 100644 index 00000000..8d68c2d2 --- /dev/null +++ b/docs/TypesIntegrationResponse.md @@ -0,0 +1,20 @@ +# Falcon::TypesIntegrationResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integration** | [**TypesIntegration**](TypesIntegration.md) | | [optional] | +| **new_executor_node** | [**TypesExecutorNode**](TypesExecutorNode.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesIntegrationResponse.new( + integration: null, + new_executor_node: null +) +``` + diff --git a/docs/TypesIntegrationTask.md b/docs/TypesIntegrationTask.md new file mode 100644 index 00000000..89752bc9 --- /dev/null +++ b/docs/TypesIntegrationTask.md @@ -0,0 +1,48 @@ +# Falcon::TypesIntegrationTask + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **access_token** | **String** | | [optional] | +| **additional_header** | **String** | | [optional] | +| **business_application** | **String** | | [optional] | +| **data** | **String** | | [optional] | +| **enabled** | **Boolean** | | [optional] | +| **id** | **Integer** | | [optional] | +| **integration** | [**TypesIntegration**](TypesIntegration.md) | | [optional] | +| **integration_task_type** | [**TypesIntegrationTaskType**](TypesIntegrationTaskType.md) | | [optional] | +| **latest_task_run** | [**TypesActionRun**](TypesActionRun.md) | | [optional] | +| **name** | **String** | | [optional] | +| **next_run** | [**TypesTimestamp**](TypesTimestamp.md) | | [optional] | +| **progress** | **Integer** | | [optional] | +| **schedule** | [**TypesComposedSchedule**](TypesComposedSchedule.md) | | [optional] | +| **schedule_every_unit_display_name** | **String** | | [optional] | +| **trigger** | **String** | | [optional] | +| **type** | [**TypesIntegrationTaskType**](TypesIntegrationTaskType.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesIntegrationTask.new( + access_token: null, + additional_header: null, + business_application: null, + data: null, + enabled: null, + id: null, + integration: null, + integration_task_type: null, + latest_task_run: null, + name: null, + next_run: null, + progress: null, + schedule: null, + schedule_every_unit_display_name: null, + trigger: null, + type: null +) +``` + diff --git a/docs/TypesIntegrationTaskResponse.md b/docs/TypesIntegrationTaskResponse.md new file mode 100644 index 00000000..3e119e5d --- /dev/null +++ b/docs/TypesIntegrationTaskResponse.md @@ -0,0 +1,20 @@ +# Falcon::TypesIntegrationTaskResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integration_task** | [**TypesIntegrationTask**](TypesIntegrationTask.md) | | [optional] | +| **new_executor_node** | [**TypesExecutorNode**](TypesExecutorNode.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesIntegrationTaskResponse.new( + integration_task: null, + new_executor_node: null +) +``` + diff --git a/docs/TypesIntegrationTaskTestConnectionResponse.md b/docs/TypesIntegrationTaskTestConnectionResponse.md new file mode 100644 index 00000000..0ac1341a --- /dev/null +++ b/docs/TypesIntegrationTaskTestConnectionResponse.md @@ -0,0 +1,18 @@ +# Falcon::TypesIntegrationTaskTestConnectionResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **action_run_id** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesIntegrationTaskTestConnectionResponse.new( + action_run_id: null +) +``` + diff --git a/docs/TypesIntegrationTaskType.md b/docs/TypesIntegrationTaskType.md new file mode 100644 index 00000000..092a35f2 --- /dev/null +++ b/docs/TypesIntegrationTaskType.md @@ -0,0 +1,28 @@ +# Falcon::TypesIntegrationTaskType + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **category** | **String** | | [optional] | +| **display_name** | **String** | | [optional] | +| **enabled** | **Boolean** | | [optional] | +| **id** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | +| **required_integration_types** | [**Array<TypesIntegrationType>**](TypesIntegrationType.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesIntegrationTaskType.new( + category: null, + display_name: null, + enabled: null, + id: null, + name: null, + required_integration_types: null +) +``` + diff --git a/docs/TypesIntegrationType.md b/docs/TypesIntegrationType.md new file mode 100644 index 00000000..b6bf6201 --- /dev/null +++ b/docs/TypesIntegrationType.md @@ -0,0 +1,26 @@ +# Falcon::TypesIntegrationType + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **configured** | **Boolean** | | [optional] | +| **display_name** | **String** | | [optional] | +| **enabled** | **Boolean** | | [optional] | +| **id** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesIntegrationType.new( + configured: null, + display_name: null, + enabled: null, + id: null, + name: null +) +``` + diff --git a/docs/TypesInterface.md b/docs/TypesInterface.md new file mode 100644 index 00000000..ae64e5c7 --- /dev/null +++ b/docs/TypesInterface.md @@ -0,0 +1,84 @@ +# Falcon::TypesInterface + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **properties** | **Hash<String, String>** | | | +| **accessing_methods** | **Array<String>** | | [optional] | +| **bean_class_name** | **String** | | [optional] | +| **bean_name** | **String** | | [optional] | +| **broker_host** | **String** | | [optional] | +| **broker_port** | **Integer** | | [optional] | +| **catalog** | **String** | | [optional] | +| **columns** | **Array<String>** | | [optional] | +| **consumes** | **Array<String>** | | [optional] | +| **database** | **String** | | [optional] | +| **direction** | **String** | | [optional] | +| **driver** | **String** | | [optional] | +| **durable_subscription** | **String** | | [optional] | +| **ejb_version** | **String** | | [optional] | +| **framework** | **String** | | [optional] | +| **has_password** | **Boolean** | | [optional] | +| **id** | **Integer** | | [optional] | +| **interface_name** | **String** | | [optional] | +| **method** | **String** | | [optional] | +| **path** | **String** | | [optional] | +| **port** | **Integer** | | [optional] | +| **port_type** | **String** | | [optional] | +| **produces** | **Array<String>** | | [optional] | +| **provider** | **String** | | [optional] | +| **pu_name** | **String** | | [optional] | +| **schema** | **String** | | [optional] | +| **services** | [**Array<TypesInterfaceService>**](TypesInterfaceService.md) | | [optional] | +| **session_type** | **String** | | [optional] | +| **table** | **String** | | [optional] | +| **technology** | **String** | | [optional] | +| **topic** | **String** | | [optional] | +| **topic_type** | **String** | | [optional] | +| **type** | **String** | | [optional] | +| **username** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesInterface.new( + properties: null, + accessing_methods: null, + bean_class_name: null, + bean_name: null, + broker_host: null, + broker_port: null, + catalog: null, + columns: null, + consumes: null, + database: null, + direction: null, + driver: null, + durable_subscription: null, + ejb_version: null, + framework: null, + has_password: null, + id: null, + interface_name: null, + method: null, + path: null, + port: null, + port_type: null, + produces: null, + provider: null, + pu_name: null, + schema: null, + services: null, + session_type: null, + table: null, + technology: null, + topic: null, + topic_type: null, + type: null, + username: null +) +``` + diff --git a/docs/TypesInterfaceService.md b/docs/TypesInterfaceService.md new file mode 100644 index 00000000..e0cb6af0 --- /dev/null +++ b/docs/TypesInterfaceService.md @@ -0,0 +1,24 @@ +# Falcon::TypesInterfaceService + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | +| **persistent_signature** | **String** | | [optional] | +| **tags** | [**Array<TypesTag>**](TypesTag.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesInterfaceService.new( + id: null, + name: null, + persistent_signature: null, + tags: null +) +``` + diff --git a/docs/TypesK8SLoadBalancerReasonTag.md b/docs/TypesK8SLoadBalancerReasonTag.md new file mode 100644 index 00000000..2a4a02e9 --- /dev/null +++ b/docs/TypesK8SLoadBalancerReasonTag.md @@ -0,0 +1,24 @@ +# Falcon::TypesK8SLoadBalancerReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **lb_address** | **String** | | [optional] | +| **path** | **String** | | [optional] | +| **ports** | **Array<String>** | | [optional] | +| **reason** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesK8SLoadBalancerReasonTag.new( + lb_address: null, + path: null, + ports: null, + reason: null +) +``` + diff --git a/docs/TypesK8SMetadata.md b/docs/TypesK8SMetadata.md new file mode 100644 index 00000000..860ed8df --- /dev/null +++ b/docs/TypesK8SMetadata.md @@ -0,0 +1,22 @@ +# Falcon::TypesK8SMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **container** | **String** | | [optional] | +| **namespace** | **String** | | [optional] | +| **pod_name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesK8SMetadata.new( + container: null, + namespace: null, + pod_name: null +) +``` + diff --git a/docs/TypesK8SPodSettings.md b/docs/TypesK8SPodSettings.md new file mode 100644 index 00000000..6498e531 --- /dev/null +++ b/docs/TypesK8SPodSettings.md @@ -0,0 +1,22 @@ +# Falcon::TypesK8SPodSettings + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **image_address** | **String** | | [optional] | +| **image_pull_secrets** | **Array<String>** | | [optional] | +| **pod_labels** | [**Array<TypesKeyValue>**](TypesKeyValue.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesK8SPodSettings.new( + image_address: null, + image_pull_secrets: null, + pod_labels: null +) +``` + diff --git a/docs/TypesKeyValue.md b/docs/TypesKeyValue.md new file mode 100644 index 00000000..399e82d1 --- /dev/null +++ b/docs/TypesKeyValue.md @@ -0,0 +1,20 @@ +# Falcon::TypesKeyValue + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **key** | **String** | | [optional] | +| **value** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesKeyValue.new( + key: null, + value: null +) +``` + diff --git a/docs/TypesLambdaMetadata.md b/docs/TypesLambdaMetadata.md new file mode 100644 index 00000000..89e4fb4f --- /dev/null +++ b/docs/TypesLambdaMetadata.md @@ -0,0 +1,20 @@ +# Falcon::TypesLambdaMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **lambda_arn** | **String** | | [optional] | +| **lambda_name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesLambdaMetadata.new( + lambda_arn: null, + lambda_name: null +) +``` + diff --git a/docs/TypesLibrary.md b/docs/TypesLibrary.md new file mode 100644 index 00000000..a560bd6c --- /dev/null +++ b/docs/TypesLibrary.md @@ -0,0 +1,30 @@ +# Falcon::TypesLibrary + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **full_paths** | **Array<String>** | | [optional] | +| **group** | **String** | | [optional] | +| **id** | **Integer** | | [optional] | +| **is_reachable** | **Boolean** | | [optional] | +| **name** | **String** | | [optional] | +| **usage_level** | **String** | | [optional] | +| **version** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesLibrary.new( + full_paths: null, + group: null, + id: null, + is_reachable: null, + name: null, + usage_level: null, + version: null +) +``` + diff --git a/docs/TypesListExecutorNodesResponse.md b/docs/TypesListExecutorNodesResponse.md new file mode 100644 index 00000000..5a8f58f6 --- /dev/null +++ b/docs/TypesListExecutorNodesResponse.md @@ -0,0 +1,18 @@ +# Falcon::TypesListExecutorNodesResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **executor_nodes** | [**Array<TypesExecutorNode>**](TypesExecutorNode.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesListExecutorNodesResponse.new( + executor_nodes: null +) +``` + diff --git a/docs/TypesListIntegrationTasksResponse.md b/docs/TypesListIntegrationTasksResponse.md new file mode 100644 index 00000000..746a349a --- /dev/null +++ b/docs/TypesListIntegrationTasksResponse.md @@ -0,0 +1,18 @@ +# Falcon::TypesListIntegrationTasksResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integration_tasks** | [**Array<TypesIntegrationTask>**](TypesIntegrationTask.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesListIntegrationTasksResponse.new( + integration_tasks: null +) +``` + diff --git a/docs/TypesListIntegrationTypesResponse.md b/docs/TypesListIntegrationTypesResponse.md new file mode 100644 index 00000000..c73621cc --- /dev/null +++ b/docs/TypesListIntegrationTypesResponse.md @@ -0,0 +1,18 @@ +# Falcon::TypesListIntegrationTypesResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **types** | [**Array<TypesIntegrationType>**](TypesIntegrationType.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesListIntegrationTypesResponse.new( + types: null +) +``` + diff --git a/docs/TypesListIntegrationsResponse.md b/docs/TypesListIntegrationsResponse.md new file mode 100644 index 00000000..4e65c05f --- /dev/null +++ b/docs/TypesListIntegrationsResponse.md @@ -0,0 +1,18 @@ +# Falcon::TypesListIntegrationsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integrations** | [**Array<TypesIntegration>**](TypesIntegration.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesListIntegrationsResponse.new( + integrations: null +) +``` + diff --git a/docs/TypesOrderBy.md b/docs/TypesOrderBy.md new file mode 100644 index 00000000..a91cd13a --- /dev/null +++ b/docs/TypesOrderBy.md @@ -0,0 +1,20 @@ +# Falcon::TypesOrderBy + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **by_field** | **String** | | [optional] | +| **direction** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesOrderBy.new( + by_field: null, + direction: null +) +``` + diff --git a/docs/TypesPaginate.md b/docs/TypesPaginate.md new file mode 100644 index 00000000..bc828d77 --- /dev/null +++ b/docs/TypesPaginate.md @@ -0,0 +1,24 @@ +# Falcon::TypesPaginate + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **direction** | **String** | | [optional] | +| **limit** | **Integer** | | [optional] | +| **offset** | **Integer** | | [optional] | +| **order_by** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesPaginate.new( + direction: null, + limit: null, + offset: null, + order_by: null +) +``` + diff --git a/docs/TypesPagination.md b/docs/TypesPagination.md new file mode 100644 index 00000000..8cb5b54e --- /dev/null +++ b/docs/TypesPagination.md @@ -0,0 +1,24 @@ +# Falcon::TypesPagination + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **direction** | **String** | | [optional] | +| **limit** | **Integer** | | [optional] | +| **offset** | **Integer** | | [optional] | +| **order_by** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesPagination.new( + direction: null, + limit: null, + offset: null, + order_by: null +) +``` + diff --git a/docs/TypesPolicyRulesCondition.md b/docs/TypesPolicyRulesCondition.md new file mode 100644 index 00000000..e8e3aa6a --- /dev/null +++ b/docs/TypesPolicyRulesCondition.md @@ -0,0 +1,20 @@ +# Falcon::TypesPolicyRulesCondition + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **exclude** | **Array<String>** | | [optional] | +| **include** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesPolicyRulesCondition.new( + exclude: null, + include: null +) +``` + diff --git a/docs/TypesPolicyRulesCreateBody.md b/docs/TypesPolicyRulesCreateBody.md new file mode 100644 index 00000000..909669ab --- /dev/null +++ b/docs/TypesPolicyRulesCreateBody.md @@ -0,0 +1,34 @@ +# Falcon::TypesPolicyRulesCreateBody + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **action** | **String** | | | +| **activity** | [**Activity**](Activity.md) | | [optional] | +| **destination** | [**Destination**](Destination.md) | | [optional] | +| **enabled** | **Boolean** | | | +| **name** | **String** | | | +| **simulation_mode** | **Boolean** | | | +| **source_endpoint** | [**SourceEndpoint**](SourceEndpoint.md) | | [optional] | +| **source_user** | [**SourceUser**](SourceUser.md) | | [optional] | +| **trigger** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesPolicyRulesCreateBody.new( + action: null, + activity: null, + destination: null, + enabled: null, + name: null, + simulation_mode: null, + source_endpoint: null, + source_user: null, + trigger: null +) +``` + diff --git a/docs/TypesQueryRequest.md b/docs/TypesQueryRequest.md new file mode 100644 index 00000000..c5ed870e --- /dev/null +++ b/docs/TypesQueryRequest.md @@ -0,0 +1,24 @@ +# Falcon::TypesQueryRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **paginate** | [**TypesPaginate**](TypesPaginate.md) | | [optional] | +| **query** | **String** | | | +| **select_fields** | [**TypesQueryRequestSelectFields**](TypesQueryRequestSelectFields.md) | | [optional] | +| **timestamp** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesQueryRequest.new( + paginate: null, + query: null, + select_fields: null, + timestamp: null +) +``` + diff --git a/docs/TypesQueryRequestSelectFields.md b/docs/TypesQueryRequestSelectFields.md new file mode 100644 index 00000000..7ae7a218 --- /dev/null +++ b/docs/TypesQueryRequestSelectFields.md @@ -0,0 +1,22 @@ +# Falcon::TypesQueryRequestSelectFields + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **fields** | **Array<String>** | | [optional] | +| **service_fields** | **Array<String>** | | [optional] | +| **without_services** | **Boolean** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesQueryRequestSelectFields.new( + fields: null, + service_fields: null, + without_services: null +) +``` + diff --git a/docs/TypesQueryResult.md b/docs/TypesQueryResult.md new file mode 100644 index 00000000..c20f6d26 --- /dev/null +++ b/docs/TypesQueryResult.md @@ -0,0 +1,20 @@ +# Falcon::TypesQueryResult + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **result_json** | **String** | | [optional] | +| **result_type** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesQueryResult.new( + result_json: null, + result_type: null +) +``` + diff --git a/docs/TypesReasonTag.md b/docs/TypesReasonTag.md new file mode 100644 index 00000000..60729a6f --- /dev/null +++ b/docs/TypesReasonTag.md @@ -0,0 +1,36 @@ +# Falcon::TypesReasonTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **aws_api_gateway_type** | [**TypesAwsApiGatewayReasonTag**](TypesAwsApiGatewayReasonTag.md) | | [optional] | +| **aws_elastic_ip_type** | [**TypesAwsElasticIpReasonTag**](TypesAwsElasticIpReasonTag.md) | | [optional] | +| **aws_lambda_api_gateway_type** | [**TypesAwsLambdaApiGatewayReasonTag**](TypesAwsLambdaApiGatewayReasonTag.md) | | [optional] | +| **aws_load_balancer_type** | [**TypesAwsLoadBalancerReasonTag**](TypesAwsLoadBalancerReasonTag.md) | | [optional] | +| **azure_application_gateway_type** | [**TypesAzureApplicationGatewayReasonTag**](TypesAzureApplicationGatewayReasonTag.md) | | [optional] | +| **azure_load_balancer_type** | [**TypesAzureLoadBalancerReasonTag**](TypesAzureLoadBalancerReasonTag.md) | | [optional] | +| **db_reason_tag** | [**TypesDataTypeDbReasonTag**](TypesDataTypeDbReasonTag.md) | | [optional] | +| **k8s_load_balancer_type** | [**TypesK8SLoadBalancerReasonTag**](TypesK8SLoadBalancerReasonTag.md) | | [optional] | +| **mq_reason_tag** | [**TypesDataTypeMqReasonTag**](TypesDataTypeMqReasonTag.md) | | [optional] | +| **type** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesReasonTag.new( + aws_api_gateway_type: null, + aws_elastic_ip_type: null, + aws_lambda_api_gateway_type: null, + aws_load_balancer_type: null, + azure_application_gateway_type: null, + azure_load_balancer_type: null, + db_reason_tag: null, + k8s_load_balancer_type: null, + mq_reason_tag: null, + type: null +) +``` + diff --git a/docs/TypesRemediation.md b/docs/TypesRemediation.md new file mode 100644 index 00000000..24ee25c2 --- /dev/null +++ b/docs/TypesRemediation.md @@ -0,0 +1,20 @@ +# Falcon::TypesRemediation + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **content** | **String** | | [optional] | +| **url** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesRemediation.new( + content: null, + url: null +) +``` + diff --git a/docs/TypesResultsFilter.md b/docs/TypesResultsFilter.md new file mode 100644 index 00000000..a3510eae --- /dev/null +++ b/docs/TypesResultsFilter.md @@ -0,0 +1,20 @@ +# Falcon::TypesResultsFilter + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **order_by** | [**TypesOrderBy**](TypesOrderBy.md) | | [optional] | +| **paginate** | [**TypesPaginate**](TypesPaginate.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesResultsFilter.new( + order_by: null, + paginate: null +) +``` + diff --git a/docs/TypesRunIntegrationTaskRequest.md b/docs/TypesRunIntegrationTaskRequest.md new file mode 100644 index 00000000..87a6c83e --- /dev/null +++ b/docs/TypesRunIntegrationTaskRequest.md @@ -0,0 +1,28 @@ +# Falcon::TypesRunIntegrationTaskRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **access_token** | **String** | | [optional] | +| **category** | **String** | | [optional] | +| **data** | **String** | | [optional] | +| **override** | **Boolean** | | [optional] | +| **scheduled** | **Boolean** | | [optional] | +| **task_id** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesRunIntegrationTaskRequest.new( + access_token: null, + category: null, + data: null, + override: null, + scheduled: null, + task_id: null +) +``` + diff --git a/docs/TypesServiceNowDeployment.md b/docs/TypesServiceNowDeployment.md new file mode 100644 index 00000000..bcadc7d3 --- /dev/null +++ b/docs/TypesServiceNowDeployment.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceNowDeployment + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **deployment_unit_descriptor** | [**TypesDeploymentUnitDescriptor**](TypesDeploymentUnitDescriptor.md) | | | +| **type_name** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceNowDeployment.new( + deployment_unit_descriptor: null, + type_name: null +) +``` + diff --git a/docs/TypesServiceNowDeploymentsResponse.md b/docs/TypesServiceNowDeploymentsResponse.md new file mode 100644 index 00000000..06eec27f --- /dev/null +++ b/docs/TypesServiceNowDeploymentsResponse.md @@ -0,0 +1,22 @@ +# Falcon::TypesServiceNowDeploymentsResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **deployment_units** | [**Array<TypesServiceNowServiceDeployments>**](TypesServiceNowServiceDeployments.md) | | | +| **error** | **String** | | | +| **total_deployments** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceNowDeploymentsResponse.new( + deployment_units: null, + error: null, + total_deployments: null +) +``` + diff --git a/docs/TypesServiceNowService.md b/docs/TypesServiceNowService.md new file mode 100644 index 00000000..27f02089 --- /dev/null +++ b/docs/TypesServiceNowService.md @@ -0,0 +1,62 @@ +# Falcon::TypesServiceNowService + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **application_server** | **String** | | | +| **business_applications** | [**TypesServiceServiceBusinessApplication**](TypesServiceServiceBusinessApplication.md) | | | +| **consumers** | **Integer** | | | +| **datasource_count** | **Integer** | | | +| **dependencies** | **Integer** | | | +| **downstream_count** | **Integer** | | | +| **group_by** | **Hash<String, Object>** | | | +| **id** | **Integer** | | | +| **language_type** | **String** | | | +| **language_version** | **String** | | | +| **mom_count** | **Integer** | | | +| **name** | **String** | | | +| **owner_department** | **String** | | | +| **owner_email** | **String** | | | +| **owner_name** | **String** | | | +| **persistent_signature** | **String** | | | +| **properties** | [**TypesServiceServiceTraits**](TypesServiceServiceTraits.md) | | | +| **service_version** | **String** | | | +| **tags** | [**TypesServiceServiceTag**](TypesServiceServiceTag.md) | | | +| **technology_type** | **String** | | | +| **type** | **String** | | | +| **updated_at** | **Integer** | | | +| **upstream_count** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceNowService.new( + application_server: null, + business_applications: null, + consumers: null, + datasource_count: null, + dependencies: null, + downstream_count: null, + group_by: null, + id: null, + language_type: null, + language_version: null, + mom_count: null, + name: null, + owner_department: null, + owner_email: null, + owner_name: null, + persistent_signature: null, + properties: null, + service_version: null, + tags: null, + technology_type: null, + type: null, + updated_at: null, + upstream_count: null +) +``` + diff --git a/docs/TypesServiceNowServiceData.md b/docs/TypesServiceNowServiceData.md new file mode 100644 index 00000000..ffedc14c --- /dev/null +++ b/docs/TypesServiceNowServiceData.md @@ -0,0 +1,34 @@ +# Falcon::TypesServiceNowServiceData + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **service_now_service** | [**TypesServiceNowService**](TypesServiceNowService.md) | | | +| **apis** | [**TypesServiceServiceInterface**](TypesServiceServiceInterface.md) | | | +| **artifacts** | [**TypesServiceServiceArtifact**](TypesServiceServiceArtifact.md) | | | +| **configurations** | [**TypesServiceServiceConfiguration**](TypesServiceServiceConfiguration.md) | | | +| **dependencies** | [**TypesServiceServiceDependency**](TypesServiceServiceDependency.md) | | | +| **deployment_units** | **Array<String>** | | | +| **frameworks** | [**TypesServiceServiceFramework**](TypesServiceServiceFramework.md) | | | +| **libraries** | [**TypesServiceServiceLibrary**](TypesServiceServiceLibrary.md) | | | +| **topics_queues** | [**Array<TypesInterface>**](TypesInterface.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceNowServiceData.new( + service_now_service: null, + apis: null, + artifacts: null, + configurations: null, + dependencies: null, + deployment_units: null, + frameworks: null, + libraries: null, + topics_queues: null +) +``` + diff --git a/docs/TypesServiceNowServiceDeployments.md b/docs/TypesServiceNowServiceDeployments.md new file mode 100644 index 00000000..cf3f2365 --- /dev/null +++ b/docs/TypesServiceNowServiceDeployments.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceNowServiceDeployments + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **deployments** | [**Array<TypesServiceNowDeployment>**](TypesServiceNowDeployment.md) | | | +| **service_id** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceNowServiceDeployments.new( + deployments: null, + service_id: null +) +``` + diff --git a/docs/TypesServiceNowServicesResponse.md b/docs/TypesServiceNowServicesResponse.md new file mode 100644 index 00000000..f6552512 --- /dev/null +++ b/docs/TypesServiceNowServicesResponse.md @@ -0,0 +1,22 @@ +# Falcon::TypesServiceNowServicesResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **error** | **String** | | | +| **services** | [**Array<TypesServiceNowServiceData>**](TypesServiceNowServiceData.md) | | | +| **total_services** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceNowServicesResponse.new( + error: null, + services: null, + total_services: null +) +``` + diff --git a/docs/TypesServiceServiceArtifact.md b/docs/TypesServiceServiceArtifact.md new file mode 100644 index 00000000..e465fc91 --- /dev/null +++ b/docs/TypesServiceServiceArtifact.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceServiceArtifact + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **count** | **Integer** | | [optional] | +| **items** | [**Array<TypesArtifact>**](TypesArtifact.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceServiceArtifact.new( + count: null, + items: null +) +``` + diff --git a/docs/TypesServiceServiceBusinessApplication.md b/docs/TypesServiceServiceBusinessApplication.md new file mode 100644 index 00000000..23746efe --- /dev/null +++ b/docs/TypesServiceServiceBusinessApplication.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceServiceBusinessApplication + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **count** | **Integer** | | [optional] | +| **items** | [**Array<TypesBusinessApplication>**](TypesBusinessApplication.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceServiceBusinessApplication.new( + count: null, + items: null +) +``` + diff --git a/docs/TypesServiceServiceConfiguration.md b/docs/TypesServiceServiceConfiguration.md new file mode 100644 index 00000000..e6134c0f --- /dev/null +++ b/docs/TypesServiceServiceConfiguration.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceServiceConfiguration + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **count** | **Integer** | | [optional] | +| **items** | [**Array<TypesConfiguration>**](TypesConfiguration.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceServiceConfiguration.new( + count: null, + items: null +) +``` + diff --git a/docs/TypesServiceServiceDependency.md b/docs/TypesServiceServiceDependency.md new file mode 100644 index 00000000..3b8235a7 --- /dev/null +++ b/docs/TypesServiceServiceDependency.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceServiceDependency + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **count** | **Integer** | | [optional] | +| **items** | [**Array<TypesDependency>**](TypesDependency.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceServiceDependency.new( + count: null, + items: null +) +``` + diff --git a/docs/TypesServiceServiceFramework.md b/docs/TypesServiceServiceFramework.md new file mode 100644 index 00000000..33b3a52b --- /dev/null +++ b/docs/TypesServiceServiceFramework.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceServiceFramework + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **count** | **Integer** | | [optional] | +| **items** | [**Array<TypesFramework>**](TypesFramework.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceServiceFramework.new( + count: null, + items: null +) +``` + diff --git a/docs/TypesServiceServiceInterface.md b/docs/TypesServiceServiceInterface.md new file mode 100644 index 00000000..29576b1b --- /dev/null +++ b/docs/TypesServiceServiceInterface.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceServiceInterface + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **count** | **Integer** | | [optional] | +| **items** | [**Array<TypesInterface>**](TypesInterface.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceServiceInterface.new( + count: null, + items: null +) +``` + diff --git a/docs/TypesServiceServiceLibrary.md b/docs/TypesServiceServiceLibrary.md new file mode 100644 index 00000000..c626d6fb --- /dev/null +++ b/docs/TypesServiceServiceLibrary.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceServiceLibrary + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **count** | **Integer** | | [optional] | +| **items** | [**Array<TypesLibrary>**](TypesLibrary.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceServiceLibrary.new( + count: null, + items: null +) +``` + diff --git a/docs/TypesServiceServiceTag.md b/docs/TypesServiceServiceTag.md new file mode 100644 index 00000000..2703c2c8 --- /dev/null +++ b/docs/TypesServiceServiceTag.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceServiceTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **count** | **Integer** | | [optional] | +| **items** | [**Array<TypesTag>**](TypesTag.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceServiceTag.new( + count: null, + items: null +) +``` + diff --git a/docs/TypesServiceServiceTraits.md b/docs/TypesServiceServiceTraits.md new file mode 100644 index 00000000..e778ac20 --- /dev/null +++ b/docs/TypesServiceServiceTraits.md @@ -0,0 +1,20 @@ +# Falcon::TypesServiceServiceTraits + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **count** | **Integer** | | [optional] | +| **items** | [**Array<TypesTrait>**](TypesTrait.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesServiceServiceTraits.new( + count: null, + items: null +) +``` + diff --git a/docs/TypesSnykMetadata.md b/docs/TypesSnykMetadata.md new file mode 100644 index 00000000..187483bc --- /dev/null +++ b/docs/TypesSnykMetadata.md @@ -0,0 +1,22 @@ +# Falcon::TypesSnykMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **api_endpoint_url** | **String** | | [optional] | +| **app_endpoint_url** | **String** | | [optional] | +| **group_id** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesSnykMetadata.new( + api_endpoint_url: null, + app_endpoint_url: null, + group_id: null +) +``` + diff --git a/docs/TypesSonatypeMetadata.md b/docs/TypesSonatypeMetadata.md new file mode 100644 index 00000000..f19a9b4e --- /dev/null +++ b/docs/TypesSonatypeMetadata.md @@ -0,0 +1,24 @@ +# Falcon::TypesSonatypeMetadata + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cveid** | **String** | | [optional] | +| **application_public_id** | **String** | | [optional] | +| **component_name_version** | **String** | | [optional] | +| **iq_server_url** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesSonatypeMetadata.new( + cveid: null, + application_public_id: null, + component_name_version: null, + iq_server_url: null +) +``` + diff --git a/docs/TypesStruct.md b/docs/TypesStruct.md new file mode 100644 index 00000000..ba2f1054 --- /dev/null +++ b/docs/TypesStruct.md @@ -0,0 +1,18 @@ +# Falcon::TypesStruct + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **fields** | **Hash<String, Object>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesStruct.new( + fields: null +) +``` + diff --git a/docs/TypesTag.md b/docs/TypesTag.md new file mode 100644 index 00000000..66eb4822 --- /dev/null +++ b/docs/TypesTag.md @@ -0,0 +1,34 @@ +# Falcon::TypesTag + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **automated** | **Boolean** | | [optional] | +| **id** | **Integer** | | [optional] | +| **is_default** | **Boolean** | | [optional] | +| **is_sensitive** | **Boolean** | | [optional] | +| **name** | **String** | | [optional] | +| **persistent_signatures** | **Array<Object>** | | [optional] | +| **reason_tag** | [**Array<TypesReasonTag>**](TypesReasonTag.md) | | [optional] | +| **type** | **String** | | [optional] | +| **value** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesTag.new( + automated: null, + id: null, + is_default: null, + is_sensitive: null, + name: null, + persistent_signatures: null, + reason_tag: null, + type: null, + value: null +) +``` + diff --git a/docs/TypesTagData.md b/docs/TypesTagData.md new file mode 100644 index 00000000..a2a3df7e --- /dev/null +++ b/docs/TypesTagData.md @@ -0,0 +1,26 @@ +# Falcon::TypesTagData + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **automations** | **Array<String>** | | [optional] | +| **classifiers** | **Array<String>** | | [optional] | +| **is_default** | **Boolean** | | [optional] | +| **service_count** | **Integer** | | [optional] | +| **tag** | [**TypesTag**](TypesTag.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesTagData.new( + automations: null, + classifiers: null, + is_default: null, + service_count: null, + tag: null +) +``` + diff --git a/docs/TypesTagEntry.md b/docs/TypesTagEntry.md new file mode 100644 index 00000000..4eb0b1b9 --- /dev/null +++ b/docs/TypesTagEntry.md @@ -0,0 +1,22 @@ +# Falcon::TypesTagEntry + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **is_sensitive** | **Boolean** | | [optional] | +| **persistent_signature** | **String** | | | +| **value** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesTagEntry.new( + is_sensitive: null, + persistent_signature: null, + value: null +) +``` + diff --git a/docs/TypesTagsDataResponse.md b/docs/TypesTagsDataResponse.md new file mode 100644 index 00000000..2ec22f05 --- /dev/null +++ b/docs/TypesTagsDataResponse.md @@ -0,0 +1,20 @@ +# Falcon::TypesTagsDataResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **tags** | [**Array<TypesTagData>**](TypesTagData.md) | | [optional] | +| **total_count** | **Integer** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesTagsDataResponse.new( + tags: null, + total_count: null +) +``` + diff --git a/docs/TypesTimestamp.md b/docs/TypesTimestamp.md new file mode 100644 index 00000000..71138b46 --- /dev/null +++ b/docs/TypesTimestamp.md @@ -0,0 +1,20 @@ +# Falcon::TypesTimestamp + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **nanos** | **Integer** | | | +| **seconds** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesTimestamp.new( + nanos: null, + seconds: null +) +``` + diff --git a/docs/TypesTrait.md b/docs/TypesTrait.md new file mode 100644 index 00000000..6eb86c6c --- /dev/null +++ b/docs/TypesTrait.md @@ -0,0 +1,22 @@ +# Falcon::TypesTrait + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **id** | **Integer** | | [optional] | +| **name** | **String** | | [optional] | +| **value** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesTrait.new( + id: null, + name: null, + value: null +) +``` + diff --git a/docs/TypesTupleToString.md b/docs/TypesTupleToString.md new file mode 100644 index 00000000..ba375acd --- /dev/null +++ b/docs/TypesTupleToString.md @@ -0,0 +1,20 @@ +# Falcon::TypesTupleToString + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **key** | **String** | | [optional] | +| **value** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesTupleToString.new( + key: null, + value: null +) +``` + diff --git a/docs/TypesUniqueTagEntry.md b/docs/TypesUniqueTagEntry.md new file mode 100644 index 00000000..8d23737e --- /dev/null +++ b/docs/TypesUniqueTagEntry.md @@ -0,0 +1,24 @@ +# Falcon::TypesUniqueTagEntry + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **is_sensitive** | **Boolean** | | [optional] | +| **name** | **String** | | [optional] | +| **tag_type** | **String** | | [optional] | +| **value** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesUniqueTagEntry.new( + is_sensitive: null, + name: null, + tag_type: null, + value: null +) +``` + diff --git a/docs/TypesUpdateIntegrationRequest.md b/docs/TypesUpdateIntegrationRequest.md new file mode 100644 index 00000000..77b2bb27 --- /dev/null +++ b/docs/TypesUpdateIntegrationRequest.md @@ -0,0 +1,20 @@ +# Falcon::TypesUpdateIntegrationRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integration** | [**TypesIntegration**](TypesIntegration.md) | | [optional] | +| **overwrite_fields** | **Array<String>** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesUpdateIntegrationRequest.new( + integration: null, + overwrite_fields: null +) +``` + diff --git a/docs/TypesUpdateIntegrationTaskRequest.md b/docs/TypesUpdateIntegrationTaskRequest.md new file mode 100644 index 00000000..cb0c36fd --- /dev/null +++ b/docs/TypesUpdateIntegrationTaskRequest.md @@ -0,0 +1,18 @@ +# Falcon::TypesUpdateIntegrationTaskRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **integration_task** | [**TypesIntegrationTask**](TypesIntegrationTask.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesUpdateIntegrationTaskRequest.new( + integration_task: null +) +``` + diff --git a/docs/TypesUpsertBusinessApplicationRequest.md b/docs/TypesUpsertBusinessApplicationRequest.md new file mode 100644 index 00000000..1c9fb25f --- /dev/null +++ b/docs/TypesUpsertBusinessApplicationRequest.md @@ -0,0 +1,20 @@ +# Falcon::TypesUpsertBusinessApplicationRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **name** | **String** | | | +| **persistent_signatures** | **Array<String>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::TypesUpsertBusinessApplicationRequest.new( + name: null, + persistent_signatures: null +) +``` + diff --git a/docs/UnidentifiedContainersApi.md b/docs/UnidentifiedContainersApi.md index 51156317..42bbbaf0 100644 --- a/docs/UnidentifiedContainersApi.md +++ b/docs/UnidentifiedContainersApi.md @@ -1,6 +1,6 @@ # Falcon::UnidentifiedContainersApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/UnidentifiedcontainersUnidentifiedContainerAPIResponse.md b/docs/UnidentifiedcontainersUnidentifiedContainerAPIResponse.md index 5d094d19..298cd3ba 100644 --- a/docs/UnidentifiedcontainersUnidentifiedContainerAPIResponse.md +++ b/docs/UnidentifiedcontainersUnidentifiedContainerAPIResponse.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIUnidentifiedContainer>**](ModelsAPIUnidentifiedContainer.md) | | | ## Example diff --git a/docs/UnidentifiedcontainersUnidentifiedContainersCountValue.md b/docs/UnidentifiedcontainersUnidentifiedContainersCountValue.md index 2f146f84..21aedabe 100644 --- a/docs/UnidentifiedcontainersUnidentifiedContainersCountValue.md +++ b/docs/UnidentifiedcontainersUnidentifiedContainersCountValue.md @@ -5,8 +5,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **resources** | [**Array<CommonCountAsResource>**](CommonCountAsResource.md) | | | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | ## Example diff --git a/docs/UninstallTokenRespV1.md b/docs/UninstallTokenRespV1.md index 140d1e65..88652a92 100644 --- a/docs/UninstallTokenRespV1.md +++ b/docs/UninstallTokenRespV1.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | A collection of any errors which occurred during execution of the request | | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | A collection of any errors which occurred during execution of the request | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<UninstallTokenUninstallTokenV1>**](UninstallTokenUninstallTokenV1.md) | A collection of uninstall tokens | | ## Example diff --git a/docs/UserManagementApi.md b/docs/UserManagementApi.md index 93a05962..278e795f 100644 --- a/docs/UserManagementApi.md +++ b/docs/UserManagementApi.md @@ -1,6 +1,6 @@ # Falcon::UserManagementApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/docs/V2Activity.md b/docs/V2Activity.md index 801def0d..bb4d1d06 100644 --- a/docs/V2Activity.md +++ b/docs/V2Activity.md @@ -4,6 +4,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **_class** | **String** | | [optional] | | **id** | **String** | | | | **_next** | **Array<String>** | | [optional] | | **properties** | **Object** | | | @@ -14,6 +15,7 @@ require 'crimson-falcon' instance = Falcon::V2Activity.new( + _class: null, id: null, _next: null, properties: null diff --git a/docs/V2Condition.md b/docs/V2Condition.md index 25dac5a4..ad045b26 100644 --- a/docs/V2Condition.md +++ b/docs/V2Condition.md @@ -4,10 +4,11 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **cel_expression** | **String** | | [optional] | | **display** | **Array<String>** | | [optional] | | **_else** | **Array<String>** | | [optional] | | **else_if** | **String** | | [optional] | -| **expression** | **String** | | | +| **expression** | **String** | | [optional] | | **_next** | **Array<String>** | | | ## Example @@ -16,6 +17,7 @@ require 'crimson-falcon' instance = Falcon::V2Condition.new( + cel_expression: null, display: null, _else: null, else_if: null, diff --git a/docs/V2ConditionParameters.md b/docs/V2ConditionGroups.md similarity index 61% rename from docs/V2ConditionParameters.md rename to docs/V2ConditionGroups.md index 94ffefcc..2a92f642 100644 --- a/docs/V2ConditionParameters.md +++ b/docs/V2ConditionGroups.md @@ -1,18 +1,20 @@ -# Falcon::V2ConditionParameters +# Falcon::V2ConditionGroups ## Properties | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **fields** | [**Hash<String, ParameterConditionFieldParameter>**](ParameterConditionFieldParameter.md) | | | +| **parameter_order** | **Array<String>** | | | ## Example ```ruby require 'crimson-falcon' -instance = Falcon::V2ConditionParameters.new( - fields: null +instance = Falcon::V2ConditionGroups.new( + fields: null, + parameter_order: null ) ``` diff --git a/docs/V2Definition.md b/docs/V2Definition.md index 47112950..c6e7f55d 100644 --- a/docs/V2Definition.md +++ b/docs/V2Definition.md @@ -12,11 +12,16 @@ | **multi_instance** | **Boolean** | | [optional] | | **name** | **String** | | | | **node_registry** | **Hash<String, String>** | | | +| **output_fields** | **Array<String>** | | [optional] | | **parameters** | [**V2Parameters**](V2Parameters.md) | | [optional] | +| **parent** | [**V2Model**](V2Model.md) | | | | **provision_on_install** | **Boolean** | | [optional] | +| **summary** | **String** | | [optional] | | **trigger** | [**V2Trigger**](V2Trigger.md) | | | | **type** | **String** | | [optional] | | **uniq_node_seen** | **Hash<String, Boolean>** | | | +| **use_cases** | **Array<String>** | | [optional] | +| **vendors** | **Array<String>** | | [optional] | ## Example @@ -32,11 +37,16 @@ instance = Falcon::V2Definition.new( multi_instance: null, name: null, node_registry: null, + output_fields: null, parameters: null, + parent: null, provision_on_install: null, + summary: null, trigger: null, type: null, - uniq_node_seen: null + uniq_node_seen: null, + use_cases: null, + vendors: null ) ``` diff --git a/docs/V2ForLoop.md b/docs/V2ForLoop.md index 5fe3eb5c..e9451b9e 100644 --- a/docs/V2ForLoop.md +++ b/docs/V2ForLoop.md @@ -4,8 +4,13 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | +| **condition** | **String** | | [optional] | +| **condition_display** | **Array<String>** | | [optional] | | **continue_on_partial_execution** | **Boolean** | | | | **input** | **String** | | | +| **max_execution_seconds** | **Integer** | | [optional] | +| **max_iteration_count** | **Integer** | | [optional] | +| **sequential** | **Boolean** | | [optional] | ## Example @@ -13,8 +18,13 @@ require 'crimson-falcon' instance = Falcon::V2ForLoop.new( + condition: null, + condition_display: null, continue_on_partial_execution: null, - input: null + input: null, + max_execution_seconds: null, + max_iteration_count: null, + sequential: null ) ``` diff --git a/docs/V2Loop.md b/docs/V2Loop.md index 2b305729..b638e016 100644 --- a/docs/V2Loop.md +++ b/docs/V2Loop.md @@ -6,6 +6,7 @@ | ---- | ---- | ----------- | ----- | | **actions** | [**Hash<String, V2Activity>**](V2Activity.md) | | [optional] | | **conditions** | [**Hash<String, V2Condition>**](V2Condition.md) | | [optional] | +| **display** | **String** | | [optional] | | **_for** | [**V2ForLoop**](V2ForLoop.md) | | | | **_next** | **Array<String>** | | [optional] | | **trigger** | [**V2Trigger**](V2Trigger.md) | | [optional] | @@ -18,6 +19,7 @@ require 'crimson-falcon' instance = Falcon::V2Loop.new( actions: null, conditions: null, + display: null, _for: null, _next: null, trigger: null diff --git a/docs/V2Model.md b/docs/V2Model.md new file mode 100644 index 00000000..fcdcbe35 --- /dev/null +++ b/docs/V2Model.md @@ -0,0 +1,34 @@ +# Falcon::V2Model + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **actions** | [**Hash<String, V2Activity>**](V2Activity.md) | | [optional] | +| **conditions** | [**Hash<String, V2Condition>**](V2Condition.md) | | [optional] | +| **loops** | [**Hash<String, V2Loop>**](V2Loop.md) | | [optional] | +| **node_registry** | **Hash<String, String>** | | | +| **output_fields** | **Array<String>** | | [optional] | +| **parent** | [**V2Model**](V2Model.md) | | | +| **summary** | **String** | | [optional] | +| **trigger** | [**V2Trigger**](V2Trigger.md) | | | +| **uniq_node_seen** | **Hash<String, Boolean>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::V2Model.new( + actions: null, + conditions: null, + loops: null, + node_registry: null, + output_fields: null, + parent: null, + summary: null, + trigger: null, + uniq_node_seen: null +) +``` + diff --git a/docs/V2Parameters.md b/docs/V2Parameters.md index 6ffc563c..1ae66b5f 100644 --- a/docs/V2Parameters.md +++ b/docs/V2Parameters.md @@ -5,7 +5,7 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **actions** | [**V2ActivityParameters**](V2ActivityParameters.md) | | [optional] | -| **conditions** | [**Hash<String, V2ConditionParameters>**](V2ConditionParameters.md) | | [optional] | +| **conditions** | **Hash<String, Array<V2ConditionGroups>>** | | [optional] | | **install_instructions** | **String** | Installation instructions for the template. | [optional] | | **trigger** | [**ParameterTriggerParameter**](ParameterTriggerParameter.md) | | [optional] | diff --git a/docs/VulncheckEPSS.md b/docs/VulncheckEPSS.md new file mode 100644 index 00000000..a41b8297 --- /dev/null +++ b/docs/VulncheckEPSS.md @@ -0,0 +1,20 @@ +# Falcon::VulncheckEPSS + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **epss_percentile** | **Float** | | | +| **epss_score** | **Float** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckEPSS.new( + epss_percentile: null, + epss_score: null +) +``` + diff --git a/docs/VulncheckExploitBotnets.md b/docs/VulncheckExploitBotnets.md new file mode 100644 index 00000000..982bc1bf --- /dev/null +++ b/docs/VulncheckExploitBotnets.md @@ -0,0 +1,22 @@ +# Falcon::VulncheckExploitBotnets + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **botnet_name** | **String** | | | +| **cve_references** | [**Array<VulncheckExploitCVEReference>**](VulncheckExploitCVEReference.md) | | | +| **malpedia_url** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitBotnets.new( + botnet_name: null, + cve_references: null, + malpedia_url: null +) +``` + diff --git a/docs/VulncheckExploitCVEReference.md b/docs/VulncheckExploitCVEReference.md new file mode 100644 index 00000000..842ec570 --- /dev/null +++ b/docs/VulncheckExploitCVEReference.md @@ -0,0 +1,22 @@ +# Falcon::VulncheckExploitCVEReference + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cve** | **Array<String>** | | | +| **date_added** | **String** | | | +| **url** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitCVEReference.new( + cve: null, + date_added: null, + url: null +) +``` + diff --git a/docs/VulncheckExploitCounts.md b/docs/VulncheckExploitCounts.md new file mode 100644 index 00000000..8cb5285a --- /dev/null +++ b/docs/VulncheckExploitCounts.md @@ -0,0 +1,22 @@ +# Falcon::VulncheckExploitCounts + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **botnets** | **Integer** | | | +| **exploits** | **Integer** | | | +| **threat_actors** | **Integer** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitCounts.new( + botnets: null, + exploits: null, + threat_actors: null +) +``` + diff --git a/docs/VulncheckExploitDetails.md b/docs/VulncheckExploitDetails.md new file mode 100644 index 00000000..2d5df453 --- /dev/null +++ b/docs/VulncheckExploitDetails.md @@ -0,0 +1,44 @@ +# Falcon::VulncheckExploitDetails + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **botnets** | [**Array<VulncheckExploitBotnets>**](VulncheckExploitBotnets.md) | | [optional] | +| **counts** | [**VulncheckExploitCounts**](VulncheckExploitCounts.md) | | | +| **epss** | [**VulncheckEPSS**](VulncheckEPSS.md) | | [optional] | +| **exploit_found** | **Boolean** | | | +| **exploits** | [**Array<VulncheckExploitRecord>**](VulncheckExploitRecord.md) | | [optional] | +| **max_exploit_maturity** | **String** | | | +| **ransomware** | [**Array<VulncheckExploitRansomware>**](VulncheckExploitRansomware.md) | | [optional] | +| **reported_exploited_by_botnets** | **Boolean** | | | +| **reported_exploited_by_named_threat_actors** | **Boolean** | | | +| **reported_exploited_by_ransomware** | **Boolean** | | | +| **reported_exploited_in_the_wild** | **Boolean** | | | +| **threat_actors** | [**Array<VulncheckExploitThreatActor>**](VulncheckExploitThreatActor.md) | | [optional] | +| **timeline** | [**VulncheckExploitTimeline**](VulncheckExploitTimeline.md) | | | +| **trending** | [**VulncheckExploitTrending**](VulncheckExploitTrending.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitDetails.new( + botnets: null, + counts: null, + epss: null, + exploit_found: null, + exploits: null, + max_exploit_maturity: null, + ransomware: null, + reported_exploited_by_botnets: null, + reported_exploited_by_named_threat_actors: null, + reported_exploited_by_ransomware: null, + reported_exploited_in_the_wild: null, + threat_actors: null, + timeline: null, + trending: null +) +``` + diff --git a/docs/VulncheckExploitRansomware.md b/docs/VulncheckExploitRansomware.md new file mode 100644 index 00000000..92af985d --- /dev/null +++ b/docs/VulncheckExploitRansomware.md @@ -0,0 +1,20 @@ +# Falcon::VulncheckExploitRansomware + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ransomware_families** | **Array<String>** | | | +| **reference_data** | [**Array<VulncheckExploitRansomwareData>**](VulncheckExploitRansomwareData.md) | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitRansomware.new( + ransomware_families: null, + reference_data: null +) +``` + diff --git a/docs/VulncheckExploitRansomwareData.md b/docs/VulncheckExploitRansomwareData.md new file mode 100644 index 00000000..b6fbccee --- /dev/null +++ b/docs/VulncheckExploitRansomwareData.md @@ -0,0 +1,20 @@ +# Falcon::VulncheckExploitRansomwareData + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **date_added** | **String** | | | +| **url** | **String** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitRansomwareData.new( + date_added: null, + url: null +) +``` + diff --git a/docs/VulncheckExploitRecord.md b/docs/VulncheckExploitRecord.md new file mode 100644 index 00000000..b0f049c3 --- /dev/null +++ b/docs/VulncheckExploitRecord.md @@ -0,0 +1,32 @@ +# Falcon::VulncheckExploitRecord + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cve** | **String** | | [optional] | +| **date_added** | **String** | | [optional] | +| **exploit_availability** | **String** | | [optional] | +| **exploit_maturity** | **String** | | [optional] | +| **exploit_type** | **String** | | [optional] | +| **name** | **String** | | [optional] | +| **refsource** | **String** | | [optional] | +| **url** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitRecord.new( + cve: null, + date_added: null, + exploit_availability: null, + exploit_maturity: null, + exploit_type: null, + name: null, + refsource: null, + url: null +) +``` + diff --git a/docs/VulncheckExploitThreatActor.md b/docs/VulncheckExploitThreatActor.md new file mode 100644 index 00000000..f621d486 --- /dev/null +++ b/docs/VulncheckExploitThreatActor.md @@ -0,0 +1,32 @@ +# Falcon::VulncheckExploitThreatActor + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cve_references** | [**Array<VulncheckExploitCVEReference>**](VulncheckExploitCVEReference.md) | | [optional] | +| **malpedia_url** | **String** | | [optional] | +| **misp_id** | **String** | | [optional] | +| **misp_threat_actor_names** | **Array<String>** | | [optional] | +| **mitre_id** | **String** | | [optional] | +| **mitre_threat_actor_names** | **Array<String>** | | [optional] | +| **threat_actor_name** | **String** | | [optional] | +| **vendor_names_for_threat_actors** | [**Array<VulncheckThreatActorVendorName>**](VulncheckThreatActorVendorName.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitThreatActor.new( + cve_references: null, + malpedia_url: null, + misp_id: null, + misp_threat_actor_names: null, + mitre_id: null, + mitre_threat_actor_names: null, + threat_actor_name: null, + vendor_names_for_threat_actors: null +) +``` + diff --git a/docs/VulncheckExploitTimeline.md b/docs/VulncheckExploitTimeline.md new file mode 100644 index 00000000..f4d2fc2a --- /dev/null +++ b/docs/VulncheckExploitTimeline.md @@ -0,0 +1,42 @@ +# Falcon::VulncheckExploitTimeline + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **cisa_kev_date_added** | **String** | | [optional] | +| **cisa_kev_date_due** | **String** | | [optional] | +| **first_exploit_poc_or_higher** | **String** | | [optional] | +| **first_exploit_published** | **String** | | [optional] | +| **first_exploit_weaponized_or_higher** | **String** | | [optional] | +| **first_reported_botnet** | **String** | | [optional] | +| **first_reported_ransomware** | **String** | | [optional] | +| **first_reported_threat_actor** | **String** | | [optional] | +| **most_recent_exploit_published** | **String** | | [optional] | +| **most_recent_reported_botnet** | **String** | | [optional] | +| **most_recent_reported_ransomware** | **String** | | [optional] | +| **most_recent_reported_threat_actor** | **String** | | [optional] | +| **nvd_published** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitTimeline.new( + cisa_kev_date_added: null, + cisa_kev_date_due: null, + first_exploit_poc_or_higher: null, + first_exploit_published: null, + first_exploit_weaponized_or_higher: null, + first_reported_botnet: null, + first_reported_ransomware: null, + first_reported_threat_actor: null, + most_recent_exploit_published: null, + most_recent_reported_botnet: null, + most_recent_reported_ransomware: null, + most_recent_reported_threat_actor: null, + nvd_published: null +) +``` + diff --git a/docs/VulncheckExploitTrending.md b/docs/VulncheckExploitTrending.md new file mode 100644 index 00000000..c8535451 --- /dev/null +++ b/docs/VulncheckExploitTrending.md @@ -0,0 +1,18 @@ +# Falcon::VulncheckExploitTrending + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **github** | **Boolean** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckExploitTrending.new( + github: null +) +``` + diff --git a/docs/VulncheckThreatActorVendorName.md b/docs/VulncheckThreatActorVendorName.md new file mode 100644 index 00000000..b802c46a --- /dev/null +++ b/docs/VulncheckThreatActorVendorName.md @@ -0,0 +1,22 @@ +# Falcon::VulncheckThreatActorVendorName + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **threat_actor_name** | **String** | | [optional] | +| **url** | **String** | | [optional] | +| **vendor_name** | **String** | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::VulncheckThreatActorVendorName.new( + threat_actor_name: null, + url: null, + vendor_name: null +) +``` + diff --git a/docs/VulnerabilitiesApiCombinedVulnerability.md b/docs/VulnerabilitiesApiCombinedVulnerability.md index 8e907426..6c2336fa 100644 --- a/docs/VulnerabilitiesApiCombinedVulnerability.md +++ b/docs/VulnerabilitiesApiCombinedVulnerability.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIVulnerabilityCombined>**](ModelsAPIVulnerabilityCombined.md) | | | ## Example diff --git a/docs/VulnerabilitiesApiCombinedVulnerabilityDetails.md b/docs/VulnerabilitiesApiCombinedVulnerabilityDetails.md index 30de4c98..85ee2b62 100644 --- a/docs/VulnerabilitiesApiCombinedVulnerabilityDetails.md +++ b/docs/VulnerabilitiesApiCombinedVulnerabilityDetails.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIVulnerabilityDetails>**](ModelsAPIVulnerabilityDetails.md) | | | ## Example diff --git a/docs/VulnerabilitiesApiCombinedVulnerabilityInfo.md b/docs/VulnerabilitiesApiCombinedVulnerabilityInfo.md index 8be9eb90..cf7aae60 100644 --- a/docs/VulnerabilitiesApiCombinedVulnerabilityInfo.md +++ b/docs/VulnerabilitiesApiCombinedVulnerabilityInfo.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIVulnerabilityInfo>**](ModelsAPIVulnerabilityInfo.md) | | | ## Example diff --git a/docs/VulnerabilitiesApiVulnByImageCount.md b/docs/VulnerabilitiesApiVulnByImageCount.md index f6099a1a..83864680 100644 --- a/docs/VulnerabilitiesApiVulnByImageCount.md +++ b/docs/VulnerabilitiesApiVulnByImageCount.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIVulnByImageCount>**](ModelsAPIVulnByImageCount.md) | | | ## Example diff --git a/docs/VulnerabilitiesApiVulnByPublication.md b/docs/VulnerabilitiesApiVulnByPublication.md index 33eeb74e..2dc5393c 100644 --- a/docs/VulnerabilitiesApiVulnByPublication.md +++ b/docs/VulnerabilitiesApiVulnByPublication.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIVulnByPublicationDate>**](ModelsAPIVulnByPublicationDate.md) | | | ## Example diff --git a/docs/VulnerabilitiesApiVulnCount.md b/docs/VulnerabilitiesApiVulnCount.md index 12071c38..23351539 100644 --- a/docs/VulnerabilitiesApiVulnCount.md +++ b/docs/VulnerabilitiesApiVulnCount.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIVulnCount>**](ModelsAPIVulnCount.md) | | | ## Example diff --git a/docs/VulnerabilitiesApiVulnCountByActivelyExploited.md b/docs/VulnerabilitiesApiVulnCountByActivelyExploited.md index 4224459c..6c812a6c 100644 --- a/docs/VulnerabilitiesApiVulnCountByActivelyExploited.md +++ b/docs/VulnerabilitiesApiVulnCountByActivelyExploited.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIVulnCount>**](ModelsAPIVulnCount.md) | | | ## Example diff --git a/docs/VulnerabilitiesApiVulnCountByCSPRating.md b/docs/VulnerabilitiesApiVulnCountByCSPRating.md index 14708ca8..a2e4747f 100644 --- a/docs/VulnerabilitiesApiVulnCountByCSPRating.md +++ b/docs/VulnerabilitiesApiVulnCountByCSPRating.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | ## Example diff --git a/docs/VulnerabilitiesApiVulnCountByCVSSScore.md b/docs/VulnerabilitiesApiVulnCountByCVSSScore.md index 7565492c..c03403fb 100644 --- a/docs/VulnerabilitiesApiVulnCountByCVSSScore.md +++ b/docs/VulnerabilitiesApiVulnCountByCVSSScore.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | ## Example diff --git a/docs/VulnerabilitiesApiVulnCountBySeverity.md b/docs/VulnerabilitiesApiVulnCountBySeverity.md index a1ece2b6..c3b1d8d1 100644 --- a/docs/VulnerabilitiesApiVulnCountBySeverity.md +++ b/docs/VulnerabilitiesApiVulnCountBySeverity.md @@ -4,8 +4,8 @@ | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **errors** | [**Array<MsaspecError>**](MsaspecError.md) | | [optional] | -| **meta** | [**MsaspecMetaInfo**](MsaspecMetaInfo.md) | | | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | | | **resources** | [**Array<ModelsAPIFilterResponse>**](ModelsAPIFilterResponse.md) | | | ## Example diff --git a/docs/WorkflowRequest.md b/docs/WorkflowRequest.md new file mode 100644 index 00000000..1150db25 --- /dev/null +++ b/docs/WorkflowRequest.md @@ -0,0 +1,18 @@ +# Falcon::WorkflowRequest + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **ids** | **Array<String>** | | | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::WorkflowRequest.new( + ids: null +) +``` + diff --git a/docs/WorkflowResponse.md b/docs/WorkflowResponse.md new file mode 100644 index 00000000..4227602a --- /dev/null +++ b/docs/WorkflowResponse.md @@ -0,0 +1,22 @@ +# Falcon::WorkflowResponse + +## Properties + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **errors** | [**Array<MsaAPIError>**](MsaAPIError.md) | | [optional] | +| **ids** | **Array<String>** | | | +| **meta** | [**MsaMetaInfo**](MsaMetaInfo.md) | | [optional] | + +## Example + +```ruby +require 'crimson-falcon' + +instance = Falcon::WorkflowResponse.new( + errors: null, + ids: null, + meta: null +) +``` + diff --git a/docs/WorkflowsApi.md b/docs/WorkflowsApi.md index 7d3daced..e2588208 100644 --- a/docs/WorkflowsApi.md +++ b/docs/WorkflowsApi.md @@ -1,30 +1,33 @@ # Falcon::WorkflowsApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | +| [**workflow_activities_combined**](WorkflowsApi.md#workflow_activities_combined) | **GET** /workflows/combined/activities/v1 | Search for activities by name. Returns all supported activities if no filter specified | | [**workflow_definitions_combined**](WorkflowsApi.md#workflow_definitions_combined) | **GET** /workflows/combined/definitions/v1 | Search workflow definitions based on the provided filter | -| [**workflow_definitions_create**](WorkflowsApi.md#workflow_definitions_create) | **POST** /workflows/entities/definitions/v1 | Creates a workflow definition based on the provided model | | [**workflow_definitions_export**](WorkflowsApi.md#workflow_definitions_export) | **GET** /workflows/entities/definitions/export/v1 | Exports a workflow definition for the given definition ID | | [**workflow_definitions_import**](WorkflowsApi.md#workflow_definitions_import) | **POST** /workflows/entities/definitions/import/v1 | Imports a workflow definition based on the provided model | | [**workflow_definitions_update**](WorkflowsApi.md#workflow_definitions_update) | **PUT** /workflows/entities/definitions/v1 | Updates a workflow definition based on the provided model | | [**workflow_execute**](WorkflowsApi.md#workflow_execute) | **POST** /workflows/entities/execute/v1 | Executes an on-demand Workflow, the body is JSON used to trigger the execution, the response the execution ID(s) | +| [**workflow_execute_internal**](WorkflowsApi.md#workflow_execute_internal) | **POST** /workflows/entities/execute/internal/v1 | Executes an on-demand Workflow - internal workflows permitted, the body is JSON used to trigger the execution, the response the execution ID(s) | | [**workflow_execution_results**](WorkflowsApi.md#workflow_execution_results) | **GET** /workflows/entities/execution-results/v1 | Get execution result of a given execution | | [**workflow_executions_action**](WorkflowsApi.md#workflow_executions_action) | **POST** /workflows/entities/execution-actions/v1 | Allows a user to resume/retry a failed workflow execution. | | [**workflow_executions_combined**](WorkflowsApi.md#workflow_executions_combined) | **GET** /workflows/combined/executions/v1 | Search workflow executions based on the provided filter | | [**workflow_get_human_input_v1**](WorkflowsApi.md#workflow_get_human_input_v1) | **GET** /workflows/entities/human-inputs/v1 | Gets one or more specific human inputs by their IDs. | +| [**workflow_mock_execute**](WorkflowsApi.md#workflow_mock_execute) | **POST** /workflows/entities/mock-executions/v1 | Executes a workflow definition with mocks | | [**workflow_system_definitions_de_provision**](WorkflowsApi.md#workflow_system_definitions_de_provision) | **POST** /workflows/system-definitions/deprovision/v1 | Deprovisions a system definition that was previously provisioned on the target CID | | [**workflow_system_definitions_promote**](WorkflowsApi.md#workflow_system_definitions_promote) | **POST** /workflows/system-definitions/promote/v1 | Promotes a version of a system definition for a customer. The customer must already have been provisioned. This allows the caller to apply an updated template version to a specific cid and expects all parameters to be supplied. If the template supports multi-instance the customer scope definition ID must be supplied to determine which customer workflow should be updated. | | [**workflow_system_definitions_provision**](WorkflowsApi.md#workflow_system_definitions_provision) | **POST** /workflows/system-definitions/provision/v1 | Provisions a system definition onto the target CID by using the template and provided parameters | +| [**workflow_triggers_combined**](WorkflowsApi.md#workflow_triggers_combined) | **GET** /workflows/combined/triggers/v1 | Search for triggers by namespaced identifier, i.e. FalconAudit, Detection, or FalconAudit/Detection/Status. Returns all triggers if no filter specified | | [**workflow_update_human_input_v1**](WorkflowsApi.md#workflow_update_human_input_v1) | **PATCH** /workflows/entities/human-inputs/v1 | Provides an input in response to a human input action. Depending on action configuration, one or more of Approve, Decline, and/or Escalate are permitted. | -## workflow_definitions_combined +## workflow_activities_combined -> workflow_definitions_combined(opts) +> workflow_activities_combined(opts) -Search workflow definitions based on the provided filter +Search for activities by name. Returns all supported activities if no filter specified ### Examples @@ -48,29 +51,29 @@ opts = { } begin - # Search workflow definitions based on the provided filter - result = api_instance.workflow_definitions_combined(opts) + # Search for activities by name. Returns all supported activities if no filter specified + result = api_instance.workflow_activities_combined(opts) p result rescue Falcon::ApiError => e - puts "Error when calling WorkflowsApi->workflow_definitions_combined: #{e}" + puts "Error when calling WorkflowsApi->workflow_activities_combined: #{e}" end ``` -#### Using the workflow_definitions_combined_with_http_info variant +#### Using the workflow_activities_combined_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> workflow_definitions_combined_with_http_info(opts) +> , Integer, Hash)> workflow_activities_combined_with_http_info(opts) ```ruby begin - # Search workflow definitions based on the provided filter - data, status_code, headers = api_instance.workflow_definitions_combined_with_http_info(opts) + # Search for activities by name. Returns all supported activities if no filter specified + data, status_code, headers = api_instance.workflow_activities_combined_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e - puts "Error when calling WorkflowsApi->workflow_definitions_combined_with_http_info: #{e}" + puts "Error when calling WorkflowsApi->workflow_activities_combined_with_http_info: #{e}" end ``` @@ -85,7 +88,7 @@ end ### Return type -[**DefinitionsDefinitionExternalResponse**](DefinitionsDefinitionExternalResponse.md) +[**ActivitiesActivityExternalResponse**](ActivitiesActivityExternalResponse.md) ### Authorization @@ -97,11 +100,11 @@ end - **Accept**: application/json -## workflow_definitions_create +## workflow_definitions_combined -> workflow_definitions_create(body, opts) +> workflow_definitions_combined(opts) -Creates a workflow definition based on the provided model +Search workflow definitions based on the provided filter ### Examples @@ -117,35 +120,37 @@ Falcon.configure do |config| end api_instance = Falcon::WorkflowsApi.new -body = Falcon::ModelsDefinitionCreateRequestV2.new({definition: Falcon::V2Definition.new({name: 'name_example', node_registry: { key: 'inner_example'}, trigger: Falcon::V2Trigger.new({_next: ['_next_example']}), uniq_node_seen: { key: false}}), enabled: false}) # ModelsDefinitionCreateRequestV2 | opts = { - validate_only: true # Boolean | When enabled, prevents saving workflow after validating + filter: 'filter_example', # String | FQL query specifying filter parameters. + offset: 'offset_example', # String | Starting pagination offset of records to return. + limit: 56, # Integer | Maximum number of records to return. + sort: 'sort_example' # String | Sort items by providing a comma separated list of property and direction (eg name.desc,time.asc). If direction is omitted, defaults to descending. } begin - # Creates a workflow definition based on the provided model - result = api_instance.workflow_definitions_create(body, opts) + # Search workflow definitions based on the provided filter + result = api_instance.workflow_definitions_combined(opts) p result rescue Falcon::ApiError => e - puts "Error when calling WorkflowsApi->workflow_definitions_create: #{e}" + puts "Error when calling WorkflowsApi->workflow_definitions_combined: #{e}" end ``` -#### Using the workflow_definitions_create_with_http_info variant +#### Using the workflow_definitions_combined_with_http_info variant This returns an Array which contains the response data, status code and headers. -> , Integer, Hash)> workflow_definitions_create_with_http_info(body, opts) +> , Integer, Hash)> workflow_definitions_combined_with_http_info(opts) ```ruby begin - # Creates a workflow definition based on the provided model - data, status_code, headers = api_instance.workflow_definitions_create_with_http_info(body, opts) + # Search workflow definitions based on the provided filter + data, status_code, headers = api_instance.workflow_definitions_combined_with_http_info(opts) p status_code # => 2xx p headers # => { ... } - p data # => + p data # => rescue Falcon::ApiError => e - puts "Error when calling WorkflowsApi->workflow_definitions_create_with_http_info: #{e}" + puts "Error when calling WorkflowsApi->workflow_definitions_combined_with_http_info: #{e}" end ``` @@ -153,12 +158,14 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | -| **body** | [**ModelsDefinitionCreateRequestV2**](ModelsDefinitionCreateRequestV2.md) | | | -| **validate_only** | **Boolean** | When enabled, prevents saving workflow after validating | [optional][default to false] | +| **filter** | **String** | FQL query specifying filter parameters. | [optional] | +| **offset** | **String** | Starting pagination offset of records to return. | [optional] | +| **limit** | **Integer** | Maximum number of records to return. | [optional] | +| **sort** | **String** | Sort items by providing a comma separated list of property and direction (eg name.desc,time.asc). If direction is omitted, defaults to descending. | [optional] | ### Return type -[**ApiResourceIDsResponse**](ApiResourceIDsResponse.md) +[**DefinitionsDefinitionExternalResponse**](DefinitionsDefinitionExternalResponse.md) ### Authorization @@ -166,13 +173,13 @@ end ### HTTP request headers -- **Content-Type**: application/json, application/yaml -- **Accept**: application/json +- **Content-Type**: Not defined +- **Accept**: application/json, application/yaml ## workflow_definitions_export -> Array<Integer> workflow_definitions_export(id) +> Array<Integer> workflow_definitions_export(id, opts) Exports a workflow definition for the given definition ID @@ -191,10 +198,13 @@ end api_instance = Falcon::WorkflowsApi.new id = 'id_example' # String | ID of workflow definitions to return details for +opts = { + sanitize: true # Boolean | whether or not to sanitize PII from workflow before it's exported +} begin # Exports a workflow definition for the given definition ID - result = api_instance.workflow_definitions_export(id) + result = api_instance.workflow_definitions_export(id, opts) p result rescue Falcon::ApiError => e puts "Error when calling WorkflowsApi->workflow_definitions_export: #{e}" @@ -205,12 +215,12 @@ end This returns an Array which contains the response data, status code and headers. -> workflow_definitions_export_with_http_info(id) +> workflow_definitions_export_with_http_info(id, opts) ```ruby begin # Exports a workflow definition for the given definition ID - data, status_code, headers = api_instance.workflow_definitions_export_with_http_info(id) + data, status_code, headers = api_instance.workflow_definitions_export_with_http_info(id, opts) p status_code # => 2xx p headers # => { ... } p data # => Array<Integer> @@ -224,6 +234,7 @@ end | Name | Type | Description | Notes | | ---- | ---- | ----------- | ----- | | **id** | **String** | ID of workflow definitions to return details for | | +| **sanitize** | **Boolean** | whether or not to sanitize PII from workflow before it's exported | [optional][default to true] | ### Return type @@ -236,7 +247,7 @@ end ### HTTP request headers - **Content-Type**: Not defined -- **Accept**: application/yaml +- **Accept**: application/yaml, application/json ## workflow_definitions_import @@ -334,7 +345,7 @@ Falcon.configure do |config| end api_instance = Falcon::WorkflowsApi.new -body = Falcon::ModelsDefinitionUpdateRequestV2.new({definition: Falcon::V2Definition.new({name: 'name_example', node_registry: { key: 'inner_example'}, trigger: Falcon::V2Trigger.new({_next: ['_next_example']}), uniq_node_seen: { key: false}}), enabled: false, id: 'id_example'}) # ModelsDefinitionUpdateRequestV2 | +body = Falcon::ModelsDefinitionUpdateRequestV2.new({definition: Falcon::V2Definition.new({name: 'name_example', node_registry: { key: 'inner_example'}, parent: Falcon::V2Model.new({node_registry: { key: 'inner_example'}, parent: Falcon::V2Model.new({node_registry: { key: 'inner_example'}, parent: , trigger: Falcon::V2Trigger.new({_next: ['_next_example']}), uniq_node_seen: { key: false}}), trigger: Falcon::V2Trigger.new({_next: ['_next_example']}), uniq_node_seen: { key: false}}), trigger: , uniq_node_seen: { key: false}}), enabled: false, id: 'id_example'}) # ModelsDefinitionUpdateRequestV2 | opts = { validate_only: true # Boolean | When enabled, prevents saving workflow after validating } @@ -470,6 +481,91 @@ end - **Accept**: application/json +## workflow_execute_internal + +> workflow_execute_internal(body, opts) + +Executes an on-demand Workflow - internal workflows permitted, the body is JSON used to trigger the execution, the response the execution ID(s) + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::WorkflowsApi.new +body = { ... } # Object | +opts = { + execution_cid: ['inner_example'], # Array | CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. + definition_id: ['inner_example'], # Array | Definition ID to execute, either a name or an ID can be specified. + name: 'name_example', # String | Workflow name to execute, either a name or an ID can be specified. + key: 'key_example', # String | Key used to help deduplicate executions, if unset a new UUID is used + depth: 56, # Integer | Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. + batch_size: 56, # Integer | Used to set the batchSize, if unset the default batchSize is used + source_event_url: 'source_event_url_example' # String | Used to record a URL to the source that led to triggering this workflow +} + +begin + # Executes an on-demand Workflow - internal workflows permitted, the body is JSON used to trigger the execution, the response the execution ID(s) + result = api_instance.workflow_execute_internal(body, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling WorkflowsApi->workflow_execute_internal: #{e}" +end +``` + +#### Using the workflow_execute_internal_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> workflow_execute_internal_with_http_info(body, opts) + +```ruby +begin + # Executes an on-demand Workflow - internal workflows permitted, the body is JSON used to trigger the execution, the response the execution ID(s) + data, status_code, headers = api_instance.workflow_execute_internal_with_http_info(body, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling WorkflowsApi->workflow_execute_internal_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | **Object** | | | +| **execution_cid** | [**Array<String>**](String.md) | CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. | [optional] | +| **definition_id** | [**Array<String>**](String.md) | Definition ID to execute, either a name or an ID can be specified. | [optional] | +| **name** | **String** | Workflow name to execute, either a name or an ID can be specified. | [optional] | +| **key** | **String** | Key used to help deduplicate executions, if unset a new UUID is used | [optional] | +| **depth** | **Integer** | Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. | [optional] | +| **batch_size** | **Integer** | Used to set the batchSize, if unset the default batchSize is used | [optional] | +| **source_event_url** | **String** | Used to record a URL to the source that led to triggering this workflow | [optional] | + +### Return type + +[**ApiResourceIDsResponse**](ApiResourceIDsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + ## workflow_execution_results > workflow_execution_results(ids) @@ -756,6 +852,91 @@ end - **Accept**: application/json +## workflow_mock_execute + +> workflow_mock_execute(body, opts) + +Executes a workflow definition with mocks + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::WorkflowsApi.new +body = Falcon::ModelsMockExecutionCreateRequestV1.new({mocks: 'mocks_example'}) # ModelsMockExecutionCreateRequestV1 | +opts = { + execution_cid: ['inner_example'], # Array | CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. + definition_id: 'definition_id_example', # String | Definition ID to execute, either a name or an ID, or the definition itself in the request body, can be specified. + name: 'name_example', # String | Workflow name to execute, either a name or an ID, or the definition itself in the request body, can be specified. + key: 'key_example', # String | Key used to help deduplicate executions, if unset a new UUID is used + depth: 56, # Integer | Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. + source_event_url: 'source_event_url_example', # String | Used to record a URL to the source that led to triggering this workflow + validate_only: true # Boolean | When enabled, prevents execution after validating mocks against definition +} + +begin + # Executes a workflow definition with mocks + result = api_instance.workflow_mock_execute(body, opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling WorkflowsApi->workflow_mock_execute: #{e}" +end +``` + +#### Using the workflow_mock_execute_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> workflow_mock_execute_with_http_info(body, opts) + +```ruby +begin + # Executes a workflow definition with mocks + data, status_code, headers = api_instance.workflow_mock_execute_with_http_info(body, opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling WorkflowsApi->workflow_mock_execute_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **body** | [**ModelsMockExecutionCreateRequestV1**](ModelsMockExecutionCreateRequestV1.md) | | | +| **execution_cid** | [**Array<String>**](String.md) | CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. | [optional] | +| **definition_id** | **String** | Definition ID to execute, either a name or an ID, or the definition itself in the request body, can be specified. | [optional] | +| **name** | **String** | Workflow name to execute, either a name or an ID, or the definition itself in the request body, can be specified. | [optional] | +| **key** | **String** | Key used to help deduplicate executions, if unset a new UUID is used | [optional] | +| **depth** | **Integer** | Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. | [optional] | +| **source_event_url** | **String** | Used to record a URL to the source that led to triggering this workflow | [optional] | +| **validate_only** | **Boolean** | When enabled, prevents execution after validating mocks against definition | [optional][default to false] | + +### Return type + +[**ApiResourceIDsResponse**](ApiResourceIDsResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + ## workflow_system_definitions_de_provision > workflow_system_definitions_de_provision(body) @@ -963,6 +1144,77 @@ end - **Accept**: application/json +## workflow_triggers_combined + +> workflow_triggers_combined(opts) + +Search for triggers by namespaced identifier, i.e. FalconAudit, Detection, or FalconAudit/Detection/Status. Returns all triggers if no filter specified + +### Examples + +```ruby +require 'time' +require 'crimson-falcon' + +# Setup authorization +Falcon.configure do |config| + config.client_id = "Your_Client_ID" + config.client_secret = "Your_Client_Secret" + config.cloud = "us-1" # or "us-2", "eu-1", "us-gov1" +end + +api_instance = Falcon::WorkflowsApi.new +opts = { + filter: 'filter_example' # String | FQL query specifying filter parameters. +} + +begin + # Search for triggers by namespaced identifier, i.e. FalconAudit, Detection, or FalconAudit/Detection/Status. Returns all triggers if no filter specified + result = api_instance.workflow_triggers_combined(opts) + p result +rescue Falcon::ApiError => e + puts "Error when calling WorkflowsApi->workflow_triggers_combined: #{e}" +end +``` + +#### Using the workflow_triggers_combined_with_http_info variant + +This returns an Array which contains the response data, status code and headers. + +> , Integer, Hash)> workflow_triggers_combined_with_http_info(opts) + +```ruby +begin + # Search for triggers by namespaced identifier, i.e. FalconAudit, Detection, or FalconAudit/Detection/Status. Returns all triggers if no filter specified + data, status_code, headers = api_instance.workflow_triggers_combined_with_http_info(opts) + p status_code # => 2xx + p headers # => { ... } + p data # => +rescue Falcon::ApiError => e + puts "Error when calling WorkflowsApi->workflow_triggers_combined_with_http_info: #{e}" +end +``` + +### Parameters + +| Name | Type | Description | Notes | +| ---- | ---- | ----------- | ----- | +| **filter** | **String** | FQL query specifying filter parameters. | [optional] | + +### Return type + +[**TriggersTriggerExternalResponse**](TriggersTriggerExternalResponse.md) + +### Authorization + +**oauth2** + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + ## workflow_update_human_input_v1 > workflow_update_human_input_v1(id, body) diff --git a/docs/ZeroTrustAssessmentApi.md b/docs/ZeroTrustAssessmentApi.md index 63ac9ffd..1968df78 100644 --- a/docs/ZeroTrustAssessmentApi.md +++ b/docs/ZeroTrustAssessmentApi.md @@ -1,6 +1,6 @@ # Falcon::ZeroTrustAssessmentApi -All URIs are relative to *https://api.crowdstrike.com* +All URIs are relative to *https://api.us-2.crowdstrike.com* | Method | HTTP request | Description | | ------ | ------------ | ----------- | diff --git a/lib/crimson-falcon.rb b/lib/crimson-falcon.rb index be74892a..e01556aa 100644 --- a/lib/crimson-falcon.rb +++ b/lib/crimson-falcon.rb @@ -35,6 +35,14 @@ require 'crimson-falcon/cloud' # Models +require 'crimson-falcon/models/actions_action' +require 'crimson-falcon/models/actions_action_response' +require 'crimson-falcon/models/actions_create_action_request' +require 'crimson-falcon/models/actions_get_action_response' +require 'crimson-falcon/models/activities_activity' +require 'crimson-falcon/models/activities_activity_ext_field' +require 'crimson-falcon/models/activities_activity_external_response' +require 'crimson-falcon/models/activity' require 'crimson-falcon/models/alerts_container_alerts_count_value' require 'crimson-falcon/models/alerts_container_alerts_entity_response' require 'crimson-falcon/models/api_action_resp_v1' @@ -42,6 +50,17 @@ require 'crimson-falcon/models/api_audit_event_details_resource_v1' require 'crimson-falcon/models/api_audit_event_details_response_v1' require 'crimson-falcon/models/api_bulk_update_req_v1' +require 'crimson-falcon/models/api_cert_based_exclusion_create_req_v1' +require 'crimson-falcon/models/api_cert_based_exclusion_resp_v1' +require 'crimson-falcon/models/api_cert_based_exclusion_update_req_v1' +require 'crimson-falcon/models/api_cert_based_exclusion_v1' +require 'crimson-falcon/models/api_cert_based_exclusions_create_req_v1' +require 'crimson-falcon/models/api_cert_based_exclusions_update_req_v1' +require 'crimson-falcon/models/api_certificate_req_v1' +require 'crimson-falcon/models/api_certificate_v1' +require 'crimson-falcon/models/api_certificates_response_v1' +require 'crimson-falcon/models/api_create_migration_request_v1' +require 'crimson-falcon/models/api_create_migration_response_v1' require 'crimson-falcon/models/api_cred_payload' require 'crimson-falcon/models/api_customer_settings_patch_request_v1' require 'crimson-falcon/models/api_customer_settings_resource_v1' @@ -52,6 +71,7 @@ require 'crimson-falcon/models/api_device_count_v1' require 'crimson-falcon/models/api_devices_ran_on_resp_v1' require 'crimson-falcon/models/api_entities_response' +require 'crimson-falcon/models/api_event' require 'crimson-falcon/models/api_execution_results_response' require 'crimson-falcon/models/api_exposed_data_file_details_v1' require 'crimson-falcon/models/api_exposed_data_record_bot_location_v1' @@ -60,6 +80,12 @@ require 'crimson-falcon/models/api_exposed_data_record_financial_v1' require 'crimson-falcon/models/api_exposed_data_record_location_v1' require 'crimson-falcon/models/api_exposed_data_record_social_v1' +require 'crimson-falcon/models/api_get_host_migration_response_v1' +require 'crimson-falcon/models/api_get_migration_destinations_request_body_v1' +require 'crimson-falcon/models/api_get_migration_destinations_response_v1' +require 'crimson-falcon/models/api_get_migrations_response_v1' +require 'crimson-falcon/models/api_host_migration' +require 'crimson-falcon/models/api_hourly_average_response' require 'crimson-falcon/models/api_image_lookup_request' require 'crimson-falcon/models/api_indicator_create_req_v1' require 'crimson-falcon/models/api_indicator_create_reqs_v1' @@ -72,12 +98,15 @@ require 'crimson-falcon/models/api_indicators_query_paging' require 'crimson-falcon/models/api_indicators_report_request' require 'crimson-falcon/models/api_indicators_sorted_search' +require 'crimson-falcon/models/api_mfa_resource_ids_response' require 'crimson-falcon/models/api_message_center_activity_response' require 'crimson-falcon/models/api_message_center_attachment_upload_response' require 'crimson-falcon/models/api_message_center_cases_response' require 'crimson-falcon/models/api_meta_info' require 'crimson-falcon/models/api_metadata_req_v1' require 'crimson-falcon/models/api_metadata_v1' +require 'crimson-falcon/models/api_migrate_hosts_info' +require 'crimson-falcon/models/api_migration' require 'crimson-falcon/models/api_notification_exposed_data_record_entities_response_v1' require 'crimson-falcon/models/api_notification_exposed_data_record_v1' require 'crimson-falcon/models/api_object_metadata' @@ -86,8 +115,10 @@ require 'crimson-falcon/models/api_platforms_response' require 'crimson-falcon/models/api_post_enrollment_details' require 'crimson-falcon/models/api_post_enrollment_details_response' +require 'crimson-falcon/models/api_post_enrollment_details_v4' require 'crimson-falcon/models/api_processes_ran_on_resp_v1' require 'crimson-falcon/models/api_resource_ids_response' +require 'crimson-falcon/models/api_resp_certificates_v1' require 'crimson-falcon/models/api_response_pagination' require 'crimson-falcon/models/api_rule_create_v1' require 'crimson-falcon/models/api_rule_details_v1' @@ -98,7 +129,9 @@ require 'crimson-falcon/models/api_rule_type_v1' require 'crimson-falcon/models/api_rule_types_response' require 'crimson-falcon/models/api_rule_update_v1' +require 'crimson-falcon/models/api_rule_update_v2' require 'crimson-falcon/models/api_rule_updates_request_v1' +require 'crimson-falcon/models/api_rule_updates_request_v2' require 'crimson-falcon/models/api_rule_v1' require 'crimson-falcon/models/api_rules_get_request_v1' require 'crimson-falcon/models/api_rules_response' @@ -113,6 +146,7 @@ require 'crimson-falcon/models/api_validation_request_field_v1' require 'crimson-falcon/models/api_validation_request_v1' require 'crimson-falcon/models/api_validation_response_v1' +require 'crimson-falcon/models/api_weekly_average_response' require 'crimson-falcon/models/apidomain_dynamic_execute_search_request_v1' require 'crimson-falcon/models/apidomain_query_response_v1' require 'crimson-falcon/models/apidomain_query_response_wrapper_v1' @@ -136,7 +170,6 @@ require 'crimson-falcon/models/changes_diff' require 'crimson-falcon/models/changes_diff_hash' require 'crimson-falcon/models/changes_diff_type' -require 'crimson-falcon/models/changes_get_changes_response' require 'crimson-falcon/models/changes_group' require 'crimson-falcon/models/changes_high_volume_query_meta' require 'crimson-falcon/models/changes_high_volume_query_paging' @@ -146,6 +179,7 @@ require 'crimson-falcon/models/changes_owner' require 'crimson-falcon/models/changes_permissions' require 'crimson-falcon/models/changes_permissions_lin' +require 'crimson-falcon/models/changes_permissions_mac' require 'crimson-falcon/models/changes_policy' require 'crimson-falcon/models/changes_policy_rule' require 'crimson-falcon/models/changes_policy_rule_group' @@ -172,6 +206,7 @@ require 'crimson-falcon/models/client_extraction_file_result_v1' require 'crimson-falcon/models/client_extraction_list_files_response_v1' require 'crimson-falcon/models/client_extraction_with_files_v1' +require 'crimson-falcon/models/client_fql_statement' require 'crimson-falcon/models/client_field' require 'crimson-falcon/models/client_job_status' require 'crimson-falcon/models/client_query_response_schemas_v1' @@ -189,11 +224,17 @@ require 'crimson-falcon/models/common_cid_audit_result' require 'crimson-falcon/models/common_count_as_resource' require 'crimson-falcon/models/common_count_response' +require 'crimson-falcon/models/common_credentials' +require 'crimson-falcon/models/common_entities_response' require 'crimson-falcon/models/common_generic_entity_response_string' require 'crimson-falcon/models/common_os_audit' +require 'crimson-falcon/models/common_registry_credentials_response' +require 'crimson-falcon/models/contentchanges_change_contents_response' +require 'crimson-falcon/models/contentchanges_content' +require 'crimson-falcon/models/contentchanges_content_diff' require 'crimson-falcon/models/core_entities_response' -require 'crimson-falcon/models/custom_type1255839303' -require 'crimson-falcon/models/custom_type3191042536' +require 'crimson-falcon/models/custom_storage_object_keys' +require 'crimson-falcon/models/custom_storage_response' require 'crimson-falcon/models/definitions_definition_entities_response' require 'crimson-falcon/models/definitions_definition_ext' require 'crimson-falcon/models/definitions_definition_external_response' @@ -202,6 +243,9 @@ require 'crimson-falcon/models/definitions_flight_control_request' require 'crimson-falcon/models/definitions_parameter_property' require 'crimson-falcon/models/definitions_playbook_parameter' +require 'crimson-falcon/models/deployments_entity_response' +require 'crimson-falcon/models/destination' +require 'crimson-falcon/models/destinations_migration_destination' require 'crimson-falcon/models/detection_aggregate_indicator' require 'crimson-falcon/models/detection_aggregate_threat_intel' require 'crimson-falcon/models/detection_enrichment' @@ -213,9 +257,9 @@ require 'crimson-falcon/models/detections_api_detections_by_severity' require 'crimson-falcon/models/detections_api_detections_by_type' require 'crimson-falcon/models/detections_api_detections_count' -require 'crimson-falcon/models/detects_alert' require 'crimson-falcon/models/detects_behavior' require 'crimson-falcon/models/detects_device_detail_indexed' +require 'crimson-falcon/models/detects_external_alert' require 'crimson-falcon/models/detects_host_info' require 'crimson-falcon/models/detects_parent_details' require 'crimson-falcon/models/detects_quarantined_file' @@ -227,9 +271,9 @@ require 'crimson-falcon/models/detectsapi_patch_entities_alerts_v2_request' require 'crimson-falcon/models/detectsapi_patch_entities_alerts_v3_request' require 'crimson-falcon/models/detectsapi_post_entities_alerts_v1_request' -require 'crimson-falcon/models/detectsapi_post_entities_alerts_v1_response' +require 'crimson-falcon/models/detectsapi_post_entities_alerts_v1_response_swagger' require 'crimson-falcon/models/detectsapi_post_entities_alerts_v2_request' -require 'crimson-falcon/models/detectsapi_post_entities_alerts_v2_response' +require 'crimson-falcon/models/detectsapi_post_entities_alerts_v2_response_swagger' require 'crimson-falcon/models/detectsapi_response_fields' require 'crimson-falcon/models/device_control_create_policies_v1' require 'crimson-falcon/models/device_control_create_policy_req_v1' @@ -271,13 +315,13 @@ require 'crimson-falcon/models/deviceapi_update_device_tags_request_v1' require 'crimson-falcon/models/deviceapi_update_device_tags_swagger_v1' require 'crimson-falcon/models/domain_api_combined_findings_response_v1' +require 'crimson-falcon/models/domain_api_compliance_control_v1' +require 'crimson-falcon/models/domain_api_compliance_mapping_v1' require 'crimson-falcon/models/domain_api_detection_document' -require 'crimson-falcon/models/domain_api_entity_matched_v1' require 'crimson-falcon/models/domain_api_error' require 'crimson-falcon/models/domain_api_evaluation_logic_comparisons_v1' require 'crimson-falcon/models/domain_api_evaluation_logic_entities_response_v1' require 'crimson-falcon/models/domain_api_evaluation_logic_entity_comparison_v1' -require 'crimson-falcon/models/domain_api_evaluation_logic_host_info_v1' require 'crimson-falcon/models/domain_api_evaluation_logic_item_v1' require 'crimson-falcon/models/domain_api_evaluation_logic_state_comparison_v1' require 'crimson-falcon/models/domain_api_evaluation_logic_v1' @@ -292,6 +336,7 @@ require 'crimson-falcon/models/domain_api_query_meta_v1' require 'crimson-falcon/models/domain_api_query_paging_v1' require 'crimson-falcon/models/domain_api_remediation_ids' +require 'crimson-falcon/models/domain_api_remediation_info' require 'crimson-falcon/models/domain_api_remediation_v2' require 'crimson-falcon/models/domain_api_rule_details_response_v1' require 'crimson-falcon/models/domain_api_rule_details_v1' @@ -302,14 +347,17 @@ require 'crimson-falcon/models/domain_api_vulnerability_extended_app_v2' require 'crimson-falcon/models/domain_api_vulnerability_host_facet_v2' require 'crimson-falcon/models/domain_api_vulnerability_remediation_facet_v2' +require 'crimson-falcon/models/domain_api_vulnerability_service_v2' require 'crimson-falcon/models/domain_api_vulnerability_suppression_info_v2' require 'crimson-falcon/models/domain_api_vulnerability_v2' require 'crimson-falcon/models/domain_aws_account_input' +require 'crimson-falcon/models/domain_aws_account_resource_metadata' require 'crimson-falcon/models/domain_aws_account_v2' require 'crimson-falcon/models/domain_aws_batch_cluster_region' require 'crimson-falcon/models/domain_aws_configuration' require 'crimson-falcon/models/domain_awsd4_c_account_v1' require 'crimson-falcon/models/domain_awsd4_c_organization_account_v1' +require 'crimson-falcon/models/domain_aws_inventory_filter_setting' require 'crimson-falcon/models/domain_access_token_response_v1' require 'crimson-falcon/models/domain_account_access_result' require 'crimson-falcon/models/domain_action_entities_response_v1' @@ -321,9 +369,19 @@ require 'crimson-falcon/models/domain_actor_entity' require 'crimson-falcon/models/domain_actor_news_document' require 'crimson-falcon/models/domain_actors_response' +require 'crimson-falcon/models/domain_aggregate_cluster_assessments_response' +require 'crimson-falcon/models/domain_aggregate_failed_asset_count_by_severity_response' +require 'crimson-falcon/models/domain_aggregate_failed_assets_by_rules_response' +require 'crimson-falcon/models/domain_aggregate_failed_rules_by_clusters_response' +require 'crimson-falcon/models/domain_aggregate_failed_rules_by_images_response' +require 'crimson-falcon/models/domain_aggregate_failed_rules_count_by_severity_response' +require 'crimson-falcon/models/domain_aggregate_image_assessments_response' +require 'crimson-falcon/models/domain_aggregate_rules_assessments_response' +require 'crimson-falcon/models/domain_aggregate_rules_by_status_response' require 'crimson-falcon/models/domain_aggregates_response' require 'crimson-falcon/models/domain_assessment' require 'crimson-falcon/models/domain_assessment_items' +require 'crimson-falcon/models/domain_assessment_paging' require 'crimson-falcon/models/domain_assessments_by_score_response' require 'crimson-falcon/models/domain_assessments_response' require 'crimson-falcon/models/domain_asset_criticality_info_v1' @@ -344,8 +402,6 @@ require 'crimson-falcon/models/domain_batch_refresh_session_response' require 'crimson-falcon/models/domain_behavior' require 'crimson-falcon/models/domain_benchmark' -require 'crimson-falcon/models/domain_botnet_config_source' -require 'crimson-falcon/models/domain_botnet_inject' require 'crimson-falcon/models/domain_breach_details_v1' require 'crimson-falcon/models/domain_breached_item_v1' require 'crimson-falcon/models/domain_cid_group' @@ -355,24 +411,50 @@ require 'crimson-falcon/models/domain_cid_groups_request_v1' require 'crimson-falcon/models/domain_cid_groups_response_v1' require 'crimson-falcon/models/domain_cid_policy_assignments' +require 'crimson-falcon/models/domain_cisa_known_exploited_vulnerabilities_info' +require 'crimson-falcon/models/domain_cps_rating' +require 'crimson-falcon/models/domain_cps_rating_history_entry' +require 'crimson-falcon/models/domain_cps_rating_indicator' require 'crimson-falcon/models/domain_csix_label' require 'crimson-falcon/models/domain_csix_relation' +require 'crimson-falcon/models/domain_cve' +require 'crimson-falcon/models/domain_cve_exploit' +require 'crimson-falcon/models/domain_cve_exploit_reference' +require 'crimson-falcon/models/domain_cve_exploit_source' +require 'crimson-falcon/models/domain_cvssv2' +require 'crimson-falcon/models/domain_cvssv3' require 'crimson-falcon/models/domain_card' require 'crimson-falcon/models/domain_case_creation_request' require 'crimson-falcon/models/domain_case_creation_request_v2' require 'crimson-falcon/models/domain_child_link' require 'crimson-falcon/models/domain_children_response_v1' +require 'crimson-falcon/models/domain_cipher' +require 'crimson-falcon/models/domain_cloud_aws_account_v1' require 'crimson-falcon/models/domain_cloud_accounts' +require 'crimson-falcon/models/domain_cloud_condition' require 'crimson-falcon/models/domain_cloud_scope' require 'crimson-falcon/models/domain_command_execute_request' require 'crimson-falcon/models/domain_command_execute_response' require 'crimson-falcon/models/domain_command_execute_response_wrapper' +require 'crimson-falcon/models/domain_compliance' +require 'crimson-falcon/models/domain_compliance_findings_grouped_by_images_with_scroll' require 'crimson-falcon/models/domain_condition' +require 'crimson-falcon/models/domain_config_v1' +require 'crimson-falcon/models/domain_configs_v1' +require 'crimson-falcon/models/domain_content_package' +require 'crimson-falcon/models/domain_control' +require 'crimson-falcon/models/domain_control_benchmark' require 'crimson-falcon/models/domain_create_action_request' +require 'crimson-falcon/models/domain_create_submission_v1_error_response' require 'crimson-falcon/models/domain_create_user_request' require 'crimson-falcon/models/domain_credentials' -require 'crimson-falcon/models/domain_ddos_attack_source' -require 'crimson-falcon/models/domain_ddos_target_details' +require 'crimson-falcon/models/domain_denormalized_adversary_reference' +require 'crimson-falcon/models/domain_denormalized_country' +require 'crimson-falcon/models/domain_denormalized_customer_target' +require 'crimson-falcon/models/domain_denormalized_report_reference' +require 'crimson-falcon/models/domain_denormalized_sector' +require 'crimson-falcon/models/domain_denormalized_threat_reference' +require 'crimson-falcon/models/domain_denormalized_threat_used_mitre' require 'crimson-falcon/models/domain_detailed_notification_v1' require 'crimson-falcon/models/domain_detects_entities_patch_request' require 'crimson-falcon/models/domain_device' @@ -382,9 +464,13 @@ require 'crimson-falcon/models/domain_discover_api_active_discovery_host' require 'crimson-falcon/models/domain_discover_api_active_discovery_network' require 'crimson-falcon/models/domain_discover_api_application' +require 'crimson-falcon/models/domain_discover_api_application_browser_extension' +require 'crimson-falcon/models/domain_discover_api_application_browser_extension_installation' require 'crimson-falcon/models/domain_discover_api_application_entities_response' require 'crimson-falcon/models/domain_discover_api_application_host' require 'crimson-falcon/models/domain_discover_api_bios_hashes_data' +require 'crimson-falcon/models/domain_discover_api_combined_applications_response' +require 'crimson-falcon/models/domain_discover_api_combined_hosts_response' require 'crimson-falcon/models/domain_discover_api_device_slot' require 'crimson-falcon/models/domain_discover_api_disk_size' require 'crimson-falcon/models/domain_discover_api_field_metadata' @@ -393,22 +479,27 @@ require 'crimson-falcon/models/domain_discover_api_host_triage' require 'crimson-falcon/models/domain_discover_apiio_t_host' require 'crimson-falcon/models/domain_discover_apiio_t_host_entities_response' +require 'crimson-falcon/models/domain_discover_apiio_t_host_triage' require 'crimson-falcon/models/domain_discover_api_login' require 'crimson-falcon/models/domain_discover_api_login_entities_response' +require 'crimson-falcon/models/domain_discover_api_meta_info' require 'crimson-falcon/models/domain_discover_api_mount_storage_info' require 'crimson-falcon/models/domain_discover_api_network_interface' require 'crimson-falcon/models/domain_discover_apios_security' +require 'crimson-falcon/models/domain_discover_api_paging' +require 'crimson-falcon/models/domain_discover_api_response' require 'crimson-falcon/models/domain_discover_params' require 'crimson-falcon/models/domain_disposition' require 'crimson-falcon/models/domain_e_crime_kill_chain' require 'crimson-falcon/models/domain_entities_patch_request' -require 'crimson-falcon/models/domain_entity' require 'crimson-falcon/models/domain_entity_action_request' require 'crimson-falcon/models/domain_environment_score' require 'crimson-falcon/models/domain_errors_only' -require 'crimson-falcon/models/domain_event' -require 'crimson-falcon/models/domain_event_entities_response' require 'crimson-falcon/models/domain_event_histogram' +require 'crimson-falcon/models/domain_execute_command_request_v1' +require 'crimson-falcon/models/domain_execute_command_result_v1' +require 'crimson-falcon/models/domain_execute_command_results_v1' +require 'crimson-falcon/models/domain_execute_command_v1' require 'crimson-falcon/models/domain_execution_metadata_summary' require 'crimson-falcon/models/domain_execution_metadata_v1' require 'crimson-falcon/models/domain_export_job_entities_response_v1' @@ -422,10 +513,42 @@ require 'crimson-falcon/models/domain_exposed_data_record_location_v1' require 'crimson-falcon/models/domain_exposed_data_record_social_v1' require 'crimson-falcon/models/domain_external_api_registry' +require 'crimson-falcon/models/domain_external_asset_api_delete_request_v1' +require 'crimson-falcon/models/domain_external_asset_api_patch_request_v1' +require 'crimson-falcon/models/domain_external_asset_application' +require 'crimson-falcon/models/domain_external_asset_certificate' +require 'crimson-falcon/models/domain_external_asset_certificate_entity_identifiers' +require 'crimson-falcon/models/domain_external_asset_cloud_vm' +require 'crimson-falcon/models/domain_external_asset_discovery_attributes' +require 'crimson-falcon/models/domain_external_asset_discovery_path_attributes' +require 'crimson-falcon/models/domain_external_asset_discovery_step_attributes' +require 'crimson-falcon/models/domain_external_asset_geographical_location' +require 'crimson-falcon/models/domain_external_asset_http_attributes' +require 'crimson-falcon/models/domain_external_asset_redirect_step_attributes' +require 'crimson-falcon/models/domain_external_asset_ssl_record' +require 'crimson-falcon/models/domain_external_asset_service' +require 'crimson-falcon/models/domain_external_asset_service_blobs_links' +require 'crimson-falcon/models/domain_external_asset_subsidiary' +require 'crimson-falcon/models/domain_external_assets_api_patch' +require 'crimson-falcon/models/domain_external_assets_api_triage' +require 'crimson-falcon/models/domain_external_assets_api_triage_patch' +require 'crimson-falcon/models/domain_external_assets_api_type_v1' +require 'crimson-falcon/models/domain_external_assets_blob_api_type_v1' require 'crimson-falcon/models/domain_external_credential_response' +require 'crimson-falcon/models/domain_external_export_job' require 'crimson-falcon/models/domain_external_query_response' require 'crimson-falcon/models/domain_external_registry_list_response' require 'crimson-falcon/models/domain_external_registry_response' +require 'crimson-falcon/models/domain_feature_permission' +require 'crimson-falcon/models/domain_feature_status' +require 'crimson-falcon/models/domain_fem_dns_domain' +require 'crimson-falcon/models/domain_fem_ecosystem_subsidiaries_entities_response' +require 'crimson-falcon/models/domain_fem_ecosystem_subsidiaries_meta' +require 'crimson-falcon/models/domain_fem_ecosystem_subsidiaries_query_response' +require 'crimson-falcon/models/domain_fem_ecosystem_subsidiaries_response_fields' +require 'crimson-falcon/models/domain_fem_ecosystem_subsidiary' +require 'crimson-falcon/models/domain_fem_external_asset' +require 'crimson-falcon/models/domain_fem_external_ip' require 'crimson-falcon/models/domain_field' require 'crimson-falcon/models/domain_field_validation' require 'crimson-falcon/models/domain_field_value' @@ -436,6 +559,7 @@ require 'crimson-falcon/models/domain_file_v2' require 'crimson-falcon/models/domain_fragment_info' require 'crimson-falcon/models/domain_gcp_account_v1' +require 'crimson-falcon/models/domain_geo_point' require 'crimson-falcon/models/domain_host' require 'crimson-falcon/models/domain_ioc' require 'crimson-falcon/models/domain_image' @@ -444,7 +568,6 @@ require 'crimson-falcon/models/domain_init_response' require 'crimson-falcon/models/domain_init_response_wrapper' require 'crimson-falcon/models/domain_item_details_v1' -require 'crimson-falcon/models/domain_key_value_pair' require 'crimson-falcon/models/domain_kill_chain' require 'crimson-falcon/models/domain_last_scheduled_execution' require 'crimson-falcon/models/domain_last_unscheduled_execution' @@ -457,10 +580,13 @@ require 'crimson-falcon/models/domain_mssp_role_response_v1' require 'crimson-falcon/models/domain_mssp_roles' require 'crimson-falcon/models/domain_malicious_file' +require 'crimson-falcon/models/domain_malware_document' +require 'crimson-falcon/models/domain_malware_environment_aggregates' +require 'crimson-falcon/models/domain_malware_response' require 'crimson-falcon/models/domain_mapped_device_policies' +require 'crimson-falcon/models/domain_marketplace_credentials' require 'crimson-falcon/models/domain_marketplace_product' require 'crimson-falcon/models/domain_matched_breach_summary_v1' -require 'crimson-falcon/models/domain_matched_rule' require 'crimson-falcon/models/domain_meta_info' require 'crimson-falcon/models/domain_msa_detect_summaries_response' require 'crimson-falcon/models/domain_msa_environment_score_response' @@ -468,6 +594,7 @@ require 'crimson-falcon/models/domain_msa_external_incident_response' require 'crimson-falcon/models/domain_msa_incident_perform_action_response' require 'crimson-falcon/models/domain_msa_incident_query_response' +require 'crimson-falcon/models/domain_msa_meta_info' require 'crimson-falcon/models/domain_msa_qf_response' require 'crimson-falcon/models/domain_multi_command_execute_response' require 'crimson-falcon/models/domain_multi_command_execute_response_wrapper' @@ -481,11 +608,13 @@ require 'crimson-falcon/models/domain_notification_id_response' require 'crimson-falcon/models/domain_notification_v1' require 'crimson-falcon/models/domain_notifications' -require 'crimson-falcon/models/domain_pastebin_text_source' require 'crimson-falcon/models/domain_permission' require 'crimson-falcon/models/domain_platform' require 'crimson-falcon/models/domain_policy_info' require 'crimson-falcon/models/domain_policy_setting_by_account_and_region' +require 'crimson-falcon/models/domain_product_features' +require 'crimson-falcon/models/domain_product_features_status' +require 'crimson-falcon/models/domain_product_permission' require 'crimson-falcon/models/domain_public_indicator_v3' require 'crimson-falcon/models/domain_public_indicators_v3_response' require 'crimson-falcon/models/domain_queries_patch_request' @@ -497,6 +626,7 @@ require 'crimson-falcon/models/domain_quota' require 'crimson-falcon/models/domain_recon_api_error' require 'crimson-falcon/models/domain_recon_api_error_detail' +require 'crimson-falcon/models/domain_reference' require 'crimson-falcon/models/domain_register_actions_request' require 'crimson-falcon/models/domain_registry_credentials_response' require 'crimson-falcon/models/domain_report_execution_launch_request_v1' @@ -507,11 +637,11 @@ require 'crimson-falcon/models/domain_report_malware' require 'crimson-falcon/models/domain_report_metadata' require 'crimson-falcon/models/domain_report_params' +require 'crimson-falcon/models/domain_request' require 'crimson-falcon/models/domain_result_metadata' require 'crimson-falcon/models/domain_role' require 'crimson-falcon/models/domain_role_ids' require 'crimson-falcon/models/domain_rule' -require 'crimson-falcon/models/domain_rule_entities_response' require 'crimson-falcon/models/domain_rule_meta_info' require 'crimson-falcon/models/domain_rule_preview_request' require 'crimson-falcon/models/domain_rule_query_response_v1' @@ -540,12 +670,15 @@ require 'crimson-falcon/models/domain_search_after_meta' require 'crimson-falcon/models/domain_search_after_paging' require 'crimson-falcon/models/domain_sensor_installer_v1' +require 'crimson-falcon/models/domain_sensor_installer_v2' require 'crimson-falcon/models/domain_sensor_installers_v1' +require 'crimson-falcon/models/domain_sensor_installers_v2' require 'crimson-falcon/models/domain_session' require 'crimson-falcon/models/domain_session_response_wrapper' require 'crimson-falcon/models/domain_signal_properties' require 'crimson-falcon/models/domain_signal_property' require 'crimson-falcon/models/domain_simple_actor' +require 'crimson-falcon/models/domain_spotlight_params' require 'crimson-falcon/models/domain_status_response' require 'crimson-falcon/models/domain_status_response_wrapper' require 'crimson-falcon/models/domain_telegram_channel_info' @@ -553,7 +686,6 @@ require 'crimson-falcon/models/domain_telegram_recipient_info' require 'crimson-falcon/models/domain_telegram_sender_info' require 'crimson-falcon/models/domain_threat_entity' -require 'crimson-falcon/models/domain_tweet_source' require 'crimson-falcon/models/domain_update_action_request' require 'crimson-falcon/models/domain_update_notification_request_v1' require 'crimson-falcon/models/domain_update_results' @@ -574,11 +706,8 @@ require 'crimson-falcon/models/domain_user_metadata' require 'crimson-falcon/models/domain_user_role' require 'crimson-falcon/models/domain_value_item' +require 'crimson-falcon/models/domain_vuln' require 'crimson-falcon/models/domain_vulnerability' -require 'crimson-falcon/models/domain_vulnerability_actor' -require 'crimson-falcon/models/domain_vulnerability_affected_product' -require 'crimson-falcon/models/domain_vulnerability_related_threat' -require 'crimson-falcon/models/domain_vulnerability_report' require 'crimson-falcon/models/domain_vulnerability_response' require 'crimson-falcon/models/domain_xdr_data' require 'crimson-falcon/models/domain_xdr_params' @@ -601,6 +730,7 @@ require 'crimson-falcon/models/entities_ods_scan_response_v2' require 'crimson-falcon/models/entities_ods_schedule_scan_request' require 'crimson-falcon/models/entities_ods_schedule_scan_response' +require 'crimson-falcon/models/entities_rolling_average' require 'crimson-falcon/models/exclusions_create_req_v1' require 'crimson-falcon/models/exclusions_exclusion_v1' require 'crimson-falcon/models/exclusions_resp_v1' @@ -612,6 +742,9 @@ require 'crimson-falcon/models/executions_loop_result' require 'crimson-falcon/models/executions_reference_link' require 'crimson-falcon/models/executions_trigger_result' +require 'crimson-falcon/models/exports_exports_response' +require 'crimson-falcon/models/exports_launch_export_request' +require 'crimson-falcon/models/exports_launch_export_response' require 'crimson-falcon/models/falconx_amsi_call' require 'crimson-falcon/models/falconx_actor' require 'crimson-falcon/models/falconx_actor_summary' @@ -672,6 +805,8 @@ require 'crimson-falcon/models/falconx_threat_graph_report_v1' require 'crimson-falcon/models/falconx_url_data' require 'crimson-falcon/models/falconx_version_info' +require 'crimson-falcon/models/fielddata_field_source' +require 'crimson-falcon/models/fielddata_field_source_option' require 'crimson-falcon/models/firewall_create_firewall_policies_req_v1' require 'crimson-falcon/models/firewall_create_firewall_policy_req_v1' require 'crimson-falcon/models/firewall_policy_v1' @@ -742,6 +877,7 @@ require 'crimson-falcon/models/fwmgr_msa_aggregation_result' require 'crimson-falcon/models/fwmgr_msa_aggregation_result_item' require 'crimson-falcon/models/fwmgr_msa_date_range_spec' +require 'crimson-falcon/models/fwmgr_msa_extended_bounds_spec' require 'crimson-falcon/models/fwmgr_msa_range_spec' require 'crimson-falcon/models/fwmgr_msaspec_error' require 'crimson-falcon/models/fwmgr_msaspec_meta_info' @@ -797,12 +933,14 @@ require 'crimson-falcon/models/jsonschema_complex_permissions' require 'crimson-falcon/models/jsonschema_complex_permissions_or' require 'crimson-falcon/models/jsonschema_condition_group_fields' +require 'crimson-falcon/models/jsonschema_duration_option' require 'crimson-falcon/models/jsonschema_permission' require 'crimson-falcon/models/jsonschema_pivot' require 'crimson-falcon/models/jsonschema_reset_fields' require 'crimson-falcon/models/jsonschema_schema' require 'crimson-falcon/models/jsonschema_signals_extensions' require 'crimson-falcon/models/jsonschema_sub_schema' +require 'crimson-falcon/models/jsonschema_ui_extensions' require 'crimson-falcon/models/jsonschema_workflow_extensions' require 'crimson-falcon/models/k8sassets_cluster_enrichment_data' require 'crimson-falcon/models/k8sassets_cluster_enrichment_entry' @@ -945,9 +1083,16 @@ require 'crimson-falcon/models/models_application_library' require 'crimson-falcon/models/models_application_package_info_type' require 'crimson-falcon/models/models_aws_account_access_health' +require 'crimson-falcon/models/models_base_image_request' require 'crimson-falcon/models/models_base_response_v1' require 'crimson-falcon/models/models_cluster' require 'crimson-falcon/models/models_cluster_entity_response' +require 'crimson-falcon/models/models_cluster_info' +require 'crimson-falcon/models/models_cluster_with_failed_rules' +require 'crimson-falcon/models/models_compliance_by_rules' +require 'crimson-falcon/models/models_compliance_export_grouped_by_clusters_report' +require 'crimson-falcon/models/models_compliance_export_grouped_by_images_report' +require 'crimson-falcon/models/models_compliance_export_grouped_by_rules_report' require 'crimson-falcon/models/models_container' require 'crimson-falcon/models/models_container_coverage' require 'crimson-falcon/models/models_container_coverage_response_entity' @@ -957,26 +1102,45 @@ require 'crimson-falcon/models/models_container_runtime_pivot' require 'crimson-falcon/models/models_container_runtime_pivot_response' require 'crimson-falcon/models/models_create_aws_accounts_v1' +require 'crimson-falcon/models/models_create_base_images_request' +require 'crimson-falcon/models/models_create_deployment_input' require 'crimson-falcon/models/models_create_image_group_request' require 'crimson-falcon/models/models_create_policy_request' require 'crimson-falcon/models/models_credentials' require 'crimson-falcon/models/models_customer_configurations_v1' require 'crimson-falcon/models/models_definition_create_request_v2' require 'crimson-falcon/models/models_definition_update_request_v2' +require 'crimson-falcon/models/models_delivery_settings' +require 'crimson-falcon/models/models_delivery_settings_entity_response' +require 'crimson-falcon/models/models_delivery_settings_input' +require 'crimson-falcon/models/models_delivery_settings_request' require 'crimson-falcon/models/models_deployment' require 'crimson-falcon/models/models_deployment_entity_response' +require 'crimson-falcon/models/models_deployment_resource' +require 'crimson-falcon/models/models_detection' +require 'crimson-falcon/models/models_detection_engine_info_type' +require 'crimson-falcon/models/models_detection_info_type' +require 'crimson-falcon/models/models_elf_binary' require 'crimson-falcon/models/models_exclusion_condition' require 'crimson-falcon/models/models_exclusion_condition_request' require 'crimson-falcon/models/models_ext_api_image_combined' +require 'crimson-falcon/models/models_image_details' require 'crimson-falcon/models/models_image_information' require 'crimson-falcon/models/models_image_summary_packages_info' +require 'crimson-falcon/models/models_image_with_rules_failed' +require 'crimson-falcon/models/models_images_with_rules_failed' require 'crimson-falcon/models/models_issues_summary_container_info' +require 'crimson-falcon/models/models_job_meta_data' require 'crimson-falcon/models/models_light_weight_config' +require 'crimson-falcon/models/models_mock_execution_create_request_v1' require 'crimson-falcon/models/models_modify_aws_customer_settings_v1' require 'crimson-falcon/models/models_node' require 'crimson-falcon/models/models_node_entity_response' +require 'crimson-falcon/models/models_non_compliant_assets_by_severity' +require 'crimson-falcon/models/models_os_info_type' require 'crimson-falcon/models/models_package_info_type' require 'crimson-falcon/models/models_package_name_version_type' +require 'crimson-falcon/models/models_package_vulnerability_type' require 'crimson-falcon/models/models_patch_image_group_request' require 'crimson-falcon/models/models_patch_policy_request' require 'crimson-falcon/models/models_pod' @@ -986,10 +1150,20 @@ require 'crimson-falcon/models/models_policy_group_entity_response' require 'crimson-falcon/models/models_registry_credentials_response' require 'crimson-falcon/models/models_request_api_policy_data' +require 'crimson-falcon/models/models_rule_status' +require 'crimson-falcon/models/models_rule_with_non_compliant_assets' +require 'crimson-falcon/models/models_rules_failed_by_severity' +require 'crimson-falcon/models/models_rules_with_non_compliant_assets' +require 'crimson-falcon/models/models_scan_report_type' +require 'crimson-falcon/models/models_scan_results' require 'crimson-falcon/models/models_snapshot_account_status' +require 'crimson-falcon/models/models_snapshot_inventory_application' require 'crimson-falcon/models/models_update_aws_accounts_v1' require 'crimson-falcon/models/models_update_exclusions_request' require 'crimson-falcon/models/models_verify_access_response_v1' +require 'crimson-falcon/models/models_vulnerabilities_type' +require 'crimson-falcon/models/models_vulnerability_product' +require 'crimson-falcon/models/models_vulnerability_type' require 'crimson-falcon/models/msa_api_error' require 'crimson-falcon/models/msa_affected_entity' require 'crimson-falcon/models/msa_aggregate_query_request' @@ -1001,7 +1175,9 @@ require 'crimson-falcon/models/msa_entities_response' require 'crimson-falcon/models/msa_entity_action_request' require 'crimson-falcon/models/msa_entity_action_request_v2' +require 'crimson-falcon/models/msa_entity_action_request_v3' require 'crimson-falcon/models/msa_errors_only' +require 'crimson-falcon/models/msa_extended_bounds_spec' require 'crimson-falcon/models/msa_facet' require 'crimson-falcon/models/msa_facets_response' require 'crimson-falcon/models/msa_ids_request' @@ -1013,10 +1189,7 @@ require 'crimson-falcon/models/msa_reply_meta_only' require 'crimson-falcon/models/msa_resources' require 'crimson-falcon/models/msaspec_action_parameter' -require 'crimson-falcon/models/msaspec_error' require 'crimson-falcon/models/msaspec_ids_request' -require 'crimson-falcon/models/msaspec_meta_info' -require 'crimson-falcon/models/msaspec_paging' require 'crimson-falcon/models/msaspec_query_response' require 'crimson-falcon/models/msaspec_response_fields' require 'crimson-falcon/models/msaspec_writes' @@ -1057,8 +1230,26 @@ require 'crimson-falcon/models/prevention_update_policy_req_v1' require 'crimson-falcon/models/processesapi_msa_process_detail_response' require 'crimson-falcon/models/processesapi_process_detail' +require 'crimson-falcon/models/public_get_changes_response' require 'crimson-falcon/models/quarantine_quarantined_file' require 'crimson-falcon/models/quarantine_quarantined_file_path' +require 'crimson-falcon/models/quickscanpro_delete_file_response' +require 'crimson-falcon/models/quickscanpro_file_result' +require 'crimson-falcon/models/quickscanpro_file_upload_resource' +require 'crimson-falcon/models/quickscanpro_file_upload_response' +require 'crimson-falcon/models/quickscanpro_get_scan_result_resource' +require 'crimson-falcon/models/quickscanpro_get_scan_result_response' +require 'crimson-falcon/models/quickscanpro_launch_scan_request' +require 'crimson-falcon/models/quickscanpro_launch_scan_request_resource' +require 'crimson-falcon/models/quickscanpro_launch_scan_resource' +require 'crimson-falcon/models/quickscanpro_launch_scan_response' +require 'crimson-falcon/models/quickscanpro_mitre_attack' +require 'crimson-falcon/models/quickscanpro_mitre_attack_parent' +require 'crimson-falcon/models/quickscanpro_query_scan_results_response' +require 'crimson-falcon/models/quickscanpro_quota_resource' +require 'crimson-falcon/models/quickscanpro_scan_metadata' +require 'crimson-falcon/models/quickscanpro_scan_result' +require 'crimson-falcon/models/quickscanpro_url_result' require 'crimson-falcon/models/reconmsa_api_error' require 'crimson-falcon/models/reconmsa_api_error_detail' require 'crimson-falcon/models/registration_aws_account_console_url' @@ -1070,6 +1261,7 @@ require 'crimson-falcon/models/registration_aws_account_patch_request' require 'crimson-falcon/models/registration_aws_account_response_v2' require 'crimson-falcon/models/registration_aws_account_script' +require 'crimson-falcon/models/registration_aws_console_url_response_v2' require 'crimson-falcon/models/registration_aws_provision_get_account_script_response_v2' require 'crimson-falcon/models/registration_azure_account_create_request_external_v1' require 'crimson-falcon/models/registration_azure_account_external_v1' @@ -1096,15 +1288,24 @@ require 'crimson-falcon/models/registration_gcp_account_create_request_ext_v1' require 'crimson-falcon/models/registration_gcp_account_ext_request_v2' require 'crimson-falcon/models/registration_gcp_account_ext_v1' -require 'crimson-falcon/models/registration_gcp_account_patch' -require 'crimson-falcon/models/registration_gcp_account_patch_request' +require 'crimson-falcon/models/registration_gcp_account_patch_request_v1' +require 'crimson-falcon/models/registration_gcp_account_patch_v1' require 'crimson-falcon/models/registration_gcp_account_req_obj_v2' require 'crimson-falcon/models/registration_gcp_account_response_ext_v2' require 'crimson-falcon/models/registration_gcp_account_response_v1' require 'crimson-falcon/models/registration_gcp_account_rsp_obj_v2' +require 'crimson-falcon/models/registration_gcp_account_validated_v1' +require 'crimson-falcon/models/registration_gcp_account_validation_req_obj_v1' +require 'crimson-falcon/models/registration_gcp_account_validation_request_v1' +require 'crimson-falcon/models/registration_gcp_account_validation_response_v1' require 'crimson-falcon/models/registration_gcp_provision_get_user_script_response_v1' require 'crimson-falcon/models/registration_gcp_service_account_ext_v1' +require 'crimson-falcon/models/registration_gcp_service_account_patch_request_v1' +require 'crimson-falcon/models/registration_gcp_service_account_patch_v1' require 'crimson-falcon/models/registration_gcp_service_account_response_ext_v1' +require 'crimson-falcon/models/registration_gcp_service_account_validation_request_obj_v1' +require 'crimson-falcon/models/registration_gcp_service_account_validation_request_v1' +require 'crimson-falcon/models/registration_gcp_service_account_validation_response_v1' require 'crimson-falcon/models/registration_gcp_user_script' require 'crimson-falcon/models/registration_ioa_event' require 'crimson-falcon/models/registration_iom_event' @@ -1133,6 +1334,12 @@ require 'crimson-falcon/models/remote_response_update_policy_req_v1' require 'crimson-falcon/models/resource' require 'crimson-falcon/models/resources' +require 'crimson-falcon/models/rest_aws_account_create_request_extv1' +require 'crimson-falcon/models/rest_aws_account_create_response_ext_v1' +require 'crimson-falcon/models/rest_aws_account_validated' +require 'crimson-falcon/models/rest_aws_account_validation_response' +require 'crimson-falcon/models/rest_account_product_upsert_request_ext_v1' +require 'crimson-falcon/models/rest_cloud_aws_account_create_ext_v1' require 'crimson-falcon/models/rulegroups_assigned_rule' require 'crimson-falcon/models/rulegroups_create_request' require 'crimson-falcon/models/rulegroups_delete_response' @@ -1151,9 +1358,11 @@ require 'crimson-falcon/models/sadomain_typosquatting_base_domain' require 'crimson-falcon/models/sadomain_typosquatting_component' require 'crimson-falcon/models/sadomain_typosquatting_parent_domain' +require 'crimson-falcon/models/sadomain_typosquatting_subdomain' require 'crimson-falcon/models/sadomain_whois_record' require 'crimson-falcon/models/sadomain_whois_registrant' require 'crimson-falcon/models/sadomain_whois_registrar' +require 'crimson-falcon/models/scanreports_entities_response' require 'crimson-falcon/models/scheduledexclusions_create_request' require 'crimson-falcon/models/scheduledexclusions_repeated' require 'crimson-falcon/models/scheduledexclusions_response' @@ -1186,12 +1395,123 @@ require 'crimson-falcon/models/sensor_update_update_policies_req_v2' require 'crimson-falcon/models/sensor_update_update_policy_req_v1' require 'crimson-falcon/models/sensor_update_update_policy_req_v2' +require 'crimson-falcon/models/source_endpoint' +require 'crimson-falcon/models/source_user' require 'crimson-falcon/models/state_online_state_resp_v1' require 'crimson-falcon/models/state_online_state_result_v1' require 'crimson-falcon/models/sv_exclusions_create_req_v1' require 'crimson-falcon/models/sv_exclusions_resp_v1' require 'crimson-falcon/models/sv_exclusions_sv_exclusion_v1' require 'crimson-falcon/models/sv_exclusions_update_req_v1' +require 'crimson-falcon/models/threatgraph_meta' +require 'crimson-falcon/models/threatgraph_paging' +require 'crimson-falcon/models/threatgraph_vertex_details' +require 'crimson-falcon/models/threatgraph_vertex_details_response' +require 'crimson-falcon/models/triggers_trigger_ext' +require 'crimson-falcon/models/triggers_trigger_ext_field' +require 'crimson-falcon/models/triggers_trigger_external_response' +require 'crimson-falcon/models/types_aws_metadata' +require 'crimson-falcon/models/types_action_run' +require 'crimson-falcon/models/types_action_run_event' +require 'crimson-falcon/models/types_action_run_event_data' +require 'crimson-falcon/models/types_action_run_metadata' +require 'crimson-falcon/models/types_artifact' +require 'crimson-falcon/models/types_aws_api_gateway_reason_tag' +require 'crimson-falcon/models/types_aws_elastic_ip_reason_tag' +require 'crimson-falcon/models/types_aws_lambda_api_gateway_reason_tag' +require 'crimson-falcon/models/types_aws_load_balancer_reason_tag' +require 'crimson-falcon/models/types_azure_application_gateway_reason_tag' +require 'crimson-falcon/models/types_azure_load_balancer_reason_tag' +require 'crimson-falcon/models/types_azure_site_metadata' +require 'crimson-falcon/models/types_azure_vm_metadata' +require 'crimson-falcon/models/types_business_application' +require 'crimson-falcon/models/types_cloud_function_metadata' +require 'crimson-falcon/models/types_composed_schedule' +require 'crimson-falcon/models/types_configuration' +require 'crimson-falcon/models/types_create_integration_request' +require 'crimson-falcon/models/types_create_integration_task_request' +require 'crimson-falcon/models/types_crowd_strike_cloud_security_metadata' +require 'crimson-falcon/models/types_data_type_db_reason_tag' +require 'crimson-falcon/models/types_data_type_mq_reason_tag' +require 'crimson-falcon/models/types_dependency' +require 'crimson-falcon/models/types_deployment_unit_descriptor' +require 'crimson-falcon/models/types_deployment_unit_service' +require 'crimson-falcon/models/types_deployment_units_tuple_filters' +require 'crimson-falcon/models/types_ec2_metadata' +require 'crimson-falcon/models/types_ecs_metadata' +require 'crimson-falcon/models/types_edit_tag_request' +require 'crimson-falcon/models/types_edit_unique_tag_request' +require 'crimson-falcon/models/types_error_message' +require 'crimson-falcon/models/types_executor_node' +require 'crimson-falcon/models/types_framework' +require 'crimson-falcon/models/types_gcp_metadata' +require 'crimson-falcon/models/types_generic_user_facing_request' +require 'crimson-falcon/models/types_get_services_related_entity' +require 'crimson-falcon/models/types_get_services_related_entity_filters' +require 'crimson-falcon/models/types_get_services_related_entity_group_by_fields' +require 'crimson-falcon/models/types_get_services_request' +require 'crimson-falcon/models/types_get_violation_types_response' +require 'crimson-falcon/models/types_host_metadata' +require 'crimson-falcon/models/types_integration' +require 'crimson-falcon/models/types_integration_response' +require 'crimson-falcon/models/types_integration_task' +require 'crimson-falcon/models/types_integration_task_response' +require 'crimson-falcon/models/types_integration_task_test_connection_response' +require 'crimson-falcon/models/types_integration_task_type' +require 'crimson-falcon/models/types_integration_type' +require 'crimson-falcon/models/types_interface' +require 'crimson-falcon/models/types_interface_service' +require 'crimson-falcon/models/types_k8_s_load_balancer_reason_tag' +require 'crimson-falcon/models/types_k8_s_metadata' +require 'crimson-falcon/models/types_k8_s_pod_settings' +require 'crimson-falcon/models/types_key_value' +require 'crimson-falcon/models/types_lambda_metadata' +require 'crimson-falcon/models/types_library' +require 'crimson-falcon/models/types_list_executor_nodes_response' +require 'crimson-falcon/models/types_list_integration_tasks_response' +require 'crimson-falcon/models/types_list_integration_types_response' +require 'crimson-falcon/models/types_list_integrations_response' +require 'crimson-falcon/models/types_order_by' +require 'crimson-falcon/models/types_paginate' +require 'crimson-falcon/models/types_pagination' +require 'crimson-falcon/models/types_policy_rules_condition' +require 'crimson-falcon/models/types_policy_rules_create_body' +require 'crimson-falcon/models/types_query_request' +require 'crimson-falcon/models/types_query_request_select_fields' +require 'crimson-falcon/models/types_query_result' +require 'crimson-falcon/models/types_reason_tag' +require 'crimson-falcon/models/types_remediation' +require 'crimson-falcon/models/types_results_filter' +require 'crimson-falcon/models/types_run_integration_task_request' +require 'crimson-falcon/models/types_service_now_deployment' +require 'crimson-falcon/models/types_service_now_deployments_response' +require 'crimson-falcon/models/types_service_now_service' +require 'crimson-falcon/models/types_service_now_service_data' +require 'crimson-falcon/models/types_service_now_service_deployments' +require 'crimson-falcon/models/types_service_now_services_response' +require 'crimson-falcon/models/types_service_service_artifact' +require 'crimson-falcon/models/types_service_service_business_application' +require 'crimson-falcon/models/types_service_service_configuration' +require 'crimson-falcon/models/types_service_service_dependency' +require 'crimson-falcon/models/types_service_service_framework' +require 'crimson-falcon/models/types_service_service_interface' +require 'crimson-falcon/models/types_service_service_library' +require 'crimson-falcon/models/types_service_service_tag' +require 'crimson-falcon/models/types_service_service_traits' +require 'crimson-falcon/models/types_snyk_metadata' +require 'crimson-falcon/models/types_sonatype_metadata' +require 'crimson-falcon/models/types_struct' +require 'crimson-falcon/models/types_tag' +require 'crimson-falcon/models/types_tag_data' +require 'crimson-falcon/models/types_tag_entry' +require 'crimson-falcon/models/types_tags_data_response' +require 'crimson-falcon/models/types_timestamp' +require 'crimson-falcon/models/types_trait' +require 'crimson-falcon/models/types_tuple_to_string' +require 'crimson-falcon/models/types_unique_tag_entry' +require 'crimson-falcon/models/types_update_integration_request' +require 'crimson-falcon/models/types_update_integration_task_request' +require 'crimson-falcon/models/types_upsert_business_application_request' require 'crimson-falcon/models/unidentifiedcontainers_unidentified_container_api_response' require 'crimson-falcon/models/unidentifiedcontainers_unidentified_containers_count_value' require 'crimson-falcon/models/uninstall_token_resp_v1' @@ -1202,12 +1522,25 @@ require 'crimson-falcon/models/v2_activity_parameters' require 'crimson-falcon/models/v2_activity_properties' require 'crimson-falcon/models/v2_condition' -require 'crimson-falcon/models/v2_condition_parameters' +require 'crimson-falcon/models/v2_condition_groups' require 'crimson-falcon/models/v2_definition' require 'crimson-falcon/models/v2_for_loop' require 'crimson-falcon/models/v2_loop' +require 'crimson-falcon/models/v2_model' require 'crimson-falcon/models/v2_parameters' require 'crimson-falcon/models/v2_trigger' +require 'crimson-falcon/models/vulncheck_epss' +require 'crimson-falcon/models/vulncheck_exploit_botnets' +require 'crimson-falcon/models/vulncheck_exploit_cve_reference' +require 'crimson-falcon/models/vulncheck_exploit_counts' +require 'crimson-falcon/models/vulncheck_exploit_details' +require 'crimson-falcon/models/vulncheck_exploit_ransomware' +require 'crimson-falcon/models/vulncheck_exploit_ransomware_data' +require 'crimson-falcon/models/vulncheck_exploit_record' +require 'crimson-falcon/models/vulncheck_exploit_threat_actor' +require 'crimson-falcon/models/vulncheck_exploit_timeline' +require 'crimson-falcon/models/vulncheck_exploit_trending' +require 'crimson-falcon/models/vulncheck_threat_actor_vendor_name' require 'crimson-falcon/models/vulnerabilities_api_combined_vulnerability' require 'crimson-falcon/models/vulnerabilities_api_combined_vulnerability_details' require 'crimson-falcon/models/vulnerabilities_api_combined_vulnerability_info' @@ -1218,11 +1551,17 @@ require 'crimson-falcon/models/vulnerabilities_api_vuln_count_by_csp_rating' require 'crimson-falcon/models/vulnerabilities_api_vuln_count_by_cvss_score' require 'crimson-falcon/models/vulnerabilities_api_vuln_count_by_severity' +require 'crimson-falcon/models/workflow_request' +require 'crimson-falcon/models/workflow_response' # APIs +require 'crimson-falcon/api/aspm_api' require 'crimson-falcon/api/alerts_api' +require 'crimson-falcon/api/api_integrations_api' +require 'crimson-falcon/api/certificate_based_exclusions_api' require 'crimson-falcon/api/cloud_connect_aws_api' require 'crimson-falcon/api/cloud_snapshots_api' +require 'crimson-falcon/api/compliance_assessments_api' require 'crimson-falcon/api/configuration_assessment_api' require 'crimson-falcon/api/configuration_assessment_evaluation_logic_api' require 'crimson-falcon/api/container_alerts_api' @@ -1230,17 +1569,23 @@ require 'crimson-falcon/api/container_images_api' require 'crimson-falcon/api/container_packages_api' require 'crimson-falcon/api/container_vulnerabilities_api' +require 'crimson-falcon/api/cspg_iacapi_api' require 'crimson-falcon/api/cspm_registration_api' require 'crimson-falcon/api/custom_ioa_api' require 'crimson-falcon/api/custom_storage_api' require 'crimson-falcon/api/d4c_registration_api' +require 'crimson-falcon/api/datascanner_api' +require 'crimson-falcon/api/default_api' +require 'crimson-falcon/api/delivery_settings_api' require 'crimson-falcon/api/detects_api' require 'crimson-falcon/api/device_control_policies_api' require 'crimson-falcon/api/discover_api' require 'crimson-falcon/api/discover_iot_api' +require 'crimson-falcon/api/downloads_api_api' require 'crimson-falcon/api/drift_indicators_api' require 'crimson-falcon/api/event_schema_api' require 'crimson-falcon/api/event_streams_api' +require 'crimson-falcon/api/exposure_management_api' require 'crimson-falcon/api/falcon_complete_dashboard_api' require 'crimson-falcon/api/falcon_container_api' require 'crimson-falcon/api/falcon_container_cli_api' @@ -1251,8 +1596,11 @@ require 'crimson-falcon/api/firewall_management_api' require 'crimson-falcon/api/firewall_policies_api' require 'crimson-falcon/api/foundry_logscale_api' +require 'crimson-falcon/api/handle_api' require 'crimson-falcon/api/host_group_api' +require 'crimson-falcon/api/host_migration_api' require 'crimson-falcon/api/hosts_api' +require 'crimson-falcon/api/humio_auth_proxy_api' require 'crimson-falcon/api/identity_entities_api' require 'crimson-falcon/api/identity_protection_api' require 'crimson-falcon/api/image_assessment_policies_api' @@ -1273,9 +1621,9 @@ require 'crimson-falcon/api/ods_api' require 'crimson-falcon/api/overwatch_dashboard_api' require 'crimson-falcon/api/prevention_policies_api' -require 'crimson-falcon/api/provision_api' require 'crimson-falcon/api/quarantine_api' require 'crimson-falcon/api/quick_scan_api' +require 'crimson-falcon/api/quick_scan_pro_api' require 'crimson-falcon/api/real_time_response_api' require 'crimson-falcon/api/real_time_response_admin_api' require 'crimson-falcon/api/real_time_response_audit_api' @@ -1287,10 +1635,11 @@ require 'crimson-falcon/api/scheduled_reports_api' require 'crimson-falcon/api/sensor_download_api' require 'crimson-falcon/api/sensor_update_policies_api' +require 'crimson-falcon/api/sensor_usage_api_api' require 'crimson-falcon/api/sensor_visibility_exclusions_api' require 'crimson-falcon/api/spotlight_evaluation_logic_api' require 'crimson-falcon/api/spotlight_vulnerabilities_api' -require 'crimson-falcon/api/tailored_intelligence_api' +require 'crimson-falcon/api/threatgraph_api' require 'crimson-falcon/api/unidentified_containers_api' require 'crimson-falcon/api/user_management_api' require 'crimson-falcon/api/workflows_api' diff --git a/lib/crimson-falcon/api/alerts_api.rb b/lib/crimson-falcon/api/alerts_api.rb index 32a4582c..c1dfe723 100644 --- a/lib/crimson-falcon/api/alerts_api.rb +++ b/lib/crimson-falcon/api/alerts_api.rb @@ -36,26 +36,26 @@ class AlertsApi def initialize(api_client = ApiClient.default) @api_client = api_client end - # retrieves all Alerts ids that match a given query + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts ids that match a given query. # @param [Hash] opts the optional parameters # @option opts [Integer] :offset The first detection to return, where `0` is the latest detection. Use with the `offset` parameter to manage pagination of results. # @option opts [Integer] :limit The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. # @option opts [String] :sort Sort parameter takes the form <field|direction>. Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering # @option opts [String] :filter Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). - # @option opts [String] :q Search all detection metadata for the provided string + # @option opts [String] :q Search all alert metadata for the provided string # @return [DetectsapiAlertQueryResponse] def get_queries_alerts_v1(opts = {}) data, _status_code, _headers = get_queries_alerts_v1_with_http_info(opts) data end - # retrieves all Alerts ids that match a given query + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts ids that match a given query. # @param [Hash] opts the optional parameters # @option opts [Integer] :offset The first detection to return, where `0` is the latest detection. Use with the `offset` parameter to manage pagination of results. # @option opts [Integer] :limit The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. # @option opts [String] :sort Sort parameter takes the form <field|direction>. Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering # @option opts [String] :filter Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). - # @option opts [String] :q Search all detection metadata for the provided string + # @option opts [String] :q Search all alert metadata for the provided string # @return [Array<(DetectsapiAlertQueryResponse, Integer, Hash)>] DetectsapiAlertQueryResponse data, response status code and response headers def get_queries_alerts_v1_with_http_info(opts = {}) if @api_client.config.debugging @@ -114,28 +114,28 @@ def get_queries_alerts_v1_with_http_info(opts = {}) return data, status_code, headers end - # retrieves all Alerts ids that match a given query + # Retrieves all Alerts ids that match a given query. # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved (default to true) # @option opts [Integer] :offset The first detection to return, where `0` is the latest detection. Use with the `offset` parameter to manage pagination of results. # @option opts [Integer] :limit The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. # @option opts [String] :sort Sort parameter takes the form <field|direction>. Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering # @option opts [String] :filter Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). - # @option opts [String] :q Search all detection metadata for the provided string + # @option opts [String] :q Search all alert metadata for the provided string # @return [DetectsapiAlertQueryResponse] def get_queries_alerts_v2(opts = {}) data, _status_code, _headers = get_queries_alerts_v2_with_http_info(opts) data end - # retrieves all Alerts ids that match a given query + # Retrieves all Alerts ids that match a given query. # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved (default to true) # @option opts [Integer] :offset The first detection to return, where `0` is the latest detection. Use with the `offset` parameter to manage pagination of results. # @option opts [Integer] :limit The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. # @option opts [String] :sort Sort parameter takes the form <field|direction>. Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering # @option opts [String] :filter Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). - # @option opts [String] :q Search all detection metadata for the provided string + # @option opts [String] :q Search all alert metadata for the provided string # @return [Array<(DetectsapiAlertQueryResponse, Integer, Hash)>] DetectsapiAlertQueryResponse data, response status code and response headers def get_queries_alerts_v2_with_http_info(opts = {}) if @api_client.config.debugging @@ -195,8 +195,8 @@ def get_queries_alerts_v2_with_http_info(opts = {}) return data, status_code, headers end - # Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. - # @param body [DetectsapiPatchEntitiesAlertsV2Request] request body takes a list of action parameter request that is applied against all \"ids\" provided + # Deprecated: Please use version v3 of this endpoint. Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. + # @param body [DetectsapiPatchEntitiesAlertsV2Request] `ids` - IDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. # @param [Hash] opts the optional parameters # @return [DetectsapiResponseFields] def patch_entities_alerts_v2(body, opts = {}) @@ -204,8 +204,8 @@ def patch_entities_alerts_v2(body, opts = {}) data end - # Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. - # @param body [DetectsapiPatchEntitiesAlertsV2Request] request body takes a list of action parameter request that is applied against all \"ids\" provided + # Deprecated: Please use version v3 of this endpoint. Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. + # @param body [DetectsapiPatchEntitiesAlertsV2Request] `ids` - IDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. # @param [Hash] opts the optional parameters # @return [Array<(DetectsapiResponseFields, Integer, Hash)>] DetectsapiResponseFields data, response status code and response headers def patch_entities_alerts_v2_with_http_info(body, opts = {}) @@ -262,7 +262,7 @@ def patch_entities_alerts_v2_with_http_info(body, opts = {}) end # Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. - # @param body [DetectsapiPatchEntitiesAlertsV3Request] request body takes a list of action parameter request that is applied against all \"ids\" provided + # @param body [DetectsapiPatchEntitiesAlertsV3Request] `composite_ids` - CompositeIDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved (default to true) # @return [DetectsapiResponseFields] @@ -272,7 +272,7 @@ def patch_entities_alerts_v3(body, opts = {}) end # Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. - # @param body [DetectsapiPatchEntitiesAlertsV3Request] request body takes a list of action parameter request that is applied against all \"ids\" provided + # @param body [DetectsapiPatchEntitiesAlertsV3Request] `composite_ids` - CompositeIDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved (default to true) # @return [Array<(DetectsapiResponseFields, Integer, Hash)>] DetectsapiResponseFields data, response status code and response headers @@ -330,7 +330,7 @@ def patch_entities_alerts_v3_with_http_info(body, opts = {}) return data, status_code, headers end - # retrieves aggregate values for Alerts across all CIDs + # Deprecated: Please use version v2 of this endpoint. Retrieves aggregate values for Alerts across all CIDs. # @param body [Array] request body takes a list of aggregate-alert query requests # @param [Hash] opts the optional parameters # @return [DetectsapiAggregatesResponse] @@ -339,7 +339,7 @@ def post_aggregates_alerts_v1(body, opts = {}) data end - # retrieves aggregate values for Alerts across all CIDs + # Deprecated: Please use version v2 of this endpoint. Retrieves aggregate values for Alerts across all CIDs. # @param body [Array] request body takes a list of aggregate-alert query requests # @param [Hash] opts the optional parameters # @return [Array<(DetectsapiAggregatesResponse, Integer, Hash)>] DetectsapiAggregatesResponse data, response status code and response headers @@ -396,7 +396,7 @@ def post_aggregates_alerts_v1_with_http_info(body, opts = {}) return data, status_code, headers end - # retrieves aggregate values for Alerts across all CIDs + # Retrieves aggregate values for Alerts across all CIDs. # @param body [Array] request body takes a list of aggregate-alert query requests # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved (default to true) @@ -406,7 +406,7 @@ def post_aggregates_alerts_v2(body, opts = {}) data end - # retrieves aggregate values for Alerts across all CIDs + # Retrieves aggregate values for Alerts across all CIDs. # @param body [Array] request body takes a list of aggregate-alert query requests # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved (default to true) @@ -465,19 +465,19 @@ def post_aggregates_alerts_v2_with_http_info(body, opts = {}) return data, status_code, headers end - # retrieves all Alerts given their ids + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts given their ids. # @param body [DetectsapiPostEntitiesAlertsV1Request] # @param [Hash] opts the optional parameters - # @return [DetectsapiPostEntitiesAlertsV1Response] + # @return [DetectsapiPostEntitiesAlertsV1ResponseSwagger] def post_entities_alerts_v1(body, opts = {}) data, _status_code, _headers = post_entities_alerts_v1_with_http_info(body, opts) data end - # retrieves all Alerts given their ids + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts given their ids. # @param body [DetectsapiPostEntitiesAlertsV1Request] # @param [Hash] opts the optional parameters - # @return [Array<(DetectsapiPostEntitiesAlertsV1Response, Integer, Hash)>] DetectsapiPostEntitiesAlertsV1Response data, response status code and response headers + # @return [Array<(DetectsapiPostEntitiesAlertsV1ResponseSwagger, Integer, Hash)>] DetectsapiPostEntitiesAlertsV1ResponseSwagger data, response status code and response headers def post_entities_alerts_v1_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: AlertsApi.post_entities_alerts_v1 ...' @@ -509,7 +509,7 @@ def post_entities_alerts_v1_with_http_info(body, opts = {}) post_body = opts[:debug_body] || @api_client.object_to_http_body(body) # return_type - return_type = opts[:debug_return_type] || 'DetectsapiPostEntitiesAlertsV1Response' + return_type = opts[:debug_return_type] || 'DetectsapiPostEntitiesAlertsV1ResponseSwagger' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -531,21 +531,21 @@ def post_entities_alerts_v1_with_http_info(body, opts = {}) return data, status_code, headers end - # retrieves all Alerts given their composite ids + # Retrieves all Alerts given their composite ids. # @param body [DetectsapiPostEntitiesAlertsV2Request] # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved (default to true) - # @return [DetectsapiPostEntitiesAlertsV2Response] + # @return [DetectsapiPostEntitiesAlertsV2ResponseSwagger] def post_entities_alerts_v2(body, opts = {}) data, _status_code, _headers = post_entities_alerts_v2_with_http_info(body, opts) data end - # retrieves all Alerts given their composite ids + # Retrieves all Alerts given their composite ids. # @param body [DetectsapiPostEntitiesAlertsV2Request] # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved (default to true) - # @return [Array<(DetectsapiPostEntitiesAlertsV2Response, Integer, Hash)>] DetectsapiPostEntitiesAlertsV2Response data, response status code and response headers + # @return [Array<(DetectsapiPostEntitiesAlertsV2ResponseSwagger, Integer, Hash)>] DetectsapiPostEntitiesAlertsV2ResponseSwagger data, response status code and response headers def post_entities_alerts_v2_with_http_info(body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: AlertsApi.post_entities_alerts_v2 ...' @@ -578,7 +578,7 @@ def post_entities_alerts_v2_with_http_info(body, opts = {}) post_body = opts[:debug_body] || @api_client.object_to_http_body(body) # return_type - return_type = opts[:debug_return_type] || 'DetectsapiPostEntitiesAlertsV2Response' + return_type = opts[:debug_return_type] || 'DetectsapiPostEntitiesAlertsV2ResponseSwagger' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] diff --git a/lib/crimson-falcon/api/api_integrations_api.rb b/lib/crimson-falcon/api/api_integrations_api.rb new file mode 100644 index 00000000..7db4cfa8 --- /dev/null +++ b/lib/crimson-falcon/api/api_integrations_api.rb @@ -0,0 +1,239 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class ApiIntegrationsApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Execute a command. + # @param resources [Array] List of commands to execute + # @param [Hash] opts the optional parameters + # @return [DomainExecuteCommandResultsV1] + def execute_command(resources, opts = {}) + data, _status_code, _headers = execute_command_with_http_info(resources, opts) + data + end + + # Execute a command. + # @param resources [Array] List of commands to execute + # @param [Hash] opts the optional parameters + # @return [Array<(DomainExecuteCommandResultsV1, Integer, Hash)>] DomainExecuteCommandResultsV1 data, response status code and response headers + def execute_command_with_http_info(resources, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ApiIntegrationsApi.execute_command ...' + end + # verify the required parameter 'resources' is set + if @api_client.config.client_side_validation && resources.nil? + fail ArgumentError, "Missing the required parameter 'resources' when calling ApiIntegrationsApi.execute_command" + end + # resource path + local_var_path = '/plugins/entities/execute/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['multipart/form-data', 'application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + form_params['resources'] = @api_client.build_collection_param(resources, :csv) + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainExecuteCommandResultsV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ApiIntegrationsApi.execute_command", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ApiIntegrationsApi#execute_command\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Execute a command and proxy the response directly. + # @param body [DomainExecuteCommandRequestV1] + # @param [Hash] opts the optional parameters + # @return [Object] + def execute_command_proxy(body, opts = {}) + data, _status_code, _headers = execute_command_proxy_with_http_info(body, opts) + data + end + + # Execute a command and proxy the response directly. + # @param body [DomainExecuteCommandRequestV1] + # @param [Hash] opts the optional parameters + # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers + def execute_command_proxy_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ApiIntegrationsApi.execute_command_proxy ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ApiIntegrationsApi.execute_command_proxy" + end + # resource path + local_var_path = '/plugins/entities/execute-proxy/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'Object' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ApiIntegrationsApi.execute_command_proxy", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ApiIntegrationsApi#execute_command_proxy\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Queries for config resources and returns details + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter items using a query in Falcon Query Language (FQL). + # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. (default to 100) + # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + # @option opts [String] :sort Sort items using their properties. + # @return [DomainConfigsV1] + def get_combined_plugin_configs(opts = {}) + data, _status_code, _headers = get_combined_plugin_configs_with_http_info(opts) + data + end + + # Queries for config resources and returns details + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter items using a query in Falcon Query Language (FQL). + # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. (default to 100) + # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + # @option opts [String] :sort Sort items using their properties. + # @return [Array<(DomainConfigsV1, Integer, Hash)>] DomainConfigsV1 data, response status code and response headers + def get_combined_plugin_configs_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ApiIntegrationsApi.get_combined_plugin_configs ...' + end + # resource path + local_var_path = '/plugins/combined/configs/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainConfigsV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ApiIntegrationsApi.get_combined_plugin_configs", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ApiIntegrationsApi#get_combined_plugin_configs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/aspm_api.rb b/lib/crimson-falcon/api/aspm_api.rb new file mode 100644 index 00000000..1091bbba --- /dev/null +++ b/lib/crimson-falcon/api/aspm_api.rb @@ -0,0 +1,1579 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class ASPMApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Create a new relay node + # @param body [TypesExecutorNode] + # @param [Hash] opts the optional parameters + # @return [TypesExecutorNode] + def create_executor_node(body, opts = {}) + data, _status_code, _headers = create_executor_node_with_http_info(body, opts) + data + end + + # Create a new relay node + # @param body [TypesExecutorNode] + # @param [Hash] opts the optional parameters + # @return [Array<(TypesExecutorNode, Integer, Hash)>] TypesExecutorNode data, response status code and response headers + def create_executor_node_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.create_executor_node ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.create_executor_node" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/executor_nodes' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TypesExecutorNode' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.create_executor_node", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#create_executor_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create a new integration + # @param body [TypesCreateIntegrationRequest] + # @param [Hash] opts the optional parameters + # @return [TypesIntegrationResponse] + def create_integration(body, opts = {}) + data, _status_code, _headers = create_integration_with_http_info(body, opts) + data + end + + # Create a new integration + # @param body [TypesCreateIntegrationRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(TypesIntegrationResponse, Integer, Hash)>] TypesIntegrationResponse data, response status code and response headers + def create_integration_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.create_integration ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.create_integration" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integrations' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TypesIntegrationResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.create_integration", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#create_integration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create new integration task. + # @param body [TypesCreateIntegrationTaskRequest] + # @param [Hash] opts the optional parameters + # @return [TypesIntegrationTaskResponse] + def create_integration_task(body, opts = {}) + data, _status_code, _headers = create_integration_task_with_http_info(body, opts) + data + end + + # Create new integration task. + # @param body [TypesCreateIntegrationTaskRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(TypesIntegrationTaskResponse, Integer, Hash)>] TypesIntegrationTaskResponse data, response status code and response headers + def create_integration_task_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.create_integration_task ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.create_integration_task" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integration_tasks' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TypesIntegrationTaskResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.create_integration_task", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#create_integration_task\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Delete a relay node + # @param id [Integer] + # @param [Hash] opts the optional parameters + # @return [nil] + def delete_executor_node(id, opts = {}) + delete_executor_node_with_http_info(id, opts) + nil + end + + # Delete a relay node + # @param id [Integer] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def delete_executor_node_with_http_info(id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.delete_executor_node ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling ASPMApi.delete_executor_node" + end + pattern = Regexp.new(/[0-9]+/) + if @api_client.config.client_side_validation && id !~ pattern + fail ArgumentError, "invalid value for 'id' when calling ASPMApi.delete_executor_node, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/aspm-api-gateway/api/v1/executor_nodes/{ID}'.sub('{' + 'ID' + '}', CGI.escape(id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.delete_executor_node", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#delete_executor_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Delete an existing integration by its ID + # @param id [Integer] + # @param [Hash] opts the optional parameters + # @return [nil] + def delete_integration(id, opts = {}) + delete_integration_with_http_info(id, opts) + nil + end + + # Delete an existing integration by its ID + # @param id [Integer] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def delete_integration_with_http_info(id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.delete_integration ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling ASPMApi.delete_integration" + end + pattern = Regexp.new(/[0-9]+/) + if @api_client.config.client_side_validation && id !~ pattern + fail ArgumentError, "invalid value for 'id' when calling ASPMApi.delete_integration, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integrations/{ID}'.sub('{' + 'ID' + '}', CGI.escape(id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.delete_integration", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#delete_integration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Delete an existing integration task by its ID + # @param id [Integer] + # @param [Hash] opts the optional parameters + # @return [nil] + def delete_integration_task(id, opts = {}) + delete_integration_task_with_http_info(id, opts) + nil + end + + # Delete an existing integration task by its ID + # @param id [Integer] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def delete_integration_task_with_http_info(id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.delete_integration_task ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling ASPMApi.delete_integration_task" + end + pattern = Regexp.new(/[0-9]+/) + if @api_client.config.client_side_validation && id !~ pattern + fail ArgumentError, "invalid value for 'id' when calling ASPMApi.delete_integration_task, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integration_tasks/{ID}'.sub('{' + 'ID' + '}', CGI.escape(id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.delete_integration_task", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#delete_integration_task\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Remove existing tags + # @param body [TypesEditTagRequest] + # @param [Hash] opts the optional parameters + # @return [nil] + def delete_tags(body, opts = {}) + delete_tags_with_http_info(body, opts) + nil + end + + # Remove existing tags + # @param body [TypesEditTagRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def delete_tags_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.delete_tags ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.delete_tags" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/tags' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.delete_tags", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#delete_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Execute a query. The syntax used is identical to that of the query page. + # @param body [TypesQueryRequest] **params details:** - selectFields: - **fields** - For filtering relevant fields only. - **withoutServices** - Default is set to **true**, you will not receive information about the services. If you want to get the relevant service, set to **false**. - **serviceFields**- For filtering relevant fields of the service (if you chose to get it) + # @param [Hash] opts the optional parameters + # @return [TypesQueryResult] + def execute_query(body, opts = {}) + data, _status_code, _headers = execute_query_with_http_info(body, opts) + data + end + + # Execute a query. The syntax used is identical to that of the query page. + # @param body [TypesQueryRequest] **params details:** - selectFields: - **fields** - For filtering relevant fields only. - **withoutServices** - Default is set to **true**, you will not receive information about the services. If you want to get the relevant service, set to **false**. - **serviceFields**- For filtering relevant fields of the service (if you chose to get it) + # @param [Hash] opts the optional parameters + # @return [Array<(TypesQueryResult, Integer, Hash)>] TypesQueryResult data, response status code and response headers + def execute_query_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.execute_query ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.execute_query" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/query' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TypesQueryResult' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.execute_query", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#execute_query\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get all the relay nodes + # @param node_type [String] + # @param [Hash] opts the optional parameters + # @option opts [Integer] :integration_type + # @return [TypesListExecutorNodesResponse] + def get_executor_nodes(node_type, opts = {}) + data, _status_code, _headers = get_executor_nodes_with_http_info(node_type, opts) + data + end + + # Get all the relay nodes + # @param node_type [String] + # @param [Hash] opts the optional parameters + # @option opts [Integer] :integration_type + # @return [Array<(TypesListExecutorNodesResponse, Integer, Hash)>] TypesListExecutorNodesResponse data, response status code and response headers + def get_executor_nodes_with_http_info(node_type, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.get_executor_nodes ...' + end + # verify the required parameter 'node_type' is set + if @api_client.config.client_side_validation && node_type.nil? + fail ArgumentError, "Missing the required parameter 'node_type' when calling ASPMApi.get_executor_nodes" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/executor_nodes' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'node_type'] = node_type + query_params[:'integration_type'] = opts[:'integration_type'] if !opts[:'integration_type'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TypesListExecutorNodesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.get_executor_nodes", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#get_executor_nodes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get all the integration tasks + # @param [Hash] opts the optional parameters + # @option opts [Integer] :integration_task_type + # @option opts [String] :category + # @return [TypesListIntegrationTasksResponse] + def get_integration_tasks(opts = {}) + data, _status_code, _headers = get_integration_tasks_with_http_info(opts) + data + end + + # Get all the integration tasks + # @param [Hash] opts the optional parameters + # @option opts [Integer] :integration_task_type + # @option opts [String] :category + # @return [Array<(TypesListIntegrationTasksResponse, Integer, Hash)>] TypesListIntegrationTasksResponse data, response status code and response headers + def get_integration_tasks_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.get_integration_tasks ...' + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integration_tasks' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'integration_task_type'] = opts[:'integration_task_type'] if !opts[:'integration_task_type'].nil? + query_params[:'category'] = opts[:'category'] if !opts[:'category'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TypesListIntegrationTasksResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.get_integration_tasks", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#get_integration_tasks\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get all the integration types + # @param [Hash] opts the optional parameters + # @return [TypesListIntegrationTypesResponse] + def get_integration_types(opts = {}) + data, _status_code, _headers = get_integration_types_with_http_info(opts) + data + end + + # Get all the integration types + # @param [Hash] opts the optional parameters + # @return [Array<(TypesListIntegrationTypesResponse, Integer, Hash)>] TypesListIntegrationTypesResponse data, response status code and response headers + def get_integration_types_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.get_integration_types ...' + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integration_types' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TypesListIntegrationTypesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.get_integration_types", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#get_integration_types\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get a list of all the integrations + # @param [Hash] opts the optional parameters + # @option opts [Integer] :integration_type + # @option opts [String] :category + # @return [TypesListIntegrationsResponse] + def get_integrations(opts = {}) + data, _status_code, _headers = get_integrations_with_http_info(opts) + data + end + + # Get a list of all the integrations + # @param [Hash] opts the optional parameters + # @option opts [Integer] :integration_type + # @option opts [String] :category + # @return [Array<(TypesListIntegrationsResponse, Integer, Hash)>] TypesListIntegrationsResponse data, response status code and response headers + def get_integrations_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.get_integrations ...' + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integrations' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'integration_type'] = opts[:'integration_type'] if !opts[:'integration_type'].nil? + query_params[:'category'] = opts[:'category'] if !opts[:'category'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TypesListIntegrationsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.get_integrations", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#get_integrations\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get the different types of violation + # @param body [TypesGenericUserFacingRequest] + # @param [Hash] opts the optional parameters + # @return [TypesGetViolationTypesResponse] + def get_service_violation_types(body, opts = {}) + data, _status_code, _headers = get_service_violation_types_with_http_info(body, opts) + data + end + + # Get the different types of violation + # @param body [TypesGenericUserFacingRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(TypesGetViolationTypesResponse, Integer, Hash)>] TypesGetViolationTypesResponse data, response status code and response headers + def get_service_violation_types_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.get_service_violation_types ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.get_service_violation_types" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/services/violations/types' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TypesGetViolationTypesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.get_service_violation_types", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#get_service_violation_types\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get the total amount of existing services + # @param body [TypesGetServicesRequest] + # @param [Hash] opts the optional parameters + # @return [nil] + def get_services_count(body, opts = {}) + get_services_count_with_http_info(body, opts) + nil + end + + # Get the total amount of existing services + # @param body [TypesGetServicesRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def get_services_count_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.get_services_count ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.get_services_count" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/services/count' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.get_services_count", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#get_services_count\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get all the tags + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :is_unique + # @option opts [String] :tag_name + # @option opts [Integer] :limit + # @option opts [Integer] :offset + # @option opts [Array] :name + # @return [TypesTagsDataResponse] + def get_tags(opts = {}) + data, _status_code, _headers = get_tags_with_http_info(opts) + data + end + + # Get all the tags + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :is_unique + # @option opts [String] :tag_name + # @option opts [Integer] :limit + # @option opts [Integer] :offset + # @option opts [Array] :name + # @return [Array<(TypesTagsDataResponse, Integer, Hash)>] TypesTagsDataResponse data, response status code and response headers + def get_tags_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.get_tags ...' + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/tags' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'isUnique'] = opts[:'is_unique'] if !opts[:'is_unique'].nil? + query_params[:'tagName'] = opts[:'tag_name'] if !opts[:'tag_name'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'name'] = @api_client.build_collection_param(opts[:'name'], :csv) if !opts[:'name'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TypesTagsDataResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.get_tags", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#get_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Run an integration task by its ID + # @param id [Integer] + # @param body [TypesRunIntegrationTaskRequest] + # @param [Hash] opts the optional parameters + # @option opts [String] :category + # @return [TypesIntegrationTaskTestConnectionResponse] + def run_integration_task(id, body, opts = {}) + data, _status_code, _headers = run_integration_task_with_http_info(id, body, opts) + data + end + + # Run an integration task by its ID + # @param id [Integer] + # @param body [TypesRunIntegrationTaskRequest] + # @param [Hash] opts the optional parameters + # @option opts [String] :category + # @return [Array<(TypesIntegrationTaskTestConnectionResponse, Integer, Hash)>] TypesIntegrationTaskTestConnectionResponse data, response status code and response headers + def run_integration_task_with_http_info(id, body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.run_integration_task ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling ASPMApi.run_integration_task" + end + pattern = Regexp.new(/[0-9]+/) + if @api_client.config.client_side_validation && id !~ pattern + fail ArgumentError, "invalid value for 'id' when calling ASPMApi.run_integration_task, must conform to the pattern #{pattern}." + end + + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.run_integration_task" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integration_tasks/{ID}/run'.sub('{' + 'ID' + '}', CGI.escape(id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'category'] = opts[:'category'] if !opts[:'category'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TypesIntegrationTaskTestConnectionResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.run_integration_task", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#run_integration_task\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # @param [Hash] opts the optional parameters + # @option opts [String] :ql_filters + # @option opts [Integer] :limit + # @option opts [Integer] :offset + # @option opts [String] :order_by + # @option opts [String] :direction + # @return [TypesServiceNowDeploymentsResponse] + def service_now_get_deployments(opts = {}) + data, _status_code, _headers = service_now_get_deployments_with_http_info(opts) + data + end + + # @param [Hash] opts the optional parameters + # @option opts [String] :ql_filters + # @option opts [Integer] :limit + # @option opts [Integer] :offset + # @option opts [String] :order_by + # @option opts [String] :direction + # @return [Array<(TypesServiceNowDeploymentsResponse, Integer, Hash)>] TypesServiceNowDeploymentsResponse data, response status code and response headers + def service_now_get_deployments_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.service_now_get_deployments ...' + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/servicenow/deployments' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ql_filters'] = opts[:'ql_filters'] if !opts[:'ql_filters'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'orderBy'] = opts[:'order_by'] if !opts[:'order_by'].nil? + query_params[:'direction'] = opts[:'direction'] if !opts[:'direction'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TypesServiceNowDeploymentsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.service_now_get_deployments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#service_now_get_deployments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # @param [Hash] opts the optional parameters + # @option opts [String] :ql_filters + # @option opts [Integer] :limit + # @option opts [Integer] :offset + # @option opts [String] :order_by + # @option opts [String] :direction + # @return [TypesServiceNowServicesResponse] + def service_now_get_services(opts = {}) + data, _status_code, _headers = service_now_get_services_with_http_info(opts) + data + end + + # @param [Hash] opts the optional parameters + # @option opts [String] :ql_filters + # @option opts [Integer] :limit + # @option opts [Integer] :offset + # @option opts [String] :order_by + # @option opts [String] :direction + # @return [Array<(TypesServiceNowServicesResponse, Integer, Hash)>] TypesServiceNowServicesResponse data, response status code and response headers + def service_now_get_services_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.service_now_get_services ...' + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/servicenow/services' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ql_filters'] = opts[:'ql_filters'] if !opts[:'ql_filters'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'orderBy'] = opts[:'order_by'] if !opts[:'order_by'].nil? + query_params[:'direction'] = opts[:'direction'] if !opts[:'direction'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TypesServiceNowServicesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.service_now_get_services", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#service_now_get_services\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update an existing relay node + # @param body [TypesExecutorNode] + # @param [Hash] opts the optional parameters + # @return [TypesExecutorNode] + def update_executor_node(body, opts = {}) + data, _status_code, _headers = update_executor_node_with_http_info(body, opts) + data + end + + # Update an existing relay node + # @param body [TypesExecutorNode] + # @param [Hash] opts the optional parameters + # @return [Array<(TypesExecutorNode, Integer, Hash)>] TypesExecutorNode data, response status code and response headers + def update_executor_node_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.update_executor_node ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.update_executor_node" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/executor_nodes' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TypesExecutorNode' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.update_executor_node", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#update_executor_node\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update an existing integration by its ID + # @param id [Integer] + # @param body [TypesUpdateIntegrationRequest] + # @param [Hash] opts the optional parameters + # @return [TypesIntegrationResponse] + def update_integration(id, body, opts = {}) + data, _status_code, _headers = update_integration_with_http_info(id, body, opts) + data + end + + # Update an existing integration by its ID + # @param id [Integer] + # @param body [TypesUpdateIntegrationRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(TypesIntegrationResponse, Integer, Hash)>] TypesIntegrationResponse data, response status code and response headers + def update_integration_with_http_info(id, body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.update_integration ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling ASPMApi.update_integration" + end + pattern = Regexp.new(/[0-9]+/) + if @api_client.config.client_side_validation && id !~ pattern + fail ArgumentError, "invalid value for 'id' when calling ASPMApi.update_integration, must conform to the pattern #{pattern}." + end + + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.update_integration" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integrations/{ID}'.sub('{' + 'ID' + '}', CGI.escape(id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TypesIntegrationResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.update_integration", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#update_integration\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update an existing integration task by its ID + # @param id [Integer] + # @param body [TypesUpdateIntegrationTaskRequest] + # @param [Hash] opts the optional parameters + # @return [TypesIntegrationTaskResponse] + def update_integration_task(id, body, opts = {}) + data, _status_code, _headers = update_integration_task_with_http_info(id, body, opts) + data + end + + # Update an existing integration task by its ID + # @param id [Integer] + # @param body [TypesUpdateIntegrationTaskRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(TypesIntegrationTaskResponse, Integer, Hash)>] TypesIntegrationTaskResponse data, response status code and response headers + def update_integration_task_with_http_info(id, body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.update_integration_task ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling ASPMApi.update_integration_task" + end + pattern = Regexp.new(/[0-9]+/) + if @api_client.config.client_side_validation && id !~ pattern + fail ArgumentError, "invalid value for 'id' when calling ASPMApi.update_integration_task, must conform to the pattern #{pattern}." + end + + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.update_integration_task" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/integration_tasks/{ID}'.sub('{' + 'ID' + '}', CGI.escape(id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'TypesIntegrationTaskResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.update_integration_task", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#update_integration_task\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create or Update Business Applications + # @param body [TypesUpsertBusinessApplicationRequest] + # @param [Hash] opts the optional parameters + # @return [nil] + def upsert_business_applications(body, opts = {}) + upsert_business_applications_with_http_info(body, opts) + nil + end + + # Create or Update Business Applications + # @param body [TypesUpsertBusinessApplicationRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def upsert_business_applications_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.upsert_business_applications ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.upsert_business_applications" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/business_applications' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.upsert_business_applications", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#upsert_business_applications\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create new or update existing tag. You can update unique tags table or regular tags table + # @param body [TypesEditUniqueTagRequest] + # @param [Hash] opts the optional parameters + # @return [nil] + def upsert_tags(body, opts = {}) + upsert_tags_with_http_info(body, opts) + nil + end + + # Create new or update existing tag. You can update unique tags table or regular tags table + # @param body [TypesEditUniqueTagRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def upsert_tags_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ASPMApi.upsert_tags ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ASPMApi.upsert_tags" + end + # resource path + local_var_path = '/aspm-api-gateway/api/v1/tags' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ASPMApi.upsert_tags", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ASPMApi#upsert_tags\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/certificate_based_exclusions_api.rb b/lib/crimson-falcon/api/certificate_based_exclusions_api.rb new file mode 100644 index 00000000..9e57fcd8 --- /dev/null +++ b/lib/crimson-falcon/api/certificate_based_exclusions_api.rb @@ -0,0 +1,435 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class CertificateBasedExclusionsApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Create new Certificate Based Exclusions. + # @param body [ApiCertBasedExclusionsCreateReqV1] + # @param [Hash] opts the optional parameters + # @return [ApiCertBasedExclusionRespV1] + def cb_exclusions_create_v1(body, opts = {}) + data, _status_code, _headers = cb_exclusions_create_v1_with_http_info(body, opts) + data + end + + # Create new Certificate Based Exclusions. + # @param body [ApiCertBasedExclusionsCreateReqV1] + # @param [Hash] opts the optional parameters + # @return [Array<(ApiCertBasedExclusionRespV1, Integer, Hash)>] ApiCertBasedExclusionRespV1 data, response status code and response headers + def cb_exclusions_create_v1_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CertificateBasedExclusionsApi.cb_exclusions_create_v1 ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling CertificateBasedExclusionsApi.cb_exclusions_create_v1" + end + # resource path + local_var_path = '/exclusions/entities/cert-based-exclusions/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ApiCertBasedExclusionRespV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CertificateBasedExclusionsApi.cb_exclusions_create_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CertificateBasedExclusionsApi#cb_exclusions_create_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Delete the exclusions by id + # @param ids [Array] The ids of the exclusions to delete + # @param [Hash] opts the optional parameters + # @option opts [String] :comment The comment why these exclusions were deleted + # @return [ApiCertBasedExclusionRespV1] + def cb_exclusions_delete_v1(ids, opts = {}) + data, _status_code, _headers = cb_exclusions_delete_v1_with_http_info(ids, opts) + data + end + + # Delete the exclusions by id + # @param ids [Array] The ids of the exclusions to delete + # @param [Hash] opts the optional parameters + # @option opts [String] :comment The comment why these exclusions were deleted + # @return [Array<(ApiCertBasedExclusionRespV1, Integer, Hash)>] ApiCertBasedExclusionRespV1 data, response status code and response headers + def cb_exclusions_delete_v1_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CertificateBasedExclusionsApi.cb_exclusions_delete_v1 ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling CertificateBasedExclusionsApi.cb_exclusions_delete_v1" + end + # resource path + local_var_path = '/exclusions/entities/cert-based-exclusions/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + query_params[:'comment'] = opts[:'comment'] if !opts[:'comment'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ApiCertBasedExclusionRespV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CertificateBasedExclusionsApi.cb_exclusions_delete_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CertificateBasedExclusionsApi#cb_exclusions_delete_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Find all exclusion IDs matching the query with filter + # @param ids [Array] The ids of the exclusions to retrieve + # @param [Hash] opts the optional parameters + # @return [ApiCertBasedExclusionRespV1] + def cb_exclusions_get_v1(ids, opts = {}) + data, _status_code, _headers = cb_exclusions_get_v1_with_http_info(ids, opts) + data + end + + # Find all exclusion IDs matching the query with filter + # @param ids [Array] The ids of the exclusions to retrieve + # @param [Hash] opts the optional parameters + # @return [Array<(ApiCertBasedExclusionRespV1, Integer, Hash)>] ApiCertBasedExclusionRespV1 data, response status code and response headers + def cb_exclusions_get_v1_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CertificateBasedExclusionsApi.cb_exclusions_get_v1 ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling CertificateBasedExclusionsApi.cb_exclusions_get_v1" + end + # resource path + local_var_path = '/exclusions/entities/cert-based-exclusions/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ApiCertBasedExclusionRespV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CertificateBasedExclusionsApi.cb_exclusions_get_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CertificateBasedExclusionsApi#cb_exclusions_get_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Search for cert-based exclusions. + # @param [Hash] opts the optional parameters + # @option opts [String] :filter The filter expression that should be used to limit the results. + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [Integer] :limit The maximum records to return. [1-100] + # @option opts [String] :sort The sort expression that should be used to sort the results. + # @return [MsaspecQueryResponse] + def cb_exclusions_query_v1(opts = {}) + data, _status_code, _headers = cb_exclusions_query_v1_with_http_info(opts) + data + end + + # Search for cert-based exclusions. + # @param [Hash] opts the optional parameters + # @option opts [String] :filter The filter expression that should be used to limit the results. + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [Integer] :limit The maximum records to return. [1-100] + # @option opts [String] :sort The sort expression that should be used to sort the results. + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def cb_exclusions_query_v1_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CertificateBasedExclusionsApi.cb_exclusions_query_v1 ...' + end + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling CertificateBasedExclusionsApi.cb_exclusions_query_v1, must be smaller than or equal to 100.' + end + + allowable_values = ["created_by", "created_on", "modified_by", "modified_on", "name"] + if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort']) + fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/exclusions/queries/cert-based-exclusions/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CertificateBasedExclusionsApi.cb_exclusions_query_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CertificateBasedExclusionsApi#cb_exclusions_query_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Updates existing Certificate Based Exclusions + # @param body [ApiCertBasedExclusionsUpdateReqV1] + # @param [Hash] opts the optional parameters + # @return [ApiCertBasedExclusionRespV1] + def cb_exclusions_update_v1(body, opts = {}) + data, _status_code, _headers = cb_exclusions_update_v1_with_http_info(body, opts) + data + end + + # Updates existing Certificate Based Exclusions + # @param body [ApiCertBasedExclusionsUpdateReqV1] + # @param [Hash] opts the optional parameters + # @return [Array<(ApiCertBasedExclusionRespV1, Integer, Hash)>] ApiCertBasedExclusionRespV1 data, response status code and response headers + def cb_exclusions_update_v1_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CertificateBasedExclusionsApi.cb_exclusions_update_v1 ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling CertificateBasedExclusionsApi.cb_exclusions_update_v1" + end + # resource path + local_var_path = '/exclusions/entities/cert-based-exclusions/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ApiCertBasedExclusionRespV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CertificateBasedExclusionsApi.cb_exclusions_update_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CertificateBasedExclusionsApi#cb_exclusions_update_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieves certificate signing information for a file + # @param ids [String] The SHA256 Hash of the file to retrieve certificate signing info for + # @param [Hash] opts the optional parameters + # @return [ApiRespCertificatesV1] + def certificates_get_v1(ids, opts = {}) + data, _status_code, _headers = certificates_get_v1_with_http_info(ids, opts) + data + end + + # Retrieves certificate signing information for a file + # @param ids [String] The SHA256 Hash of the file to retrieve certificate signing info for + # @param [Hash] opts the optional parameters + # @return [Array<(ApiRespCertificatesV1, Integer, Hash)>] ApiRespCertificatesV1 data, response status code and response headers + def certificates_get_v1_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CertificateBasedExclusionsApi.certificates_get_v1 ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling CertificateBasedExclusionsApi.certificates_get_v1" + end + # resource path + local_var_path = '/exclusions/entities/certificates/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = ids + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ApiRespCertificatesV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CertificateBasedExclusionsApi.certificates_get_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CertificateBasedExclusionsApi#certificates_get_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/cloud_snapshots_api.rb b/lib/crimson-falcon/api/cloud_snapshots_api.rb index 281be350..2bc47a07 100644 --- a/lib/crimson-falcon/api/cloud_snapshots_api.rb +++ b/lib/crimson-falcon/api/cloud_snapshots_api.rb @@ -36,6 +36,314 @@ class CloudSnapshotsApi def initialize(api_client = ApiClient.default) @api_client = api_client end + # Launch a snapshot scan for a given cloud asset + # @param body [ModelsCreateDeploymentInput] + # @param [Hash] opts the optional parameters + # @return [DeploymentsEntityResponse] + def create_deployment_entity(body, opts = {}) + data, _status_code, _headers = create_deployment_entity_with_http_info(body, opts) + data + end + + # Launch a snapshot scan for a given cloud asset + # @param body [ModelsCreateDeploymentInput] + # @param [Hash] opts the optional parameters + # @return [Array<(DeploymentsEntityResponse, Integer, Hash)>] DeploymentsEntityResponse data, response status code and response headers + def create_deployment_entity_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CloudSnapshotsApi.create_deployment_entity ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling CloudSnapshotsApi.create_deployment_entity" + end + # resource path + local_var_path = '/snapshots/entities/deployments/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'DeploymentsEntityResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CloudSnapshotsApi.create_deployment_entity", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CloudSnapshotsApi#create_deployment_entity\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Gets the registry credentials + # @param [Hash] opts the optional parameters + # @return [ModelsRegistryCredentialsResponse] + def get_credentials_mixin0_mixin57(opts = {}) + data, _status_code, _headers = get_credentials_mixin0_mixin57_with_http_info(opts) + data + end + + # Gets the registry credentials + # @param [Hash] opts the optional parameters + # @return [Array<(ModelsRegistryCredentialsResponse, Integer, Hash)>] ModelsRegistryCredentialsResponse data, response status code and response headers + def get_credentials_mixin0_mixin57_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CloudSnapshotsApi.get_credentials_mixin0_mixin57 ...' + end + # resource path + local_var_path = '/snapshots/entities/image-registry-credentials/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ModelsRegistryCredentialsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CloudSnapshotsApi.get_credentials_mixin0_mixin57", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CloudSnapshotsApi#get_credentials_mixin0_mixin57\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # retrieve the scan report for an instance + # @param ids [Array] the instance identifiers to fetch the report for + # @param [Hash] opts the optional parameters + # @return [ScanreportsEntitiesResponse] + def get_scan_report(ids, opts = {}) + data, _status_code, _headers = get_scan_report_with_http_info(ids, opts) + data + end + + # retrieve the scan report for an instance + # @param ids [Array] the instance identifiers to fetch the report for + # @param [Hash] opts the optional parameters + # @return [Array<(ScanreportsEntitiesResponse, Integer, Hash)>] ScanreportsEntitiesResponse data, response status code and response headers + def get_scan_report_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CloudSnapshotsApi.get_scan_report ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling CloudSnapshotsApi.get_scan_report" + end + # resource path + local_var_path = '/snapshots/entities/scanreports/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :csv) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ScanreportsEntitiesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CloudSnapshotsApi.get_scan_report", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CloudSnapshotsApi#get_scan_report\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieve snapshot jobs identified by the provided IDs + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Search snapshot jobs using a query in Falcon Query Language (FQL). Supported filters: account_id,asset_identifier,cloud_provider,region,status + # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. + # @option opts [Integer] :offset The offset from where to begin. + # @option opts [String] :sort The fields to sort the records on. Supported columns: [account_id asset_identifier cloud_provider instance_type last_updated_timestamp region status] + # @return [DeploymentsEntityResponse] + def read_deployments_combined(opts = {}) + data, _status_code, _headers = read_deployments_combined_with_http_info(opts) + data + end + + # Retrieve snapshot jobs identified by the provided IDs + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Search snapshot jobs using a query in Falcon Query Language (FQL). Supported filters: account_id,asset_identifier,cloud_provider,region,status + # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. + # @option opts [Integer] :offset The offset from where to begin. + # @option opts [String] :sort The fields to sort the records on. Supported columns: [account_id asset_identifier cloud_provider instance_type last_updated_timestamp region status] + # @return [Array<(DeploymentsEntityResponse, Integer, Hash)>] DeploymentsEntityResponse data, response status code and response headers + def read_deployments_combined_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CloudSnapshotsApi.read_deployments_combined ...' + end + # resource path + local_var_path = '/snapshots/combined/deployments/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DeploymentsEntityResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CloudSnapshotsApi.read_deployments_combined", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CloudSnapshotsApi#read_deployments_combined\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieve snapshot jobs identified by the provided IDs + # @param [Hash] opts the optional parameters + # @option opts [Array] :ids Search snapshot jobs by ids - The maximum amount is 100 IDs + # @return [DeploymentsEntityResponse] + def read_deployments_entities(opts = {}) + data, _status_code, _headers = read_deployments_entities_with_http_info(opts) + data + end + + # Retrieve snapshot jobs identified by the provided IDs + # @param [Hash] opts the optional parameters + # @option opts [Array] :ids Search snapshot jobs by ids - The maximum amount is 100 IDs + # @return [Array<(DeploymentsEntityResponse, Integer, Hash)>] DeploymentsEntityResponse data, response status code and response headers + def read_deployments_entities_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CloudSnapshotsApi.read_deployments_entities ...' + end + # resource path + local_var_path = '/snapshots/entities/deployments/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(opts[:'ids'], :csv) if !opts[:'ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DeploymentsEntityResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CloudSnapshotsApi.read_deployments_entities", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CloudSnapshotsApi#read_deployments_entities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Register customer cloud account for snapshot scanning # @param body [ModelsAccountEntitiesInput] # @param [Hash] opts the optional parameters diff --git a/lib/crimson-falcon/api/compliance_assessments_api.rb b/lib/crimson-falcon/api/compliance_assessments_api.rb new file mode 100644 index 00000000..a0a4200f --- /dev/null +++ b/lib/crimson-falcon/api/compliance_assessments_api.rb @@ -0,0 +1,683 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class ComplianceAssessmentsApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # get the assessments for each cluster + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name cloud_info.namespace: Kubernetes namespace cid: Customer ID cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) + # @return [DomainAggregateClusterAssessmentsResponse] + def ext_aggregate_cluster_assessments(opts = {}) + data, _status_code, _headers = ext_aggregate_cluster_assessments_with_http_info(opts) + data + end + + # get the assessments for each cluster + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name cloud_info.namespace: Kubernetes namespace cid: Customer ID cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) + # @return [Array<(DomainAggregateClusterAssessmentsResponse, Integer, Hash)>] DomainAggregateClusterAssessmentsResponse data, response status code and response headers + def ext_aggregate_cluster_assessments_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_cluster_assessments ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/compliance-by-clusters/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateClusterAssessmentsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_cluster_assessments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_cluster_assessments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get the containers grouped into rules on which they failed + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name cloud_info.namespace: Kubernetes namespace cloud_info.cloud_provider: Cloud provider compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_digest: Image digest (sha256 digest) cloud_info.cloud_region: Cloud region image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository cid: Customer ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name + # @return [DomainAggregateFailedAssetsByRulesResponse] + def ext_aggregate_failed_containers_by_rules_path(opts = {}) + data, _status_code, _headers = ext_aggregate_failed_containers_by_rules_path_with_http_info(opts) + data + end + + # get the containers grouped into rules on which they failed + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name cloud_info.namespace: Kubernetes namespace cloud_info.cloud_provider: Cloud provider compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_digest: Image digest (sha256 digest) cloud_info.cloud_region: Cloud region image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository cid: Customer ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name + # @return [Array<(DomainAggregateFailedAssetsByRulesResponse, Integer, Hash)>] DomainAggregateFailedAssetsByRulesResponse data, response status code and response headers + def ext_aggregate_failed_containers_by_rules_path_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_failed_containers_by_rules_path ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/failed-containers-by-rules/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateFailedAssetsByRulesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_failed_containers_by_rules_path", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_failed_containers_by_rules_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get the failed containers count grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.namespace: Kubernetes namespace compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider image_repository: Image repository cid: Customer ID image_tag: Image tag image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region image_id: Image ID compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID + # @return [DomainAggregateFailedAssetCountBySeverityResponse] + def ext_aggregate_failed_containers_count_by_severity(opts = {}) + data, _status_code, _headers = ext_aggregate_failed_containers_count_by_severity_with_http_info(opts) + data + end + + # get the failed containers count grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.namespace: Kubernetes namespace compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider image_repository: Image repository cid: Customer ID image_tag: Image tag image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region image_id: Image ID compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID + # @return [Array<(DomainAggregateFailedAssetCountBySeverityResponse, Integer, Hash)>] DomainAggregateFailedAssetCountBySeverityResponse data, response status code and response headers + def ext_aggregate_failed_containers_count_by_severity_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_failed_containers_count_by_severity ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/failed-containers-count-by-severity/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateFailedAssetCountBySeverityResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_failed_containers_count_by_severity", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_failed_containers_count_by_severity\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get the images grouped into rules on which they failed + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.id: Compliance finding ID compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.namespace: Kubernetes namespace image_repository: Image repository image_digest: Image digest (sha256 digest) image_tag: Image tag image_id: Image ID image_registry: Image registry cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider + # @return [DomainAggregateFailedAssetsByRulesResponse] + def ext_aggregate_failed_images_by_rules_path(opts = {}) + data, _status_code, _headers = ext_aggregate_failed_images_by_rules_path_with_http_info(opts) + data + end + + # get the images grouped into rules on which they failed + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.id: Compliance finding ID compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.namespace: Kubernetes namespace image_repository: Image repository image_digest: Image digest (sha256 digest) image_tag: Image tag image_id: Image ID image_registry: Image registry cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider + # @return [Array<(DomainAggregateFailedAssetsByRulesResponse, Integer, Hash)>] DomainAggregateFailedAssetsByRulesResponse data, response status code and response headers + def ext_aggregate_failed_images_by_rules_path_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_failed_images_by_rules_path ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/failed-images-by-rules/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateFailedAssetsByRulesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_failed_images_by_rules_path", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_failed_images_by_rules_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get the failed images count grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name image_registry: Image registry cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository cid: Customer ID + # @return [DomainAggregateFailedAssetCountBySeverityResponse] + def ext_aggregate_failed_images_count_by_severity(opts = {}) + data, _status_code, _headers = ext_aggregate_failed_images_count_by_severity_with_http_info(opts) + data + end + + # get the failed images count grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name image_registry: Image registry cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository cid: Customer ID + # @return [Array<(DomainAggregateFailedAssetCountBySeverityResponse, Integer, Hash)>] DomainAggregateFailedAssetCountBySeverityResponse data, response status code and response headers + def ext_aggregate_failed_images_count_by_severity_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_failed_images_count_by_severity ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/failed-images-count-by-severity/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateFailedAssetCountBySeverityResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_failed_images_count_by_severity", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_failed_images_count_by_severity\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get the failed rules for each cluster grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_registry: Image registry compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_tag: Image tag compliance_finding.name: Compliance finding Name image_repository: Image repository cloud_info.cluster_name: Kubernetes cluster name image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider image_id: Image ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID + # @return [DomainAggregateFailedRulesByClustersResponse] + def ext_aggregate_failed_rules_by_clusters(opts = {}) + data, _status_code, _headers = ext_aggregate_failed_rules_by_clusters_with_http_info(opts) + data + end + + # get the failed rules for each cluster grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_registry: Image registry compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_tag: Image tag compliance_finding.name: Compliance finding Name image_repository: Image repository cloud_info.cluster_name: Kubernetes cluster name image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider image_id: Image ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID + # @return [Array<(DomainAggregateFailedRulesByClustersResponse, Integer, Hash)>] DomainAggregateFailedRulesByClustersResponse data, response status code and response headers + def ext_aggregate_failed_rules_by_clusters_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_failed_rules_by_clusters ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/failed-rules-by-clusters/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateFailedRulesByClustersResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_failed_rules_by_clusters", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_failed_rules_by_clusters\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get images with failed rules, rule count grouped by severity for each image + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository compliance_finding.framework: Compliance finding framework (available values: CIS) image_id: Image ID image_registry: Image registry asset_type: asset type (container, image) compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID cid: Customer ID image_tag: Image tag cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name + # @return [DomainAggregateFailedRulesByImagesResponse] + def ext_aggregate_failed_rules_by_images(opts = {}) + data, _status_code, _headers = ext_aggregate_failed_rules_by_images_with_http_info(opts) + data + end + + # get images with failed rules, rule count grouped by severity for each image + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository compliance_finding.framework: Compliance finding framework (available values: CIS) image_id: Image ID image_registry: Image registry asset_type: asset type (container, image) compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID cid: Customer ID image_tag: Image tag cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name + # @return [Array<(DomainAggregateFailedRulesByImagesResponse, Integer, Hash)>] DomainAggregateFailedRulesByImagesResponse data, response status code and response headers + def ext_aggregate_failed_rules_by_images_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_failed_rules_by_images ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/failed-rules-by-images/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateFailedRulesByImagesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_failed_rules_by_images", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_failed_rules_by_images\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get the failed rules count grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name image_registry: Image registry image_id: Image ID image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region + # @return [DomainAggregateFailedRulesCountBySeverityResponse] + def ext_aggregate_failed_rules_count_by_severity(opts = {}) + data, _status_code, _headers = ext_aggregate_failed_rules_count_by_severity_with_http_info(opts) + data + end + + # get the failed rules count grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name image_registry: Image registry image_id: Image ID image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region + # @return [Array<(DomainAggregateFailedRulesCountBySeverityResponse, Integer, Hash)>] DomainAggregateFailedRulesCountBySeverityResponse data, response status code and response headers + def ext_aggregate_failed_rules_count_by_severity_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_failed_rules_count_by_severity ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/failed-rules-count-by-severity/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateFailedRulesCountBySeverityResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_failed_rules_count_by_severity", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_failed_rules_count_by_severity\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get the assessments for each image + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cid: Customer ID compliance_finding.framework: Compliance finding framework (available values: CIS) image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.namespace: Kubernetes namespace asset_type: asset type (container, image) cloud_info.cloud_region: Cloud region image_registry: Image registry image_repository: Image repository image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name + # @option opts [String] :after 'after' value from the last response. Keep it empty for the first request. + # @option opts [String] :limit number of images to return in the response after 'after' key. Keep it empty for the default number of 10000 + # @return [DomainAggregateImageAssessmentsResponse] + def ext_aggregate_image_assessments(opts = {}) + data, _status_code, _headers = ext_aggregate_image_assessments_with_http_info(opts) + data + end + + # get the assessments for each image + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cid: Customer ID compliance_finding.framework: Compliance finding framework (available values: CIS) image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.namespace: Kubernetes namespace asset_type: asset type (container, image) cloud_info.cloud_region: Cloud region image_registry: Image registry image_repository: Image repository image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name + # @option opts [String] :after 'after' value from the last response. Keep it empty for the first request. + # @option opts [String] :limit number of images to return in the response after 'after' key. Keep it empty for the default number of 10000 + # @return [Array<(DomainAggregateImageAssessmentsResponse, Integer, Hash)>] DomainAggregateImageAssessmentsResponse data, response status code and response headers + def ext_aggregate_image_assessments_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_image_assessments ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/compliance-by-images/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateImageAssessmentsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_image_assessments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_image_assessments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get the assessments for each rule + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID cloud_info.cloud_region: Cloud region image_id: Image ID image_registry: Image registry compliance_finding.name: Compliance finding Name image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name cid: Customer ID + # @return [DomainAggregateRulesAssessmentsResponse] + def ext_aggregate_rules_assessments(opts = {}) + data, _status_code, _headers = ext_aggregate_rules_assessments_with_http_info(opts) + data + end + + # get the assessments for each rule + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID cloud_info.cloud_region: Cloud region image_id: Image ID image_registry: Image registry compliance_finding.name: Compliance finding Name image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name cid: Customer ID + # @return [Array<(DomainAggregateRulesAssessmentsResponse, Integer, Hash)>] DomainAggregateRulesAssessmentsResponse data, response status code and response headers + def ext_aggregate_rules_assessments_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_rules_assessments ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/compliance-by-rules/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateRulesAssessmentsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_rules_assessments", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_rules_assessments\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # get the rules grouped by their statuses + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID cloud_info.cloud_provider: Cloud provider compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) container_name: Container name container_id: Container ID image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) image_id: Image ID image_tag: Image tag image_repository: Image repository asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID + # @return [DomainAggregateRulesByStatusResponse] + def ext_aggregate_rules_by_status(opts = {}) + data, _status_code, _headers = ext_aggregate_rules_by_status_with_http_info(opts) + data + end + + # get the rules grouped by their statuses + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID cloud_info.cloud_provider: Cloud provider compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) container_name: Container name container_id: Container ID image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) image_id: Image ID image_tag: Image tag image_repository: Image repository asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID + # @return [Array<(DomainAggregateRulesByStatusResponse, Integer, Hash)>] DomainAggregateRulesByStatusResponse data, response status code and response headers + def ext_aggregate_rules_by_status_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ComplianceAssessmentsApi.ext_aggregate_rules_by_status ...' + end + # resource path + local_var_path = '/container-compliance/aggregates/rules-by-status/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainAggregateRulesByStatusResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ComplianceAssessmentsApi.ext_aggregate_rules_by_status", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ComplianceAssessmentsApi#ext_aggregate_rules_by_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/container_images_api.rb b/lib/crimson-falcon/api/container_images_api.rb index f8f87c87..8d446cc7 100644 --- a/lib/crimson-falcon/api/container_images_api.rb +++ b/lib/crimson-falcon/api/container_images_api.rb @@ -96,7 +96,7 @@ def aggregate_image_assessment_history_with_http_info(opts = {}) # Aggregate count of images # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity # @return [ImagesApiImageCount] def aggregate_image_count(opts = {}) data, _status_code, _headers = aggregate_image_count_with_http_info(opts) @@ -105,7 +105,7 @@ def aggregate_image_count(opts = {}) # Aggregate count of images # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity # @return [Array<(ImagesApiImageCount, Integer, Hash)>] ImagesApiImageCount data, response status code and response headers def aggregate_image_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -268,6 +268,64 @@ def aggregate_image_count_by_state_with_http_info(opts = {}) return data, status_code, headers end + # Retrieve base images for provided filter + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Search base images using a query in Falcon Query Language (FQL). Supported filters: image_digest,image_id,registry,repository,tag + # @return [CoreEntitiesResponse] + def combined_base_images(opts = {}) + data, _status_code, _headers = combined_base_images_with_http_info(opts) + data + end + + # Retrieve base images for provided filter + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Search base images using a query in Falcon Query Language (FQL). Supported filters: image_digest,image_id,registry,repository,tag + # @return [Array<(CoreEntitiesResponse, Integer, Hash)>] CoreEntitiesResponse data, response status code and response headers + def combined_base_images_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ContainerImagesApi.combined_base_images ...' + end + # resource path + local_var_path = '/container-security/combined/base-images/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'CoreEntitiesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ContainerImagesApi.combined_base_images", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ContainerImagesApi#combined_base_images\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Retrieve top x images with the most vulnerabilities # @param [Hash] opts the optional parameters # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,registry,repository,tag @@ -408,6 +466,7 @@ def combined_image_detail_with_http_info(opts = {}) # @param repository [String] repository name # @param tag [String] tag name # @param [Hash] opts the optional parameters + # @option opts [Boolean] :include_base_image_vuln include base image vulnerabilities # @return [ImagesApiImageIssuesSummary] def combined_image_issues_summary(cid, registry, repository, tag, opts = {}) data, _status_code, _headers = combined_image_issues_summary_with_http_info(cid, registry, repository, tag, opts) @@ -420,6 +479,7 @@ def combined_image_issues_summary(cid, registry, repository, tag, opts = {}) # @param repository [String] repository name # @param tag [String] tag name # @param [Hash] opts the optional parameters + # @option opts [Boolean] :include_base_image_vuln include base image vulnerabilities # @return [Array<(ImagesApiImageIssuesSummary, Integer, Hash)>] ImagesApiImageIssuesSummary data, response status code and response headers def combined_image_issues_summary_with_http_info(cid, registry, repository, tag, opts = {}) if @api_client.config.debugging @@ -450,6 +510,7 @@ def combined_image_issues_summary_with_http_info(cid, registry, repository, tag, query_params[:'registry'] = registry query_params[:'repository'] = repository query_params[:'tag'] = tag + query_params[:'include_base_image_vuln'] = opts[:'include_base_image_vuln'] if !opts[:'include_base_image_vuln'].nil? # header parameters header_params = opts[:header_params] || {} @@ -491,6 +552,7 @@ def combined_image_issues_summary_with_http_info(cid, registry, repository, tag, # @param repository [String] repository name # @param tag [String] tag name # @param [Hash] opts the optional parameters + # @option opts [Boolean] :include_base_image_vuln include base image vulnerabilities # @return [ImagesApiImageVulnerabilitiesSummary] def combined_image_vulnerability_summary(cid, registry, repository, tag, opts = {}) data, _status_code, _headers = combined_image_vulnerability_summary_with_http_info(cid, registry, repository, tag, opts) @@ -503,6 +565,7 @@ def combined_image_vulnerability_summary(cid, registry, repository, tag, opts = # @param repository [String] repository name # @param tag [String] tag name # @param [Hash] opts the optional parameters + # @option opts [Boolean] :include_base_image_vuln include base image vulnerabilities # @return [Array<(ImagesApiImageVulnerabilitiesSummary, Integer, Hash)>] ImagesApiImageVulnerabilitiesSummary data, response status code and response headers def combined_image_vulnerability_summary_with_http_info(cid, registry, repository, tag, opts = {}) if @api_client.config.debugging @@ -533,6 +596,7 @@ def combined_image_vulnerability_summary_with_http_info(cid, registry, repositor query_params[:'registry'] = registry query_params[:'repository'] = repository query_params[:'tag'] = tag + query_params[:'include_base_image_vuln'] = opts[:'include_base_image_vuln'] if !opts[:'include_base_image_vuln'].nil? # header parameters header_params = opts[:header_params] || {} @@ -568,12 +632,140 @@ def combined_image_vulnerability_summary_with_http_info(cid, registry, repositor return data, status_code, headers end + # Creates base images using the provided details + # @param body [ModelsCreateBaseImagesRequest] + # @param [Hash] opts the optional parameters + # @return [CoreEntitiesResponse] + def create_base_images_entities(body, opts = {}) + data, _status_code, _headers = create_base_images_entities_with_http_info(body, opts) + data + end + + # Creates base images using the provided details + # @param body [ModelsCreateBaseImagesRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(CoreEntitiesResponse, Integer, Hash)>] CoreEntitiesResponse data, response status code and response headers + def create_base_images_entities_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ContainerImagesApi.create_base_images_entities ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ContainerImagesApi.create_base_images_entities" + end + # resource path + local_var_path = '/container-security/entities/base-images/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'CoreEntitiesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ContainerImagesApi.create_base_images_entities", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ContainerImagesApi#create_base_images_entities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Delete base images by base image uuid + # @param ids [Array] BaseImageIDs + # @param [Hash] opts the optional parameters + # @return [CoreEntitiesResponse] + def delete_base_images(ids, opts = {}) + data, _status_code, _headers = delete_base_images_with_http_info(ids, opts) + data + end + + # Delete base images by base image uuid + # @param ids [Array] BaseImageIDs + # @param [Hash] opts the optional parameters + # @return [Array<(CoreEntitiesResponse, Integer, Hash)>] CoreEntitiesResponse data, response status code and response headers + def delete_base_images_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ContainerImagesApi.delete_base_images ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling ContainerImagesApi.delete_base_images" + end + # resource path + local_var_path = '/container-security/entities/base-images/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :csv) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'CoreEntitiesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ContainerImagesApi.delete_base_images", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ContainerImagesApi#delete_base_images\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Get image assessment results by providing an FQL filter and paging details # @param [Hash] opts the optional parameters # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: container_id, container_running_status, cve_id, detection_name, detection_severity, first_seen, image_digest, image_id, registry, repository, tag, vulnerability_severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve [1-100] # @option opts [Integer] :offset The offset from where to begin. - # @option opts [String] :sort The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository tag] + # @option opts [String] :sort The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository source tag] # @return [ImagesExtCombinedImagesResponse] def get_combined_images(opts = {}) data, _status_code, _headers = get_combined_images_with_http_info(opts) @@ -585,7 +777,7 @@ def get_combined_images(opts = {}) # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: container_id, container_running_status, cve_id, detection_name, detection_severity, first_seen, image_digest, image_id, registry, repository, tag, vulnerability_severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve [1-100] # @option opts [Integer] :offset The offset from where to begin. - # @option opts [String] :sort The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository tag] + # @option opts [String] :sort The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository source tag] # @return [Array<(ImagesExtCombinedImagesResponse, Integer, Hash)>] ImagesExtCombinedImagesResponse data, response status code and response headers def get_combined_images_with_http_info(opts = {}) if @api_client.config.debugging @@ -637,12 +829,12 @@ def get_combined_images_with_http_info(opts = {}) # Retrieve images with an option to expand aggregated vulnerabilities/detections # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity # @option opts [Boolean] :expand_vulnerabilities expand vulnerabilities # @option opts [Boolean] :expand_detections expand detections # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. - # @option opts [String] :sort The fields to sort the records on. Supported columns: [base_os cid containers detections firstScanned first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository tag vulnerabilities] + # @option opts [String] :sort The fields to sort the records on. Supported columns: [base_os cid detections firstScanned first_seen highest_cps_current_rating highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository source tag vulnerabilities] # @return [ImagesApiCombinedImageExport] def read_combined_images_export(opts = {}) data, _status_code, _headers = read_combined_images_export_with_http_info(opts) @@ -651,12 +843,12 @@ def read_combined_images_export(opts = {}) # Retrieve images with an option to expand aggregated vulnerabilities/detections # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity # @option opts [Boolean] :expand_vulnerabilities expand vulnerabilities # @option opts [Boolean] :expand_detections expand detections # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. - # @option opts [String] :sort The fields to sort the records on. Supported columns: [base_os cid containers detections firstScanned first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository tag vulnerabilities] + # @option opts [String] :sort The fields to sort the records on. Supported columns: [base_os cid detections firstScanned first_seen highest_cps_current_rating highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository source tag vulnerabilities] # @return [Array<(ImagesApiCombinedImageExport, Integer, Hash)>] ImagesApiCombinedImageExport data, response status code and response headers def read_combined_images_export_with_http_info(opts = {}) if @api_client.config.debugging diff --git a/lib/crimson-falcon/api/container_vulnerabilities_api.rb b/lib/crimson-falcon/api/container_vulnerabilities_api.rb index ee535467..12447a0d 100644 --- a/lib/crimson-falcon/api/container_vulnerabilities_api.rb +++ b/lib/crimson-falcon/api/container_vulnerabilities_api.rb @@ -38,7 +38,7 @@ def initialize(api_client = ApiClient.default) end # Retrieve vulnerability and aggregate data filtered by the provided FQL # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort The fields to sort the records on. Supported columns: [cps_current_rating cve_id cvss_score description images_impacted packages_impacted severity] @@ -50,7 +50,7 @@ def read_combined_vulnerabilities(opts = {}) # Retrieve vulnerability and aggregate data filtered by the provided FQL # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort The fields to sort the records on. Supported columns: [cps_current_rating cve_id cvss_score description images_impacted packages_impacted severity] @@ -106,7 +106,7 @@ def read_combined_vulnerabilities_with_http_info(opts = {}) # Retrieve vulnerability details related to an image # @param id [String] Image UUID # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,is_zero_day,remediation_available,severity + # @option opts [String] :filter Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,include_base_image_vuln,is_zero_day,remediation_available,severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiCombinedVulnerabilityDetails] @@ -118,7 +118,7 @@ def read_combined_vulnerabilities_details(id, opts = {}) # Retrieve vulnerability details related to an image # @param id [String] Image UUID # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,is_zero_day,remediation_available,severity + # @option opts [String] :filter Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,include_base_image_vuln,is_zero_day,remediation_available,severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [Array<(VulnerabilitiesApiCombinedVulnerabilityDetails, Integer, Hash)>] VulnerabilitiesApiCombinedVulnerabilityDetails data, response status code and response headers @@ -372,7 +372,7 @@ def read_vulnerabilities_publication_date_with_http_info(opts = {}) # Aggregate count of vulnerabilities # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCount] @@ -383,7 +383,7 @@ def read_vulnerability_count(opts = {}) # Aggregate count of vulnerabilities # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [Array<(VulnerabilitiesApiVulnCount, Integer, Hash)>] VulnerabilitiesApiVulnCount data, response status code and response headers @@ -436,7 +436,7 @@ def read_vulnerability_count_with_http_info(opts = {}) # Aggregate count of vulnerabilities grouped by actively exploited # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCountByActivelyExploited] @@ -447,7 +447,7 @@ def read_vulnerability_count_by_actively_exploited(opts = {}) # Aggregate count of vulnerabilities grouped by actively exploited # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [Array<(VulnerabilitiesApiVulnCountByActivelyExploited, Integer, Hash)>] VulnerabilitiesApiVulnCountByActivelyExploited data, response status code and response headers @@ -500,7 +500,7 @@ def read_vulnerability_count_by_actively_exploited_with_http_info(opts = {}) # Aggregate count of vulnerabilities grouped by csp_rating # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCountByCSPRating] @@ -511,7 +511,7 @@ def read_vulnerability_count_by_cps_rating(opts = {}) # Aggregate count of vulnerabilities grouped by csp_rating # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [Array<(VulnerabilitiesApiVulnCountByCSPRating, Integer, Hash)>] VulnerabilitiesApiVulnCountByCSPRating data, response status code and response headers @@ -564,7 +564,7 @@ def read_vulnerability_count_by_cps_rating_with_http_info(opts = {}) # Aggregate count of vulnerabilities grouped by cvss score # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCountByCVSSScore] @@ -575,7 +575,7 @@ def read_vulnerability_count_by_cvss_score(opts = {}) # Aggregate count of vulnerabilities grouped by cvss score # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [Array<(VulnerabilitiesApiVulnCountByCVSSScore, Integer, Hash)>] VulnerabilitiesApiVulnCountByCVSSScore data, response status code and response headers @@ -628,7 +628,7 @@ def read_vulnerability_count_by_cvss_score_with_http_info(opts = {}) # Aggregate count of vulnerabilities grouped by severity # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCountBySeverity] @@ -639,7 +639,7 @@ def read_vulnerability_count_by_severity(opts = {}) # Aggregate count of vulnerabilities grouped by severity # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [Array<(VulnerabilitiesApiVulnCountBySeverity, Integer, Hash)>] VulnerabilitiesApiVulnCountBySeverity data, response status code and response headers diff --git a/lib/crimson-falcon/api/provision_api.rb b/lib/crimson-falcon/api/cspg_iacapi_api.rb similarity index 77% rename from lib/crimson-falcon/api/provision_api.rb rename to lib/crimson-falcon/api/cspg_iacapi_api.rb index 9bc37d34..1f22d109 100644 --- a/lib/crimson-falcon/api/provision_api.rb +++ b/lib/crimson-falcon/api/cspg_iacapi_api.rb @@ -30,29 +30,29 @@ require 'cgi' module Falcon - class ProvisionApi + class CspgIacapiApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end - # Gets the registry credentials + # Gets the registry credentials (external endpoint) # @param [Hash] opts the optional parameters - # @return [ModelsRegistryCredentialsResponse] + # @return [CommonRegistryCredentialsResponse] def get_credentials_mixin0(opts = {}) data, _status_code, _headers = get_credentials_mixin0_with_http_info(opts) data end - # Gets the registry credentials + # Gets the registry credentials (external endpoint) # @param [Hash] opts the optional parameters - # @return [Array<(ModelsRegistryCredentialsResponse, Integer, Hash)>] ModelsRegistryCredentialsResponse data, response status code and response headers + # @return [Array<(CommonRegistryCredentialsResponse, Integer, Hash)>] CommonRegistryCredentialsResponse data, response status code and response headers def get_credentials_mixin0_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: ProvisionApi.get_credentials_mixin0 ...' + @api_client.config.logger.debug 'Calling API: CspgIacapiApi.get_credentials_mixin0 ...' end # resource path - local_var_path = '/snapshots/entities/image-registry-credentials/v1' + local_var_path = '/iac/entities/image-registry-credentials/v1' # query parameters query_params = opts[:query_params] || {} @@ -69,13 +69,13 @@ def get_credentials_mixin0_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'ModelsRegistryCredentialsResponse' + return_type = opts[:debug_return_type] || 'CommonRegistryCredentialsResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"ProvisionApi.get_credentials_mixin0", + :operation => :"CspgIacapiApi.get_credentials_mixin0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -86,7 +86,7 @@ def get_credentials_mixin0_with_http_info(opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: ProvisionApi#get_credentials_mixin0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: CspgIacapiApi#get_credentials_mixin0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end diff --git a/lib/crimson-falcon/api/cspm_registration_api.rb b/lib/crimson-falcon/api/cspm_registration_api.rb index eda15332..43acf1b9 100644 --- a/lib/crimson-falcon/api/cspm_registration_api.rb +++ b/lib/crimson-falcon/api/cspm_registration_api.rb @@ -585,6 +585,64 @@ def delete_cspm_azure_account_with_http_info(opts = {}) return data, status_code, headers end + # Deletes Azure management groups from the system. + # @param [Hash] opts the optional parameters + # @option opts [Array] :tenant_ids Tenant ids to remove + # @return [MsaspecResponseFields] + def delete_cspm_azure_management_group(opts = {}) + data, _status_code, _headers = delete_cspm_azure_management_group_with_http_info(opts) + data + end + + # Deletes Azure management groups from the system. + # @param [Hash] opts the optional parameters + # @option opts [Array] :tenant_ids Tenant ids to remove + # @return [Array<(MsaspecResponseFields, Integer, Hash)>] MsaspecResponseFields data, response status code and response headers + def delete_cspm_azure_management_group_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CspmRegistrationApi.delete_cspm_azure_management_group ...' + end + # resource path + local_var_path = '/cloud-connect-cspm-azure/entities/management-group/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'tenant_ids'] = @api_client.build_collection_param(opts[:'tenant_ids'], :multi) if !opts[:'tenant_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecResponseFields' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CspmRegistrationApi.delete_cspm_azure_management_group", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CspmRegistrationApi#delete_cspm_azure_management_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Deletes a GCP account from the system. # @param [Hash] opts the optional parameters # @option opts [Array] :ids Hierarchical Resource IDs of accounts @@ -830,7 +888,7 @@ def get_configuration_detection_entities_with_http_info(ids, opts = {}) # Get list of active misconfiguration ids - including custom policy detections in addition to default policy detections. # @param [Hash] opts the optional parameters - # @option opts [String] :filter use_current_scan_ids - *use this to get records for latest scans* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string + # @option opts [String] :filter use_current_scan_ids - *use this to get records for latest scans (ignored when next_token is set)* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string # @option opts [String] :sort account_name account_id attack_types azure_subscription_id cloud_provider cloud_service_keyword status is_managed policy_id policy_type resource_id region scan_time severity severity_string timestamp (default to 'timestamp|desc') # @option opts [Integer] :limit The max number of detections to return (default to 500) # @option opts [Integer] :offset Offset returned detections. Cannot be combined with next_token filter @@ -843,7 +901,7 @@ def get_configuration_detection_ids_v2(opts = {}) # Get list of active misconfiguration ids - including custom policy detections in addition to default policy detections. # @param [Hash] opts the optional parameters - # @option opts [String] :filter use_current_scan_ids - *use this to get records for latest scans* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string + # @option opts [String] :filter use_current_scan_ids - *use this to get records for latest scans (ignored when next_token is set)* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string # @option opts [String] :sort account_name account_id attack_types azure_subscription_id cloud_provider cloud_service_keyword status is_managed policy_id policy_type resource_id region scan_time severity severity_string timestamp (default to 'timestamp|desc') # @option opts [Integer] :limit The max number of detections to return (default to 500) # @option opts [Integer] :offset Offset returned detections. Cannot be combined with next_token filter @@ -1129,6 +1187,18 @@ def get_cspm_aws_account_with_http_info(opts = {}) # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. # @param [Hash] opts the optional parameters # @option opts [Array] :ids AWS account IDs + # @option opts [String] :template Template to be rendered + # @option opts [String] :account_type Type of account, it can be commercial or gov + # @option opts [Array] :accounts The list of accounts to register, values should be in the form: account,profile + # @option opts [String] :behavior_assessment_enabled + # @option opts [String] :sensor_management_enabled + # @option opts [String] :dspm_enabled + # @option opts [Array] :dspm_regions + # @option opts [String] :dspm_role + # @option opts [String] :use_existing_cloudtrail + # @option opts [String] :organization_id The AWS organization ID to be registered + # @option opts [String] :aws_profile The AWS profile to be used during registration + # @option opts [String] :custom_role_name The custom IAM role to be used during registration # @return [RegistrationAWSProvisionGetAccountScriptResponseV2] def get_cspm_aws_account_scripts_attachment(opts = {}) data, _status_code, _headers = get_cspm_aws_account_scripts_attachment_with_http_info(opts) @@ -1138,17 +1208,80 @@ def get_cspm_aws_account_scripts_attachment(opts = {}) # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. # @param [Hash] opts the optional parameters # @option opts [Array] :ids AWS account IDs + # @option opts [String] :template Template to be rendered + # @option opts [String] :account_type Type of account, it can be commercial or gov + # @option opts [Array] :accounts The list of accounts to register, values should be in the form: account,profile + # @option opts [String] :behavior_assessment_enabled + # @option opts [String] :sensor_management_enabled + # @option opts [String] :dspm_enabled + # @option opts [Array] :dspm_regions + # @option opts [String] :dspm_role + # @option opts [String] :use_existing_cloudtrail + # @option opts [String] :organization_id The AWS organization ID to be registered + # @option opts [String] :aws_profile The AWS profile to be used during registration + # @option opts [String] :custom_role_name The custom IAM role to be used during registration # @return [Array<(RegistrationAWSProvisionGetAccountScriptResponseV2, Integer, Hash)>] RegistrationAWSProvisionGetAccountScriptResponseV2 data, response status code and response headers def get_cspm_aws_account_scripts_attachment_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CspmRegistrationApi.get_cspm_aws_account_scripts_attachment ...' end + allowable_values = ["aws-bash", "aws-terraform"] + if @api_client.config.client_side_validation && opts[:'template'] && !allowable_values.include?(opts[:'template']) + fail ArgumentError, "invalid value for \"template\", must be one of #{allowable_values}" + end + allowable_values = ["commercial", "gov"] + if @api_client.config.client_side_validation && opts[:'account_type'] && !allowable_values.include?(opts[:'account_type']) + fail ArgumentError, "invalid value for \"account_type\", must be one of #{allowable_values}" + end + allowable_values = ["true", "false"] + if @api_client.config.client_side_validation && opts[:'behavior_assessment_enabled'] && !allowable_values.include?(opts[:'behavior_assessment_enabled']) + fail ArgumentError, "invalid value for \"behavior_assessment_enabled\", must be one of #{allowable_values}" + end + allowable_values = ["true", "false"] + if @api_client.config.client_side_validation && opts[:'sensor_management_enabled'] && !allowable_values.include?(opts[:'sensor_management_enabled']) + fail ArgumentError, "invalid value for \"sensor_management_enabled\", must be one of #{allowable_values}" + end + allowable_values = ["true", "false"] + if @api_client.config.client_side_validation && opts[:'dspm_enabled'] && !allowable_values.include?(opts[:'dspm_enabled']) + fail ArgumentError, "invalid value for \"dspm_enabled\", must be one of #{allowable_values}" + end + allowable_values = ["true", "false"] + if @api_client.config.client_side_validation && opts[:'use_existing_cloudtrail'] && !allowable_values.include?(opts[:'use_existing_cloudtrail']) + fail ArgumentError, "invalid value for \"use_existing_cloudtrail\", must be one of #{allowable_values}" + end + pattern = Regexp.new(/.*/) + if @api_client.config.client_side_validation && !opts[:'organization_id'].nil? && opts[:'organization_id'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"organization_id\"]' when calling CspmRegistrationApi.get_cspm_aws_account_scripts_attachment, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/.*/) + if @api_client.config.client_side_validation && !opts[:'aws_profile'].nil? && opts[:'aws_profile'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"aws_profile\"]' when calling CspmRegistrationApi.get_cspm_aws_account_scripts_attachment, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/.*/) + if @api_client.config.client_side_validation && !opts[:'custom_role_name'].nil? && opts[:'custom_role_name'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"custom_role_name\"]' when calling CspmRegistrationApi.get_cspm_aws_account_scripts_attachment, must conform to the pattern #{pattern}." + end + # resource path local_var_path = '/cloud-connect-cspm-aws/entities/user-scripts-download/v1' # query parameters query_params = opts[:query_params] || {} query_params[:'ids'] = @api_client.build_collection_param(opts[:'ids'], :multi) if !opts[:'ids'].nil? + query_params[:'template'] = opts[:'template'] if !opts[:'template'].nil? + query_params[:'account_type'] = opts[:'account_type'] if !opts[:'account_type'].nil? + query_params[:'accounts'] = @api_client.build_collection_param(opts[:'accounts'], :multi) if !opts[:'accounts'].nil? + query_params[:'behavior_assessment_enabled'] = opts[:'behavior_assessment_enabled'] if !opts[:'behavior_assessment_enabled'].nil? + query_params[:'sensor_management_enabled'] = opts[:'sensor_management_enabled'] if !opts[:'sensor_management_enabled'].nil? + query_params[:'dspm_enabled'] = opts[:'dspm_enabled'] if !opts[:'dspm_enabled'].nil? + query_params[:'dspm_regions'] = @api_client.build_collection_param(opts[:'dspm_regions'], :csv) if !opts[:'dspm_regions'].nil? + query_params[:'dspm_role'] = opts[:'dspm_role'] if !opts[:'dspm_role'].nil? + query_params[:'use_existing_cloudtrail'] = opts[:'use_existing_cloudtrail'] if !opts[:'use_existing_cloudtrail'].nil? + query_params[:'organization_id'] = opts[:'organization_id'] if !opts[:'organization_id'].nil? + query_params[:'aws_profile'] = opts[:'aws_profile'] if !opts[:'aws_profile'].nil? + query_params[:'custom_role_name'] = opts[:'custom_role_name'] if !opts[:'custom_role_name'].nil? # header parameters header_params = opts[:header_params] || {} @@ -1189,7 +1322,8 @@ def get_cspm_aws_account_scripts_attachment_with_http_info(opts = {}) # @option opts [Array] :ids AWS account IDs # @option opts [String] :use_existing_cloudtrail # @option opts [String] :region Region - # @return [RegistrationAWSAccountConsoleURL] + # @option opts [String] :template Template to be rendered + # @return [RegistrationAWSConsoleURLResponseV2] def get_cspm_aws_console_setup_urls(opts = {}) data, _status_code, _headers = get_cspm_aws_console_setup_urls_with_http_info(opts) data @@ -1200,7 +1334,8 @@ def get_cspm_aws_console_setup_urls(opts = {}) # @option opts [Array] :ids AWS account IDs # @option opts [String] :use_existing_cloudtrail # @option opts [String] :region Region - # @return [Array<(RegistrationAWSAccountConsoleURL, Integer, Hash)>] RegistrationAWSAccountConsoleURL data, response status code and response headers + # @option opts [String] :template Template to be rendered + # @return [Array<(RegistrationAWSConsoleURLResponseV2, Integer, Hash)>] RegistrationAWSConsoleURLResponseV2 data, response status code and response headers def get_cspm_aws_console_setup_urls_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CspmRegistrationApi.get_cspm_aws_console_setup_urls ...' @@ -1214,6 +1349,10 @@ def get_cspm_aws_console_setup_urls_with_http_info(opts = {}) fail ArgumentError, "invalid value for 'opts[:\"region\"]' when calling CspmRegistrationApi.get_cspm_aws_console_setup_urls, must conform to the pattern #{pattern}." end + allowable_values = ["aws-url", "aws-iom-url", "aws-ioa-url", "aws-sensor-management-url", "aws-dspm-url", "aws-idp-url"] + if @api_client.config.client_side_validation && opts[:'template'] && !allowable_values.include?(opts[:'template']) + fail ArgumentError, "invalid value for \"template\", must be one of #{allowable_values}" + end # resource path local_var_path = '/cloud-connect-cspm-aws/entities/console-setup-urls/v1' @@ -1222,6 +1361,7 @@ def get_cspm_aws_console_setup_urls_with_http_info(opts = {}) query_params[:'ids'] = @api_client.build_collection_param(opts[:'ids'], :multi) if !opts[:'ids'].nil? query_params[:'use_existing_cloudtrail'] = opts[:'use_existing_cloudtrail'] if !opts[:'use_existing_cloudtrail'].nil? query_params[:'region'] = opts[:'region'] if !opts[:'region'].nil? + query_params[:'template'] = opts[:'template'] if !opts[:'template'].nil? # header parameters header_params = opts[:header_params] || {} @@ -1235,7 +1375,7 @@ def get_cspm_aws_console_setup_urls_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'RegistrationAWSAccountConsoleURL' + return_type = opts[:debug_return_type] || 'RegistrationAWSConsoleURLResponseV2' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -2001,6 +2141,72 @@ def get_cspmgcp_user_scripts_attachment_with_http_info(opts = {}) return data, status_code, headers end + # Run a synchronous health check. + # @param body [RegistrationGCPAccountValidationRequestV1] + # @param [Hash] opts the optional parameters + # @return [RegistrationGCPAccountValidationResponseV1] + def get_cspmgcp_validate_accounts_ext(body, opts = {}) + data, _status_code, _headers = get_cspmgcp_validate_accounts_ext_with_http_info(body, opts) + data + end + + # Run a synchronous health check. + # @param body [RegistrationGCPAccountValidationRequestV1] + # @param [Hash] opts the optional parameters + # @return [Array<(RegistrationGCPAccountValidationResponseV1, Integer, Hash)>] RegistrationGCPAccountValidationResponseV1 data, response status code and response headers + def get_cspmgcp_validate_accounts_ext_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CspmRegistrationApi.get_cspmgcp_validate_accounts_ext ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling CspmRegistrationApi.get_cspmgcp_validate_accounts_ext" + end + # resource path + local_var_path = '/cloud-connect-cspm-gcp/entities/account/validate/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'RegistrationGCPAccountValidationResponseV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CspmRegistrationApi.get_cspmgcp_validate_accounts_ext", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CspmRegistrationApi#get_cspmgcp_validate_accounts_ext\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Patches a existing account in our system for a customer. # @param body [RegistrationAWSAccountPatchRequest] # @param [Hash] opts the optional parameters @@ -2448,7 +2654,7 @@ def update_cspm_scan_schedule_with_http_info(body, opts = {}) end # Patches a existing account in our system for a customer. - # @param body [RegistrationGCPAccountPatchRequest] + # @param body [RegistrationGCPAccountPatchRequestV1] # @param [Hash] opts the optional parameters # @return [RegistrationGCPAccountResponseV1] def update_cspmgcp_account(body, opts = {}) @@ -2457,7 +2663,7 @@ def update_cspmgcp_account(body, opts = {}) end # Patches a existing account in our system for a customer. - # @param body [RegistrationGCPAccountPatchRequest] + # @param body [RegistrationGCPAccountPatchRequestV1] # @param [Hash] opts the optional parameters # @return [Array<(RegistrationGCPAccountResponseV1, Integer, Hash)>] RegistrationGCPAccountResponseV1 data, response status code and response headers def update_cspmgcp_account_with_http_info(body, opts = {}) @@ -2512,5 +2718,137 @@ def update_cspmgcp_account_with_http_info(body, opts = {}) end return data, status_code, headers end + + # Patches the service account key for external clients. + # @param body [RegistrationGCPServiceAccountPatchRequestV1] + # @param [Hash] opts the optional parameters + # @return [RegistrationGCPServiceAccountResponseExtV1] + def update_cspmgcp_service_accounts_ext(body, opts = {}) + data, _status_code, _headers = update_cspmgcp_service_accounts_ext_with_http_info(body, opts) + data + end + + # Patches the service account key for external clients. + # @param body [RegistrationGCPServiceAccountPatchRequestV1] + # @param [Hash] opts the optional parameters + # @return [Array<(RegistrationGCPServiceAccountResponseExtV1, Integer, Hash)>] RegistrationGCPServiceAccountResponseExtV1 data, response status code and response headers + def update_cspmgcp_service_accounts_ext_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CspmRegistrationApi.update_cspmgcp_service_accounts_ext ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling CspmRegistrationApi.update_cspmgcp_service_accounts_ext" + end + # resource path + local_var_path = '/cloud-connect-cspm-gcp/entities/service-accounts/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'RegistrationGCPServiceAccountResponseExtV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CspmRegistrationApi.update_cspmgcp_service_accounts_ext", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CspmRegistrationApi#update_cspmgcp_service_accounts_ext\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Validates credentials for a service account + # @param body [RegistrationGCPServiceAccountValidationRequestV1] + # @param [Hash] opts the optional parameters + # @return [RegistrationGCPServiceAccountValidationResponseV1] + def validate_cspmgcp_service_account_ext(body, opts = {}) + data, _status_code, _headers = validate_cspmgcp_service_account_ext_with_http_info(body, opts) + data + end + + # Validates credentials for a service account + # @param body [RegistrationGCPServiceAccountValidationRequestV1] + # @param [Hash] opts the optional parameters + # @return [Array<(RegistrationGCPServiceAccountValidationResponseV1, Integer, Hash)>] RegistrationGCPServiceAccountValidationResponseV1 data, response status code and response headers + def validate_cspmgcp_service_account_ext_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CspmRegistrationApi.validate_cspmgcp_service_account_ext ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling CspmRegistrationApi.validate_cspmgcp_service_account_ext" + end + # resource path + local_var_path = '/cloud-connect-cspm-gcp/entities/service-accounts/validate/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'RegistrationGCPServiceAccountValidationResponseV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CspmRegistrationApi.validate_cspmgcp_service_account_ext", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CspmRegistrationApi#validate_cspmgcp_service_account_ext\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end end end diff --git a/lib/crimson-falcon/api/custom_ioa_api.rb b/lib/crimson-falcon/api/custom_ioa_api.rb index e16e48c3..b968fd91 100644 --- a/lib/crimson-falcon/api/custom_ioa_api.rb +++ b/lib/crimson-falcon/api/custom_ioa_api.rb @@ -239,8 +239,8 @@ def delete_rule_groups_mixin0_with_http_info(ids, opts = {}) # @param [Hash] opts the optional parameters # @option opts [String] :comment Explains why the entity is being deleted # @return [MsaReplyMetaOnly] - def delete_rules(rule_group_id, ids, opts = {}) - data, _status_code, _headers = delete_rules_with_http_info(rule_group_id, ids, opts) + def delete_rules_0(rule_group_id, ids, opts = {}) + data, _status_code, _headers = delete_rules_0_with_http_info(rule_group_id, ids, opts) data end @@ -250,17 +250,17 @@ def delete_rules(rule_group_id, ids, opts = {}) # @param [Hash] opts the optional parameters # @option opts [String] :comment Explains why the entity is being deleted # @return [Array<(MsaReplyMetaOnly, Integer, Hash)>] MsaReplyMetaOnly data, response status code and response headers - def delete_rules_with_http_info(rule_group_id, ids, opts = {}) + def delete_rules_0_with_http_info(rule_group_id, ids, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: CustomIoaApi.delete_rules ...' + @api_client.config.logger.debug 'Calling API: CustomIoaApi.delete_rules_0 ...' end # verify the required parameter 'rule_group_id' is set if @api_client.config.client_side_validation && rule_group_id.nil? - fail ArgumentError, "Missing the required parameter 'rule_group_id' when calling CustomIoaApi.delete_rules" + fail ArgumentError, "Missing the required parameter 'rule_group_id' when calling CustomIoaApi.delete_rules_0" end # verify the required parameter 'ids' is set if @api_client.config.client_side_validation && ids.nil? - fail ArgumentError, "Missing the required parameter 'ids' when calling CustomIoaApi.delete_rules" + fail ArgumentError, "Missing the required parameter 'ids' when calling CustomIoaApi.delete_rules_0" end # resource path local_var_path = '/ioarules/entities/rules/v1' @@ -289,7 +289,7 @@ def delete_rules_with_http_info(rule_group_id, ids, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"CustomIoaApi.delete_rules", + :operation => :"CustomIoaApi.delete_rules_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -300,7 +300,7 @@ def delete_rules_with_http_info(rule_group_id, ids, opts = {}) data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: CustomIoaApi#delete_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: CustomIoaApi#delete_rules_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -805,12 +805,12 @@ def query_platforms_mixin0_with_http_info(opts = {}) # Find all rule groups matching the query with optional filter. # @param [Hash] opts the optional parameters - # @option opts [String] :sort Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} + # @option opts [String] :sort Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} # @option opts [String] :filter FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. # @option opts [String] :q Match query criteria, which includes all the filter string fields # @option opts [String] :offset Starting index of overall result set from which to return IDs # @option opts [Integer] :limit Number of IDs to return - # @return [MsaQueryResponse] + # @return [ApiRuleGroupsResponse] def query_rule_groups_full(opts = {}) data, _status_code, _headers = query_rule_groups_full_with_http_info(opts) data @@ -818,12 +818,12 @@ def query_rule_groups_full(opts = {}) # Find all rule groups matching the query with optional filter. # @param [Hash] opts the optional parameters - # @option opts [String] :sort Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} + # @option opts [String] :sort Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} # @option opts [String] :filter FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. # @option opts [String] :q Match query criteria, which includes all the filter string fields # @option opts [String] :offset Starting index of overall result set from which to return IDs # @option opts [Integer] :limit Number of IDs to return - # @return [Array<(MsaQueryResponse, Integer, Hash)>] MsaQueryResponse data, response status code and response headers + # @return [Array<(ApiRuleGroupsResponse, Integer, Hash)>] ApiRuleGroupsResponse data, response status code and response headers def query_rule_groups_full_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CustomIoaApi.query_rule_groups_full ...' @@ -855,7 +855,7 @@ def query_rule_groups_full_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaQueryResponse' + return_type = opts[:debug_return_type] || 'ApiRuleGroupsResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -879,7 +879,7 @@ def query_rule_groups_full_with_http_info(opts = {}) # Finds all rule group IDs matching the query with optional filter. # @param [Hash] opts the optional parameters - # @option opts [String] :sort Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} + # @option opts [String] :sort Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} # @option opts [String] :filter FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. # @option opts [String] :q Match query criteria, which includes all the filter string fields # @option opts [String] :offset Starting index of overall result set from which to return IDs @@ -892,7 +892,7 @@ def query_rule_groups_mixin0(opts = {}) # Finds all rule group IDs matching the query with optional filter. # @param [Hash] opts the optional parameters - # @option opts [String] :sort Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} + # @option opts [String] :sort Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} # @option opts [String] :filter FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. # @option opts [String] :q Match query criteria, which includes all the filter string fields # @option opts [String] :offset Starting index of overall result set from which to return IDs @@ -1014,7 +1014,7 @@ def query_rule_types_with_http_info(opts = {}) # Finds all rule IDs matching the query with optional filter. # @param [Hash] opts the optional parameters - # @option opts [String] :sort Possible order by fields: {rules.current_version.description, rules.current_version.action_label, rules.current_version.modified_on, rules.created_on, rules.current_version.name, rules.created_by, rules.current_version.pattern_severity, rules.current_version.modified_by, rules.ruletype_name, rules.enabled} + # @option opts [String] :sort Possible order by fields: {rules.created_by, rules.created_on, rules.current_version.action_label, rules.current_version.description, rules.current_version.modified_by, rules.current_version.modified_on, rules.current_version.name, rules.current_version.pattern_severity, rules.enabled, rules.ruletype_name} # @option opts [String] :filter FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. # @option opts [String] :q Match query criteria, which includes all the filter string fields # @option opts [String] :offset Starting index of overall result set from which to return IDs @@ -1027,7 +1027,7 @@ def query_rules_mixin0(opts = {}) # Finds all rule IDs matching the query with optional filter. # @param [Hash] opts the optional parameters - # @option opts [String] :sort Possible order by fields: {rules.current_version.description, rules.current_version.action_label, rules.current_version.modified_on, rules.created_on, rules.current_version.name, rules.created_by, rules.current_version.pattern_severity, rules.current_version.modified_by, rules.ruletype_name, rules.enabled} + # @option opts [String] :sort Possible order by fields: {rules.created_by, rules.created_on, rules.current_version.action_label, rules.current_version.description, rules.current_version.modified_by, rules.current_version.modified_on, rules.current_version.name, rules.current_version.pattern_severity, rules.enabled, rules.ruletype_name} # @option opts [String] :filter FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. # @option opts [String] :q Match query criteria, which includes all the filter string fields # @option opts [String] :offset Starting index of overall result set from which to return IDs @@ -1156,8 +1156,8 @@ def update_rule_group_mixin0_with_http_info(body, opts = {}) # @param body [ApiRuleUpdatesRequestV1] # @param [Hash] opts the optional parameters # @return [ApiRulesResponse] - def update_rules(body, opts = {}) - data, _status_code, _headers = update_rules_with_http_info(body, opts) + def update_rules_0(body, opts = {}) + data, _status_code, _headers = update_rules_0_with_http_info(body, opts) data end @@ -1165,13 +1165,13 @@ def update_rules(body, opts = {}) # @param body [ApiRuleUpdatesRequestV1] # @param [Hash] opts the optional parameters # @return [Array<(ApiRulesResponse, Integer, Hash)>] ApiRulesResponse data, response status code and response headers - def update_rules_with_http_info(body, opts = {}) + def update_rules_0_with_http_info(body, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: CustomIoaApi.update_rules ...' + @api_client.config.logger.debug 'Calling API: CustomIoaApi.update_rules_0 ...' end # verify the required parameter 'body' is set if @api_client.config.client_side_validation && body.nil? - fail ArgumentError, "Missing the required parameter 'body' when calling CustomIoaApi.update_rules" + fail ArgumentError, "Missing the required parameter 'body' when calling CustomIoaApi.update_rules_0" end # resource path local_var_path = '/ioarules/entities/rules/v1' @@ -1202,7 +1202,73 @@ def update_rules_with_http_info(body, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"CustomIoaApi.update_rules", + :operation => :"CustomIoaApi.update_rules_0", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomIoaApi#update_rules_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update name, description, enabled or field_values for individual rules within a rule group. The v1 flavor of this call requires the caller to specify the complete state for all the rules in the rule group, instead the v2 flavor will accept the subset of rules in the rule group and apply the attribute updates to the subset of rules in the rule group.Return the updated rules. + # @param body [ApiRuleUpdatesRequestV2] + # @param [Hash] opts the optional parameters + # @return [ApiRulesResponse] + def update_rules_v2(body, opts = {}) + data, _status_code, _headers = update_rules_v2_with_http_info(body, opts) + data + end + + # Update name, description, enabled or field_values for individual rules within a rule group. The v1 flavor of this call requires the caller to specify the complete state for all the rules in the rule group, instead the v2 flavor will accept the subset of rules in the rule group and apply the attribute updates to the subset of rules in the rule group.Return the updated rules. + # @param body [ApiRuleUpdatesRequestV2] + # @param [Hash] opts the optional parameters + # @return [Array<(ApiRulesResponse, Integer, Hash)>] ApiRulesResponse data, response status code and response headers + def update_rules_v2_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomIoaApi.update_rules_v2 ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling CustomIoaApi.update_rules_v2" + end + # resource path + local_var_path = '/ioarules/entities/rules/v2' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ApiRulesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CustomIoaApi.update_rules_v2", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -1213,7 +1279,7 @@ def update_rules_with_http_info(body, opts = {}) data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: CustomIoaApi#update_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: CustomIoaApi#update_rules_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end diff --git a/lib/crimson-falcon/api/custom_storage_api.rb b/lib/crimson-falcon/api/custom_storage_api.rb index 1c222193..41b8312c 100644 --- a/lib/crimson-falcon/api/custom_storage_api.rb +++ b/lib/crimson-falcon/api/custom_storage_api.rb @@ -41,7 +41,7 @@ def initialize(api_client = ApiClient.default) # @param object_key [String] The object key # @param [Hash] opts the optional parameters # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. - # @return [CustomType3191042536] + # @return [CustomStorageResponse] def delete_object(collection_name, object_key, opts = {}) data, _status_code, _headers = delete_object_with_http_info(collection_name, object_key, opts) data @@ -52,7 +52,7 @@ def delete_object(collection_name, object_key, opts = {}) # @param object_key [String] The object key # @param [Hash] opts the optional parameters # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. - # @return [Array<(CustomType3191042536, Integer, Hash)>] CustomType3191042536 data, response status code and response headers + # @return [Array<(CustomStorageResponse, Integer, Hash)>] CustomStorageResponse data, response status code and response headers def delete_object_with_http_info(collection_name, object_key, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CustomStorageApi.delete_object ...' @@ -100,7 +100,7 @@ def delete_object_with_http_info(collection_name, object_key, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'CustomType3191042536' + return_type = opts[:debug_return_type] || 'CustomStorageResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -122,6 +122,106 @@ def delete_object_with_http_info(collection_name, object_key, opts = {}) return data, status_code, headers end + # Delete the specified versioned object + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param object_key [String] The object key + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. + # @return [CustomType3191042536] + def delete_versioned_object(collection_name, collection_version, object_key, opts = {}) + data, _status_code, _headers = delete_versioned_object_with_http_info(collection_name, collection_version, object_key, opts) + data + end + + # Delete the specified versioned object + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param object_key [String] The object key + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. + # @return [Array<(CustomType3191042536, Integer, Hash)>] CustomType3191042536 data, response status code and response headers + def delete_versioned_object_with_http_info(collection_name, collection_version, object_key, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomStorageApi.delete_versioned_object ...' + end + # verify the required parameter 'collection_name' is set + if @api_client.config.client_side_validation && collection_name.nil? + fail ArgumentError, "Missing the required parameter 'collection_name' when calling CustomStorageApi.delete_versioned_object" + end + if @api_client.config.client_side_validation && collection_name.to_s.length > 255 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.delete_versioned_object, the character length must be smaller than or equal to 255.' + end + + if @api_client.config.client_side_validation && collection_name.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.delete_versioned_object, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'collection_version' is set + if @api_client.config.client_side_validation && collection_version.nil? + fail ArgumentError, "Missing the required parameter 'collection_version' when calling CustomStorageApi.delete_versioned_object" + end + if @api_client.config.client_side_validation && collection_version.to_s.length > 20 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.delete_versioned_object, the character length must be smaller than or equal to 20.' + end + + if @api_client.config.client_side_validation && collection_version.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.delete_versioned_object, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'object_key' is set + if @api_client.config.client_side_validation && object_key.nil? + fail ArgumentError, "Missing the required parameter 'object_key' when calling CustomStorageApi.delete_versioned_object" + end + if @api_client.config.client_side_validation && object_key.to_s.length > 1000 + fail ArgumentError, 'invalid value for "object_key" when calling CustomStorageApi.delete_versioned_object, the character length must be smaller than or equal to 1000.' + end + + if @api_client.config.client_side_validation && object_key.to_s.length < 1 + fail ArgumentError, 'invalid value for "object_key" when calling CustomStorageApi.delete_versioned_object, the character length must be great than or equal to 1.' + end + + # resource path + local_var_path = '/customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}'.sub('{' + 'collection_name' + '}', CGI.escape(collection_name.to_s)).sub('{' + 'collection_version' + '}', CGI.escape(collection_version.to_s)).sub('{' + 'object_key' + '}', CGI.escape(object_key.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'dry_run'] = opts[:'dry_run'] if !opts[:'dry_run'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'CustomType3191042536' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CustomStorageApi.delete_versioned_object", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomStorageApi#delete_versioned_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Get the bytes for the specified object # @param collection_name [String] The name of the collection # @param object_key [String] The object key @@ -209,7 +309,7 @@ def get_object_with_http_info(collection_name, object_key, opts = {}) # @param collection_name [String] The name of the collection # @param object_key [String] The object key # @param [Hash] opts the optional parameters - # @return [CustomType3191042536] + # @return [CustomStorageResponse] def get_object_metadata(collection_name, object_key, opts = {}) data, _status_code, _headers = get_object_metadata_with_http_info(collection_name, object_key, opts) data @@ -219,7 +319,7 @@ def get_object_metadata(collection_name, object_key, opts = {}) # @param collection_name [String] The name of the collection # @param object_key [String] The object key # @param [Hash] opts the optional parameters - # @return [Array<(CustomType3191042536, Integer, Hash)>] CustomType3191042536 data, response status code and response headers + # @return [Array<(CustomStorageResponse, Integer, Hash)>] CustomStorageResponse data, response status code and response headers def get_object_metadata_with_http_info(collection_name, object_key, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CustomStorageApi.get_object_metadata ...' @@ -266,7 +366,7 @@ def get_object_metadata_with_http_info(collection_name, object_key, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'CustomType3191042536' + return_type = opts[:debug_return_type] || 'CustomStorageResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -288,13 +388,207 @@ def get_object_metadata_with_http_info(collection_name, object_key, opts = {}) return data, status_code, headers end + # Get the bytes for the specified object + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param object_key [String] The object key + # @param [Hash] opts the optional parameters + # @return [File] + def get_versioned_object(collection_name, collection_version, object_key, opts = {}) + data, _status_code, _headers = get_versioned_object_with_http_info(collection_name, collection_version, object_key, opts) + data + end + + # Get the bytes for the specified object + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param object_key [String] The object key + # @param [Hash] opts the optional parameters + # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers + def get_versioned_object_with_http_info(collection_name, collection_version, object_key, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomStorageApi.get_versioned_object ...' + end + # verify the required parameter 'collection_name' is set + if @api_client.config.client_side_validation && collection_name.nil? + fail ArgumentError, "Missing the required parameter 'collection_name' when calling CustomStorageApi.get_versioned_object" + end + if @api_client.config.client_side_validation && collection_name.to_s.length > 255 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.get_versioned_object, the character length must be smaller than or equal to 255.' + end + + if @api_client.config.client_side_validation && collection_name.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.get_versioned_object, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'collection_version' is set + if @api_client.config.client_side_validation && collection_version.nil? + fail ArgumentError, "Missing the required parameter 'collection_version' when calling CustomStorageApi.get_versioned_object" + end + if @api_client.config.client_side_validation && collection_version.to_s.length > 20 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.get_versioned_object, the character length must be smaller than or equal to 20.' + end + + if @api_client.config.client_side_validation && collection_version.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.get_versioned_object, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'object_key' is set + if @api_client.config.client_side_validation && object_key.nil? + fail ArgumentError, "Missing the required parameter 'object_key' when calling CustomStorageApi.get_versioned_object" + end + if @api_client.config.client_side_validation && object_key.to_s.length > 1000 + fail ArgumentError, 'invalid value for "object_key" when calling CustomStorageApi.get_versioned_object, the character length must be smaller than or equal to 1000.' + end + + if @api_client.config.client_side_validation && object_key.to_s.length < 1 + fail ArgumentError, 'invalid value for "object_key" when calling CustomStorageApi.get_versioned_object, the character length must be great than or equal to 1.' + end + + # resource path + local_var_path = '/customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}'.sub('{' + 'collection_name' + '}', CGI.escape(collection_name.to_s)).sub('{' + 'collection_version' + '}', CGI.escape(collection_version.to_s)).sub('{' + 'object_key' + '}', CGI.escape(object_key.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'File' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CustomStorageApi.get_versioned_object", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomStorageApi#get_versioned_object\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get the metadata for the specified object + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param object_key [String] The object key + # @param [Hash] opts the optional parameters + # @return [CustomType3191042536] + def get_versioned_object_metadata(collection_name, collection_version, object_key, opts = {}) + data, _status_code, _headers = get_versioned_object_metadata_with_http_info(collection_name, collection_version, object_key, opts) + data + end + + # Get the metadata for the specified object + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param object_key [String] The object key + # @param [Hash] opts the optional parameters + # @return [Array<(CustomType3191042536, Integer, Hash)>] CustomType3191042536 data, response status code and response headers + def get_versioned_object_metadata_with_http_info(collection_name, collection_version, object_key, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomStorageApi.get_versioned_object_metadata ...' + end + # verify the required parameter 'collection_name' is set + if @api_client.config.client_side_validation && collection_name.nil? + fail ArgumentError, "Missing the required parameter 'collection_name' when calling CustomStorageApi.get_versioned_object_metadata" + end + if @api_client.config.client_side_validation && collection_name.to_s.length > 255 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.get_versioned_object_metadata, the character length must be smaller than or equal to 255.' + end + + if @api_client.config.client_side_validation && collection_name.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.get_versioned_object_metadata, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'collection_version' is set + if @api_client.config.client_side_validation && collection_version.nil? + fail ArgumentError, "Missing the required parameter 'collection_version' when calling CustomStorageApi.get_versioned_object_metadata" + end + if @api_client.config.client_side_validation && collection_version.to_s.length > 20 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.get_versioned_object_metadata, the character length must be smaller than or equal to 20.' + end + + if @api_client.config.client_side_validation && collection_version.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.get_versioned_object_metadata, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'object_key' is set + if @api_client.config.client_side_validation && object_key.nil? + fail ArgumentError, "Missing the required parameter 'object_key' when calling CustomStorageApi.get_versioned_object_metadata" + end + if @api_client.config.client_side_validation && object_key.to_s.length > 1000 + fail ArgumentError, 'invalid value for "object_key" when calling CustomStorageApi.get_versioned_object_metadata, the character length must be smaller than or equal to 1000.' + end + + if @api_client.config.client_side_validation && object_key.to_s.length < 1 + fail ArgumentError, 'invalid value for "object_key" when calling CustomStorageApi.get_versioned_object_metadata, the character length must be great than or equal to 1.' + end + + # resource path + local_var_path = '/customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}/metadata'.sub('{' + 'collection_name' + '}', CGI.escape(collection_name.to_s)).sub('{' + 'collection_version' + '}', CGI.escape(collection_version.to_s)).sub('{' + 'object_key' + '}', CGI.escape(object_key.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'CustomType3191042536' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CustomStorageApi.get_versioned_object_metadata", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomStorageApi#get_versioned_object_metadata\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # List the object keys in the specified collection in alphabetical order # @param collection_name [String] The name of the collection # @param [Hash] opts the optional parameters # @option opts [String] :_end The end key to end listing to # @option opts [Integer] :limit The limit of results to return # @option opts [String] :start The start key to start listing from - # @return [CustomType1255839303] + # @return [CustomStorageObjectKeys] def list_objects(collection_name, opts = {}) data, _status_code, _headers = list_objects_with_http_info(collection_name, opts) data @@ -306,7 +600,7 @@ def list_objects(collection_name, opts = {}) # @option opts [String] :_end The end key to end listing to # @option opts [Integer] :limit The limit of results to return # @option opts [String] :start The start key to start listing from - # @return [Array<(CustomType1255839303, Integer, Hash)>] CustomType1255839303 data, response status code and response headers + # @return [Array<(CustomStorageObjectKeys, Integer, Hash)>] CustomStorageObjectKeys data, response status code and response headers def list_objects_with_http_info(collection_name, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CustomStorageApi.list_objects ...' @@ -360,7 +654,7 @@ def list_objects_with_http_info(collection_name, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'CustomType1255839303' + return_type = opts[:debug_return_type] || 'CustomStorageObjectKeys' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -382,6 +676,114 @@ def list_objects_with_http_info(collection_name, opts = {}) return data, status_code, headers end + # List the object keys in the specified collection in alphabetical order + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param [Hash] opts the optional parameters + # @option opts [String] :_end The end key to end listing to + # @option opts [Integer] :limit The limit of results to return + # @option opts [String] :start The start key to start listing from + # @return [CustomType1255839303] + def list_objects_by_version(collection_name, collection_version, opts = {}) + data, _status_code, _headers = list_objects_by_version_with_http_info(collection_name, collection_version, opts) + data + end + + # List the object keys in the specified collection in alphabetical order + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param [Hash] opts the optional parameters + # @option opts [String] :_end The end key to end listing to + # @option opts [Integer] :limit The limit of results to return + # @option opts [String] :start The start key to start listing from + # @return [Array<(CustomType1255839303, Integer, Hash)>] CustomType1255839303 data, response status code and response headers + def list_objects_by_version_with_http_info(collection_name, collection_version, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomStorageApi.list_objects_by_version ...' + end + # verify the required parameter 'collection_name' is set + if @api_client.config.client_side_validation && collection_name.nil? + fail ArgumentError, "Missing the required parameter 'collection_name' when calling CustomStorageApi.list_objects_by_version" + end + if @api_client.config.client_side_validation && collection_name.to_s.length > 255 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.list_objects_by_version, the character length must be smaller than or equal to 255.' + end + + if @api_client.config.client_side_validation && collection_name.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.list_objects_by_version, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'collection_version' is set + if @api_client.config.client_side_validation && collection_version.nil? + fail ArgumentError, "Missing the required parameter 'collection_version' when calling CustomStorageApi.list_objects_by_version" + end + if @api_client.config.client_side_validation && collection_version.to_s.length > 20 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.list_objects_by_version, the character length must be smaller than or equal to 20.' + end + + if @api_client.config.client_side_validation && collection_version.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.list_objects_by_version, the character length must be great than or equal to 1.' + end + + if @api_client.config.client_side_validation && !opts[:'_end'].nil? && opts[:'_end'].to_s.length > 1000 + fail ArgumentError, 'invalid value for "opts[:"_end"]" when calling CustomStorageApi.list_objects_by_version, the character length must be smaller than or equal to 1000.' + end + + if @api_client.config.client_side_validation && !opts[:'_end'].nil? && opts[:'_end'].to_s.length < 1 + fail ArgumentError, 'invalid value for "opts[:"_end"]" when calling CustomStorageApi.list_objects_by_version, the character length must be great than or equal to 1.' + end + + if @api_client.config.client_side_validation && !opts[:'start'].nil? && opts[:'start'].to_s.length > 1000 + fail ArgumentError, 'invalid value for "opts[:"start"]" when calling CustomStorageApi.list_objects_by_version, the character length must be smaller than or equal to 1000.' + end + + if @api_client.config.client_side_validation && !opts[:'start'].nil? && opts[:'start'].to_s.length < 1 + fail ArgumentError, 'invalid value for "opts[:"start"]" when calling CustomStorageApi.list_objects_by_version, the character length must be great than or equal to 1.' + end + + # resource path + local_var_path = '/customobjects/v1/collections/{collection_name}/{collection_version}/objects'.sub('{' + 'collection_name' + '}', CGI.escape(collection_name.to_s)).sub('{' + 'collection_version' + '}', CGI.escape(collection_version.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'end'] = opts[:'_end'] if !opts[:'_end'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'start'] = opts[:'start'] if !opts[:'start'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'CustomType1255839303' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CustomStorageApi.list_objects_by_version", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomStorageApi#list_objects_by_version\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Put the specified new object at the given key or overwrite an existing object at the given key # @param collection_name [String] The name of the collection # @param object_key [String] The object key @@ -389,7 +791,7 @@ def list_objects_with_http_info(collection_name, opts = {}) # @param [Hash] opts the optional parameters # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. # @option opts [String] :schema_version The version of the collection schema - # @return [CustomType3191042536] + # @return [CustomStorageResponse] def put_object(collection_name, object_key, body, opts = {}) data, _status_code, _headers = put_object_with_http_info(collection_name, object_key, body, opts) data @@ -402,7 +804,7 @@ def put_object(collection_name, object_key, body, opts = {}) # @param [Hash] opts the optional parameters # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. # @option opts [String] :schema_version The version of the collection schema - # @return [Array<(CustomType3191042536, Integer, Hash)>] CustomType3191042536 data, response status code and response headers + # @return [Array<(CustomStorageResponse, Integer, Hash)>] CustomStorageResponse data, response status code and response headers def put_object_with_http_info(collection_name, object_key, body, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CustomStorageApi.put_object ...' @@ -464,7 +866,7 @@ def put_object_with_http_info(collection_name, object_key, body, opts = {}) post_body = opts[:debug_body] || @api_client.object_to_http_body(body) # return_type - return_type = opts[:debug_return_type] || 'CustomType3191042536' + return_type = opts[:debug_return_type] || 'CustomStorageResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -486,6 +888,117 @@ def put_object_with_http_info(collection_name, object_key, body, opts = {}) return data, status_code, headers end + # Put the specified new object at the given key or overwrite an existing object at the given key + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param object_key [String] The object key + # @param body [File] + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. + # @return [CustomType3191042536] + def put_object_by_version(collection_name, collection_version, object_key, body, opts = {}) + data, _status_code, _headers = put_object_by_version_with_http_info(collection_name, collection_version, object_key, body, opts) + data + end + + # Put the specified new object at the given key or overwrite an existing object at the given key + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param object_key [String] The object key + # @param body [File] + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. + # @return [Array<(CustomType3191042536, Integer, Hash)>] CustomType3191042536 data, response status code and response headers + def put_object_by_version_with_http_info(collection_name, collection_version, object_key, body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomStorageApi.put_object_by_version ...' + end + # verify the required parameter 'collection_name' is set + if @api_client.config.client_side_validation && collection_name.nil? + fail ArgumentError, "Missing the required parameter 'collection_name' when calling CustomStorageApi.put_object_by_version" + end + if @api_client.config.client_side_validation && collection_name.to_s.length > 255 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.put_object_by_version, the character length must be smaller than or equal to 255.' + end + + if @api_client.config.client_side_validation && collection_name.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.put_object_by_version, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'collection_version' is set + if @api_client.config.client_side_validation && collection_version.nil? + fail ArgumentError, "Missing the required parameter 'collection_version' when calling CustomStorageApi.put_object_by_version" + end + if @api_client.config.client_side_validation && collection_version.to_s.length > 20 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.put_object_by_version, the character length must be smaller than or equal to 20.' + end + + if @api_client.config.client_side_validation && collection_version.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.put_object_by_version, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'object_key' is set + if @api_client.config.client_side_validation && object_key.nil? + fail ArgumentError, "Missing the required parameter 'object_key' when calling CustomStorageApi.put_object_by_version" + end + if @api_client.config.client_side_validation && object_key.to_s.length > 1000 + fail ArgumentError, 'invalid value for "object_key" when calling CustomStorageApi.put_object_by_version, the character length must be smaller than or equal to 1000.' + end + + if @api_client.config.client_side_validation && object_key.to_s.length < 1 + fail ArgumentError, 'invalid value for "object_key" when calling CustomStorageApi.put_object_by_version, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling CustomStorageApi.put_object_by_version" + end + # resource path + local_var_path = '/customobjects/v1/collections/{collection_name}/{collection_version}/objects/{object_key}'.sub('{' + 'collection_name' + '}', CGI.escape(collection_name.to_s)).sub('{' + 'collection_version' + '}', CGI.escape(collection_version.to_s)).sub('{' + 'object_key' + '}', CGI.escape(object_key.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'dry_run'] = opts[:'dry_run'] if !opts[:'dry_run'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/octet-stream', 'application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'CustomType3191042536' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CustomStorageApi.put_object_by_version", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomStorageApi#put_object_by_version\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Search for objects that match the specified filter criteria (returns metadata, not actual objects) # @param collection_name [String] The name of the collection # @param filter [String] The filter to limit the returned results. @@ -493,7 +1006,7 @@ def put_object_with_http_info(collection_name, object_key, body, opts = {}) # @option opts [Integer] :limit The limit of results to return # @option opts [Integer] :offset The offset of results to return # @option opts [String] :sort The sort order for the returned results. - # @return [CustomType3191042536] + # @return [CustomStorageResponse] def search_objects(collection_name, filter, opts = {}) data, _status_code, _headers = search_objects_with_http_info(collection_name, filter, opts) data @@ -506,7 +1019,7 @@ def search_objects(collection_name, filter, opts = {}) # @option opts [Integer] :limit The limit of results to return # @option opts [Integer] :offset The offset of results to return # @option opts [String] :sort The sort order for the returned results. - # @return [Array<(CustomType3191042536, Integer, Hash)>] CustomType3191042536 data, response status code and response headers + # @return [Array<(CustomStorageResponse, Integer, Hash)>] CustomStorageResponse data, response status code and response headers def search_objects_with_http_info(collection_name, filter, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: CustomStorageApi.search_objects ...' @@ -565,7 +1078,7 @@ def search_objects_with_http_info(collection_name, filter, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'CustomType3191042536' + return_type = opts[:debug_return_type] || 'CustomStorageResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -586,5 +1099,120 @@ def search_objects_with_http_info(collection_name, filter, opts = {}) end return data, status_code, headers end + + # Search for objects that match the specified filter criteria (returns metadata, not actual objects) + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param filter [String] The filter to limit the returned results. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :limit The limit of results to return + # @option opts [Integer] :offset The offset of results to return + # @option opts [String] :sort The sort order for the returned results. + # @return [CustomType3191042536] + def search_objects_by_version(collection_name, collection_version, filter, opts = {}) + data, _status_code, _headers = search_objects_by_version_with_http_info(collection_name, collection_version, filter, opts) + data + end + + # Search for objects that match the specified filter criteria (returns metadata, not actual objects) + # @param collection_name [String] The name of the collection + # @param collection_version [String] The version of the collection + # @param filter [String] The filter to limit the returned results. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :limit The limit of results to return + # @option opts [Integer] :offset The offset of results to return + # @option opts [String] :sort The sort order for the returned results. + # @return [Array<(CustomType3191042536, Integer, Hash)>] CustomType3191042536 data, response status code and response headers + def search_objects_by_version_with_http_info(collection_name, collection_version, filter, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: CustomStorageApi.search_objects_by_version ...' + end + # verify the required parameter 'collection_name' is set + if @api_client.config.client_side_validation && collection_name.nil? + fail ArgumentError, "Missing the required parameter 'collection_name' when calling CustomStorageApi.search_objects_by_version" + end + if @api_client.config.client_side_validation && collection_name.to_s.length > 255 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.search_objects_by_version, the character length must be smaller than or equal to 255.' + end + + if @api_client.config.client_side_validation && collection_name.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_name" when calling CustomStorageApi.search_objects_by_version, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'collection_version' is set + if @api_client.config.client_side_validation && collection_version.nil? + fail ArgumentError, "Missing the required parameter 'collection_version' when calling CustomStorageApi.search_objects_by_version" + end + if @api_client.config.client_side_validation && collection_version.to_s.length > 20 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.search_objects_by_version, the character length must be smaller than or equal to 20.' + end + + if @api_client.config.client_side_validation && collection_version.to_s.length < 1 + fail ArgumentError, 'invalid value for "collection_version" when calling CustomStorageApi.search_objects_by_version, the character length must be great than or equal to 1.' + end + + # verify the required parameter 'filter' is set + if @api_client.config.client_side_validation && filter.nil? + fail ArgumentError, "Missing the required parameter 'filter' when calling CustomStorageApi.search_objects_by_version" + end + if @api_client.config.client_side_validation && filter.to_s.length > 255 + fail ArgumentError, 'invalid value for "filter" when calling CustomStorageApi.search_objects_by_version, the character length must be smaller than or equal to 255.' + end + + if @api_client.config.client_side_validation && filter.to_s.length < 1 + fail ArgumentError, 'invalid value for "filter" when calling CustomStorageApi.search_objects_by_version, the character length must be great than or equal to 1.' + end + + if @api_client.config.client_side_validation && !opts[:'sort'].nil? && opts[:'sort'].to_s.length > 255 + fail ArgumentError, 'invalid value for "opts[:"sort"]" when calling CustomStorageApi.search_objects_by_version, the character length must be smaller than or equal to 255.' + end + + if @api_client.config.client_side_validation && !opts[:'sort'].nil? && opts[:'sort'].to_s.length < 1 + fail ArgumentError, 'invalid value for "opts[:"sort"]" when calling CustomStorageApi.search_objects_by_version, the character length must be great than or equal to 1.' + end + + # resource path + local_var_path = '/customobjects/v1/collections/{collection_name}/{collection_version}/objects'.sub('{' + 'collection_name' + '}', CGI.escape(collection_name.to_s)).sub('{' + 'collection_version' + '}', CGI.escape(collection_version.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = filter + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'CustomType3191042536' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"CustomStorageApi.search_objects_by_version", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: CustomStorageApi#search_objects_by_version\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end end end diff --git a/lib/crimson-falcon/api/d4c_registration_api.rb b/lib/crimson-falcon/api/d4c_registration_api.rb index 3f88f609..41b567f7 100644 --- a/lib/crimson-falcon/api/d4c_registration_api.rb +++ b/lib/crimson-falcon/api/d4c_registration_api.rb @@ -172,8 +172,8 @@ def create_d4_c_aws_account_with_http_info(body, opts = {}) # @param body [RegistrationGCPAccountCreateRequestExtV1] # @param [Hash] opts the optional parameters # @return [RegistrationGCPAccountResponseV1] - def create_d4_cgcp_account(body, opts = {}) - data, _status_code, _headers = create_d4_cgcp_account_with_http_info(body, opts) + def create_d4_c_gcp_account(body, opts = {}) + data, _status_code, _headers = create_d4_c_gcp_account_with_http_info(body, opts) data end @@ -181,13 +181,13 @@ def create_d4_cgcp_account(body, opts = {}) # @param body [RegistrationGCPAccountCreateRequestExtV1] # @param [Hash] opts the optional parameters # @return [Array<(RegistrationGCPAccountResponseV1, Integer, Hash)>] RegistrationGCPAccountResponseV1 data, response status code and response headers - def create_d4_cgcp_account_with_http_info(body, opts = {}) + def create_d4_c_gcp_account_with_http_info(body, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.create_d4_cgcp_account ...' + @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.create_d4_c_gcp_account ...' end # verify the required parameter 'body' is set if @api_client.config.client_side_validation && body.nil? - fail ArgumentError, "Missing the required parameter 'body' when calling D4cRegistrationApi.create_d4_cgcp_account" + fail ArgumentError, "Missing the required parameter 'body' when calling D4cRegistrationApi.create_d4_c_gcp_account" end # resource path local_var_path = '/cloud-connect-gcp/entities/account/v1' @@ -218,7 +218,7 @@ def create_d4_cgcp_account_with_http_info(body, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"D4cRegistrationApi.create_d4_cgcp_account", + :operation => :"D4cRegistrationApi.create_d4_c_gcp_account", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -229,7 +229,7 @@ def create_d4_cgcp_account_with_http_info(body, opts = {}) data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: D4cRegistrationApi#create_d4_cgcp_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: D4cRegistrationApi#create_d4_c_gcp_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -601,7 +601,7 @@ def get_d4_c_aws_account_with_http_info(opts = {}) # Return a URL for customer to visit in their cloud environment to grant us access to their AWS environment. # @param [Hash] opts the optional parameters # @option opts [String] :region Region - # @return [RegistrationAWSAccountConsoleURL] + # @return [RegistrationAWSConsoleURLResponseV2] def get_d4_c_aws_console_setup_urls(opts = {}) data, _status_code, _headers = get_d4_c_aws_console_setup_urls_with_http_info(opts) data @@ -610,7 +610,7 @@ def get_d4_c_aws_console_setup_urls(opts = {}) # Return a URL for customer to visit in their cloud environment to grant us access to their AWS environment. # @param [Hash] opts the optional parameters # @option opts [String] :region Region - # @return [Array<(RegistrationAWSAccountConsoleURL, Integer, Hash)>] RegistrationAWSAccountConsoleURL data, response status code and response headers + # @return [Array<(RegistrationAWSConsoleURLResponseV2, Integer, Hash)>] RegistrationAWSConsoleURLResponseV2 data, response status code and response headers def get_d4_c_aws_console_setup_urls_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.get_d4_c_aws_console_setup_urls ...' @@ -639,7 +639,7 @@ def get_d4_c_aws_console_setup_urls_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'RegistrationAWSAccountConsoleURL' + return_type = opts[:debug_return_type] || 'RegistrationAWSConsoleURLResponseV2' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -661,34 +661,64 @@ def get_d4_c_aws_console_setup_urls_with_http_info(opts = {}) return data, status_code, headers end - # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. + # Returns information about the current status of an GCP account. # @param [Hash] opts the optional parameters - # @option opts [Array] :ids AWS account IDs - # @return [RegistrationAWSProvisionGetAccountScriptResponseV2] - def get_d4_caws_account_scripts_attachment(opts = {}) - data, _status_code, _headers = get_d4_caws_account_scripts_attachment_with_http_info(opts) + # @option opts [String] :parent_type GCP Hierarchy Parent Type, organization/folder/project + # @option opts [Array] :ids Hierarchical Resource IDs of accounts + # @option opts [String] :scan_type Type of scan, dry or full, to perform on selected accounts + # @option opts [String] :status Account status to filter results by. + # @option opts [Integer] :limit The maximum records to return. Defaults to 100. (default to 100) + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [String] :sort Order fields in ascending or descending order. Ex: parent_type|asc. + # @return [RegistrationGCPAccountResponseV1] + def get_d4_c_gcp_account(opts = {}) + data, _status_code, _headers = get_d4_c_gcp_account_with_http_info(opts) data end - # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. + # Returns information about the current status of an GCP account. # @param [Hash] opts the optional parameters - # @option opts [Array] :ids AWS account IDs - # @return [Array<(RegistrationAWSProvisionGetAccountScriptResponseV2, Integer, Hash)>] RegistrationAWSProvisionGetAccountScriptResponseV2 data, response status code and response headers - def get_d4_caws_account_scripts_attachment_with_http_info(opts = {}) + # @option opts [String] :parent_type GCP Hierarchy Parent Type, organization/folder/project + # @option opts [Array] :ids Hierarchical Resource IDs of accounts + # @option opts [String] :scan_type Type of scan, dry or full, to perform on selected accounts + # @option opts [String] :status Account status to filter results by. + # @option opts [Integer] :limit The maximum records to return. Defaults to 100. (default to 100) + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [String] :sort Order fields in ascending or descending order. Ex: parent_type|asc. + # @return [Array<(RegistrationGCPAccountResponseV1, Integer, Hash)>] RegistrationGCPAccountResponseV1 data, response status code and response headers + def get_d4_c_gcp_account_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.get_d4_caws_account_scripts_attachment ...' + @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.get_d4_c_gcp_account ...' + end + allowable_values = ["Folder", "Organization", "Project"] + if @api_client.config.client_side_validation && opts[:'parent_type'] && !allowable_values.include?(opts[:'parent_type']) + fail ArgumentError, "invalid value for \"parent_type\", must be one of #{allowable_values}" + end + allowable_values = ["dry", "full"] + if @api_client.config.client_side_validation && opts[:'scan_type'] && !allowable_values.include?(opts[:'scan_type']) + fail ArgumentError, "invalid value for \"scan_type\", must be one of #{allowable_values}" + end + allowable_values = ["operational", "provisioned"] + if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status']) + fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}" end # resource path - local_var_path = '/cloud-connect-aws/entities/user-scripts-download/v1' + local_var_path = '/cloud-connect-gcp/entities/account/v1' # query parameters query_params = opts[:query_params] || {} + query_params[:'parent_type'] = opts[:'parent_type'] if !opts[:'parent_type'].nil? query_params[:'ids'] = @api_client.build_collection_param(opts[:'ids'], :multi) if !opts[:'ids'].nil? + query_params[:'scan-type'] = opts[:'scan_type'] if !opts[:'scan_type'].nil? + query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/octet-stream']) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = opts[:form_params] || {} @@ -697,13 +727,13 @@ def get_d4_caws_account_scripts_attachment_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'RegistrationAWSProvisionGetAccountScriptResponseV2' + return_type = opts[:debug_return_type] || 'RegistrationGCPAccountResponseV1' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"D4cRegistrationApi.get_d4_caws_account_scripts_attachment", + :operation => :"D4cRegistrationApi.get_d4_c_gcp_account", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -714,64 +744,38 @@ def get_d4_caws_account_scripts_attachment_with_http_info(opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: D4cRegistrationApi#get_d4_caws_account_scripts_attachment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: D4cRegistrationApi#get_d4_c_gcp_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end - # Returns information about the current status of an GCP account. + # Return a script for customer to run in their cloud environment to grant us access to their GCP environment # @param [Hash] opts the optional parameters # @option opts [String] :parent_type GCP Hierarchy Parent Type, organization/folder/project - # @option opts [Array] :ids Hierarchical Resource IDs of accounts - # @option opts [String] :scan_type Type of scan, dry or full, to perform on selected accounts - # @option opts [String] :status Account status to filter results by. - # @option opts [Integer] :limit The maximum records to return. Defaults to 100. (default to 100) - # @option opts [Integer] :offset The offset to start retrieving records from - # @option opts [String] :sort Order fields in ascending or descending order. Ex: parent_type|asc. - # @return [RegistrationGCPAccountResponseV1] - def get_d4_ccgp_account(opts = {}) - data, _status_code, _headers = get_d4_ccgp_account_with_http_info(opts) + # @return [RegistrationGCPProvisionGetUserScriptResponseV1] + def get_d4_c_gcp_user_scripts(opts = {}) + data, _status_code, _headers = get_d4_c_gcp_user_scripts_with_http_info(opts) data end - # Returns information about the current status of an GCP account. + # Return a script for customer to run in their cloud environment to grant us access to their GCP environment # @param [Hash] opts the optional parameters # @option opts [String] :parent_type GCP Hierarchy Parent Type, organization/folder/project - # @option opts [Array] :ids Hierarchical Resource IDs of accounts - # @option opts [String] :scan_type Type of scan, dry or full, to perform on selected accounts - # @option opts [String] :status Account status to filter results by. - # @option opts [Integer] :limit The maximum records to return. Defaults to 100. (default to 100) - # @option opts [Integer] :offset The offset to start retrieving records from - # @option opts [String] :sort Order fields in ascending or descending order. Ex: parent_type|asc. - # @return [Array<(RegistrationGCPAccountResponseV1, Integer, Hash)>] RegistrationGCPAccountResponseV1 data, response status code and response headers - def get_d4_ccgp_account_with_http_info(opts = {}) + # @return [Array<(RegistrationGCPProvisionGetUserScriptResponseV1, Integer, Hash)>] RegistrationGCPProvisionGetUserScriptResponseV1 data, response status code and response headers + def get_d4_c_gcp_user_scripts_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.get_d4_ccgp_account ...' + @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.get_d4_c_gcp_user_scripts ...' end allowable_values = ["Folder", "Organization", "Project"] if @api_client.config.client_side_validation && opts[:'parent_type'] && !allowable_values.include?(opts[:'parent_type']) fail ArgumentError, "invalid value for \"parent_type\", must be one of #{allowable_values}" end - allowable_values = ["dry", "full"] - if @api_client.config.client_side_validation && opts[:'scan_type'] && !allowable_values.include?(opts[:'scan_type']) - fail ArgumentError, "invalid value for \"scan_type\", must be one of #{allowable_values}" - end - allowable_values = ["operational", "provisioned"] - if @api_client.config.client_side_validation && opts[:'status'] && !allowable_values.include?(opts[:'status']) - fail ArgumentError, "invalid value for \"status\", must be one of #{allowable_values}" - end # resource path - local_var_path = '/cloud-connect-gcp/entities/account/v1' + local_var_path = '/cloud-connect-gcp/entities/user-scripts/v1' # query parameters query_params = opts[:query_params] || {} query_params[:'parent_type'] = opts[:'parent_type'] if !opts[:'parent_type'].nil? - query_params[:'ids'] = @api_client.build_collection_param(opts[:'ids'], :multi) if !opts[:'ids'].nil? - query_params[:'scan-type'] = opts[:'scan_type'] if !opts[:'scan_type'].nil? - query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil? - query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? - query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? - query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? # header parameters header_params = opts[:header_params] || {} @@ -785,13 +789,13 @@ def get_d4_ccgp_account_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'RegistrationGCPAccountResponseV1' + return_type = opts[:debug_return_type] || 'RegistrationGCPProvisionGetUserScriptResponseV1' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"D4cRegistrationApi.get_d4_ccgp_account", + :operation => :"D4cRegistrationApi.get_d4_c_gcp_user_scripts", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -802,44 +806,107 @@ def get_d4_ccgp_account_with_http_info(opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: D4cRegistrationApi#get_d4_ccgp_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: D4cRegistrationApi#get_d4_c_gcp_user_scripts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end - # Returns the service account id and client email for external clients. + # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. # @param [Hash] opts the optional parameters - # @option opts [String] :id Service Account ID - # @return [RegistrationGCPServiceAccountResponseExtV1] - def get_d4_cgcp_service_accounts_ext(opts = {}) - data, _status_code, _headers = get_d4_cgcp_service_accounts_ext_with_http_info(opts) + # @option opts [Array] :ids AWS account IDs + # @option opts [String] :template Template to be rendered (default to 'aws-bash') + # @option opts [Array] :accounts The list of accounts to register + # @option opts [String] :behavior_assessment_enabled + # @option opts [String] :sensor_management_enabled + # @option opts [String] :dspm_enabled + # @option opts [Array] :dspm_regions + # @option opts [String] :dspm_role + # @option opts [String] :use_existing_cloudtrail + # @option opts [String] :organization_id The AWS organization ID to be registered + # @option opts [String] :aws_profile The AWS profile to be used during registration + # @option opts [String] :custom_role_name The custom IAM role to be used during registration + # @return [RegistrationAWSProvisionGetAccountScriptResponseV2] + def get_d4_caws_account_scripts_attachment(opts = {}) + data, _status_code, _headers = get_d4_caws_account_scripts_attachment_with_http_info(opts) data end - # Returns the service account id and client email for external clients. + # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. # @param [Hash] opts the optional parameters - # @option opts [String] :id Service Account ID - # @return [Array<(RegistrationGCPServiceAccountResponseExtV1, Integer, Hash)>] RegistrationGCPServiceAccountResponseExtV1 data, response status code and response headers - def get_d4_cgcp_service_accounts_ext_with_http_info(opts = {}) + # @option opts [Array] :ids AWS account IDs + # @option opts [String] :template Template to be rendered (default to 'aws-bash') + # @option opts [Array] :accounts The list of accounts to register + # @option opts [String] :behavior_assessment_enabled + # @option opts [String] :sensor_management_enabled + # @option opts [String] :dspm_enabled + # @option opts [Array] :dspm_regions + # @option opts [String] :dspm_role + # @option opts [String] :use_existing_cloudtrail + # @option opts [String] :organization_id The AWS organization ID to be registered + # @option opts [String] :aws_profile The AWS profile to be used during registration + # @option opts [String] :custom_role_name The custom IAM role to be used during registration + # @return [Array<(RegistrationAWSProvisionGetAccountScriptResponseV2, Integer, Hash)>] RegistrationAWSProvisionGetAccountScriptResponseV2 data, response status code and response headers + def get_d4_caws_account_scripts_attachment_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.get_d4_cgcp_service_accounts_ext ...' + @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.get_d4_caws_account_scripts_attachment ...' end - pattern = Regexp.new(/^\d+$/) - if @api_client.config.client_side_validation && !opts[:'id'].nil? && opts[:'id'] !~ pattern - fail ArgumentError, "invalid value for 'opts[:\"id\"]' when calling D4cRegistrationApi.get_d4_cgcp_service_accounts_ext, must conform to the pattern #{pattern}." + allowable_values = ["aws-bash"] + if @api_client.config.client_side_validation && opts[:'template'] && !allowable_values.include?(opts[:'template']) + fail ArgumentError, "invalid value for \"template\", must be one of #{allowable_values}" + end + allowable_values = ["true", "false"] + if @api_client.config.client_side_validation && opts[:'behavior_assessment_enabled'] && !allowable_values.include?(opts[:'behavior_assessment_enabled']) + fail ArgumentError, "invalid value for \"behavior_assessment_enabled\", must be one of #{allowable_values}" + end + allowable_values = ["true", "false"] + if @api_client.config.client_side_validation && opts[:'sensor_management_enabled'] && !allowable_values.include?(opts[:'sensor_management_enabled']) + fail ArgumentError, "invalid value for \"sensor_management_enabled\", must be one of #{allowable_values}" + end + allowable_values = ["true", "false"] + if @api_client.config.client_side_validation && opts[:'dspm_enabled'] && !allowable_values.include?(opts[:'dspm_enabled']) + fail ArgumentError, "invalid value for \"dspm_enabled\", must be one of #{allowable_values}" + end + allowable_values = ["true", "false"] + if @api_client.config.client_side_validation && opts[:'use_existing_cloudtrail'] && !allowable_values.include?(opts[:'use_existing_cloudtrail']) + fail ArgumentError, "invalid value for \"use_existing_cloudtrail\", must be one of #{allowable_values}" + end + pattern = Regexp.new(/.*/) + if @api_client.config.client_side_validation && !opts[:'organization_id'].nil? && opts[:'organization_id'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"organization_id\"]' when calling D4cRegistrationApi.get_d4_caws_account_scripts_attachment, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/.*/) + if @api_client.config.client_side_validation && !opts[:'aws_profile'].nil? && opts[:'aws_profile'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"aws_profile\"]' when calling D4cRegistrationApi.get_d4_caws_account_scripts_attachment, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/.*/) + if @api_client.config.client_side_validation && !opts[:'custom_role_name'].nil? && opts[:'custom_role_name'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"custom_role_name\"]' when calling D4cRegistrationApi.get_d4_caws_account_scripts_attachment, must conform to the pattern #{pattern}." end # resource path - local_var_path = '/cloud-connect-gcp/entities/service-accounts/v1' + local_var_path = '/cloud-connect-aws/entities/user-scripts-download/v1' # query parameters query_params = opts[:query_params] || {} - query_params[:'id'] = opts[:'id'] if !opts[:'id'].nil? + query_params[:'ids'] = @api_client.build_collection_param(opts[:'ids'], :multi) if !opts[:'ids'].nil? + query_params[:'template'] = opts[:'template'] if !opts[:'template'].nil? + query_params[:'accounts'] = @api_client.build_collection_param(opts[:'accounts'], :multi) if !opts[:'accounts'].nil? + query_params[:'behavior_assessment_enabled'] = opts[:'behavior_assessment_enabled'] if !opts[:'behavior_assessment_enabled'].nil? + query_params[:'sensor_management_enabled'] = opts[:'sensor_management_enabled'] if !opts[:'sensor_management_enabled'].nil? + query_params[:'dspm_enabled'] = opts[:'dspm_enabled'] if !opts[:'dspm_enabled'].nil? + query_params[:'dspm_regions'] = @api_client.build_collection_param(opts[:'dspm_regions'], :csv) if !opts[:'dspm_regions'].nil? + query_params[:'dspm_role'] = opts[:'dspm_role'] if !opts[:'dspm_role'].nil? + query_params[:'use_existing_cloudtrail'] = opts[:'use_existing_cloudtrail'] if !opts[:'use_existing_cloudtrail'].nil? + query_params[:'organization_id'] = opts[:'organization_id'] if !opts[:'organization_id'].nil? + query_params[:'aws_profile'] = opts[:'aws_profile'] if !opts[:'aws_profile'].nil? + query_params[:'custom_role_name'] = opts[:'custom_role_name'] if !opts[:'custom_role_name'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/octet-stream']) # form parameters form_params = opts[:form_params] || {} @@ -848,13 +915,13 @@ def get_d4_cgcp_service_accounts_ext_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'RegistrationGCPServiceAccountResponseExtV1' + return_type = opts[:debug_return_type] || 'RegistrationAWSProvisionGetAccountScriptResponseV2' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"D4cRegistrationApi.get_d4_cgcp_service_accounts_ext", + :operation => :"D4cRegistrationApi.get_d4_caws_account_scripts_attachment", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -865,38 +932,39 @@ def get_d4_cgcp_service_accounts_ext_with_http_info(opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: D4cRegistrationApi#get_d4_cgcp_service_accounts_ext\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: D4cRegistrationApi#get_d4_caws_account_scripts_attachment\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end - # Return a script for customer to run in their cloud environment to grant us access to their GCP environment + # Returns the service account id and client email for external clients. # @param [Hash] opts the optional parameters - # @option opts [String] :parent_type GCP Hierarchy Parent Type, organization/folder/project - # @return [RegistrationGCPProvisionGetUserScriptResponseV1] - def get_d4_cgcp_user_scripts(opts = {}) - data, _status_code, _headers = get_d4_cgcp_user_scripts_with_http_info(opts) + # @option opts [String] :id Service Account ID + # @return [RegistrationGCPServiceAccountResponseExtV1] + def get_d4_cgcp_service_accounts_ext(opts = {}) + data, _status_code, _headers = get_d4_cgcp_service_accounts_ext_with_http_info(opts) data end - # Return a script for customer to run in their cloud environment to grant us access to their GCP environment + # Returns the service account id and client email for external clients. # @param [Hash] opts the optional parameters - # @option opts [String] :parent_type GCP Hierarchy Parent Type, organization/folder/project - # @return [Array<(RegistrationGCPProvisionGetUserScriptResponseV1, Integer, Hash)>] RegistrationGCPProvisionGetUserScriptResponseV1 data, response status code and response headers - def get_d4_cgcp_user_scripts_with_http_info(opts = {}) + # @option opts [String] :id Service Account ID + # @return [Array<(RegistrationGCPServiceAccountResponseExtV1, Integer, Hash)>] RegistrationGCPServiceAccountResponseExtV1 data, response status code and response headers + def get_d4_cgcp_service_accounts_ext_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.get_d4_cgcp_user_scripts ...' + @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.get_d4_cgcp_service_accounts_ext ...' end - allowable_values = ["Folder", "Organization", "Project"] - if @api_client.config.client_side_validation && opts[:'parent_type'] && !allowable_values.include?(opts[:'parent_type']) - fail ArgumentError, "invalid value for \"parent_type\", must be one of #{allowable_values}" + pattern = Regexp.new(/^\d+$/) + if @api_client.config.client_side_validation && !opts[:'id'].nil? && opts[:'id'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"id\"]' when calling D4cRegistrationApi.get_d4_cgcp_service_accounts_ext, must conform to the pattern #{pattern}." end + # resource path - local_var_path = '/cloud-connect-gcp/entities/user-scripts/v1' + local_var_path = '/cloud-connect-gcp/entities/service-accounts/v1' # query parameters query_params = opts[:query_params] || {} - query_params[:'parent_type'] = opts[:'parent_type'] if !opts[:'parent_type'].nil? + query_params[:'id'] = opts[:'id'] if !opts[:'id'].nil? # header parameters header_params = opts[:header_params] || {} @@ -910,13 +978,13 @@ def get_d4_cgcp_user_scripts_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'RegistrationGCPProvisionGetUserScriptResponseV1' + return_type = opts[:debug_return_type] || 'RegistrationGCPServiceAccountResponseExtV1' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"D4cRegistrationApi.get_d4_cgcp_user_scripts", + :operation => :"D4cRegistrationApi.get_d4_cgcp_service_accounts_ext", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -927,7 +995,7 @@ def get_d4_cgcp_user_scripts_with_http_info(opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: D4cRegistrationApi#get_d4_cgcp_user_scripts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: D4cRegistrationApi#get_d4_cgcp_service_accounts_ext\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -1375,6 +1443,72 @@ def get_horizon_d4_c_scripts_with_http_info(opts = {}) return data, status_code, headers end + # Patches the service account key for external clients. + # @param body [RegistrationGCPServiceAccountPatchRequestV1] + # @param [Hash] opts the optional parameters + # @return [RegistrationGCPServiceAccountResponseExtV1] + def update_d4_cgcp_service_accounts_ext(body, opts = {}) + data, _status_code, _headers = update_d4_cgcp_service_accounts_ext_with_http_info(body, opts) + data + end + + # Patches the service account key for external clients. + # @param body [RegistrationGCPServiceAccountPatchRequestV1] + # @param [Hash] opts the optional parameters + # @return [Array<(RegistrationGCPServiceAccountResponseExtV1, Integer, Hash)>] RegistrationGCPServiceAccountResponseExtV1 data, response status code and response headers + def update_d4_cgcp_service_accounts_ext_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: D4cRegistrationApi.update_d4_cgcp_service_accounts_ext ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling D4cRegistrationApi.update_d4_cgcp_service_accounts_ext" + end + # resource path + local_var_path = '/cloud-connect-gcp/entities/service-accounts/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'RegistrationGCPServiceAccountResponseExtV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"D4cRegistrationApi.update_d4_cgcp_service_accounts_ext", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: D4cRegistrationApi#update_d4_cgcp_service_accounts_ext\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Update an Azure service account in our system by with the user-created client_id created with the public key we've provided # @param id [String] ClientID to use for the Service Principal associated with the customer's Azure account # @param [Hash] opts the optional parameters diff --git a/lib/crimson-falcon/api/datascanner_api.rb b/lib/crimson-falcon/api/datascanner_api.rb new file mode 100644 index 00000000..0558b620 --- /dev/null +++ b/lib/crimson-falcon/api/datascanner_api.rb @@ -0,0 +1,225 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class DatascannerApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # - GetDataScannerTasks is a route for the data scanner to fetch pending tasks + # @param x_scanner_id [String] ID of the data scanner + # @param [Hash] opts the optional parameters + # @return [Hash] + def get_data_scanner_tasks(x_scanner_id, opts = {}) + data, _status_code, _headers = get_data_scanner_tasks_with_http_info(x_scanner_id, opts) + data + end + + # - GetDataScannerTasks is a route for the data scanner to fetch pending tasks + # @param x_scanner_id [String] ID of the data scanner + # @param [Hash] opts the optional parameters + # @return [Array<(Hash, Integer, Hash)>] Hash data, response status code and response headers + def get_data_scanner_tasks_with_http_info(x_scanner_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DatascannerApi.get_data_scanner_tasks ...' + end + # verify the required parameter 'x_scanner_id' is set + if @api_client.config.client_side_validation && x_scanner_id.nil? + fail ArgumentError, "Missing the required parameter 'x_scanner_id' when calling DatascannerApi.get_data_scanner_tasks" + end + # resource path + local_var_path = '/data-security-dspm/entities/scanner-tasks/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params[:'X-Scanner-Id'] = x_scanner_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'Hash' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DatascannerApi.get_data_scanner_tasks", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DatascannerApi#get_data_scanner_tasks\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # - GetImageRegistryCredentials is a route that gets credentials in order to fetch the data scanner image. + # @param [Hash] opts the optional parameters + # @return [Hash] + def get_image_registry_credentials(opts = {}) + data, _status_code, _headers = get_image_registry_credentials_with_http_info(opts) + data + end + + # - GetImageRegistryCredentials is a route that gets credentials in order to fetch the data scanner image. + # @param [Hash] opts the optional parameters + # @return [Array<(Hash, Integer, Hash)>] Hash data, response status code and response headers + def get_image_registry_credentials_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DatascannerApi.get_image_registry_credentials ...' + end + # resource path + local_var_path = '/data-security-dspm/entities/image-registry-credentials/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'Hash' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DatascannerApi.get_image_registry_credentials", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DatascannerApi#get_image_registry_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # - PatchDataScannerTasks is a route for the data scanner to report back on tasks statuses + # @param x_scanner_id [String] ID of the data scanner + # @param x_machine_id [String] Provider ID of machine + # @param [Hash] opts the optional parameters + # @return [Hash] + def update_data_scanner_tasks(x_scanner_id, x_machine_id, opts = {}) + data, _status_code, _headers = update_data_scanner_tasks_with_http_info(x_scanner_id, x_machine_id, opts) + data + end + + # - PatchDataScannerTasks is a route for the data scanner to report back on tasks statuses + # @param x_scanner_id [String] ID of the data scanner + # @param x_machine_id [String] Provider ID of machine + # @param [Hash] opts the optional parameters + # @return [Array<(Hash, Integer, Hash)>] Hash data, response status code and response headers + def update_data_scanner_tasks_with_http_info(x_scanner_id, x_machine_id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DatascannerApi.update_data_scanner_tasks ...' + end + # verify the required parameter 'x_scanner_id' is set + if @api_client.config.client_side_validation && x_scanner_id.nil? + fail ArgumentError, "Missing the required parameter 'x_scanner_id' when calling DatascannerApi.update_data_scanner_tasks" + end + # verify the required parameter 'x_machine_id' is set + if @api_client.config.client_side_validation && x_machine_id.nil? + fail ArgumentError, "Missing the required parameter 'x_machine_id' when calling DatascannerApi.update_data_scanner_tasks" + end + # resource path + local_var_path = '/data-security-dspm/entities/scanner-tasks/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['text/plain']) + header_params[:'X-Scanner-Id'] = x_scanner_id + header_params[:'X-Machine-Id'] = x_machine_id + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'Hash' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DatascannerApi.update_data_scanner_tasks", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DatascannerApi#update_data_scanner_tasks\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/default_api.rb b/lib/crimson-falcon/api/default_api.rb new file mode 100644 index 00000000..93326531 --- /dev/null +++ b/lib/crimson-falcon/api/default_api.rb @@ -0,0 +1,475 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class DefaultApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Creates a new account in our system for a customer. + # @param body [RestAWSAccountCreateRequestExtv1] + # @param [Hash] opts the optional parameters + # @return [RestAWSAccountCreateResponseExtV1] + def cloud_registration_aws_create_account(body, opts = {}) + data, _status_code, _headers = cloud_registration_aws_create_account_with_http_info(body, opts) + data + end + + # Creates a new account in our system for a customer. + # @param body [RestAWSAccountCreateRequestExtv1] + # @param [Hash] opts the optional parameters + # @return [Array<(RestAWSAccountCreateResponseExtV1, Integer, Hash)>] RestAWSAccountCreateResponseExtV1 data, response status code and response headers + def cloud_registration_aws_create_account_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.cloud_registration_aws_create_account ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling DefaultApi.cloud_registration_aws_create_account" + end + # resource path + local_var_path = '/cloud-security-registration-aws/entities/account/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'RestAWSAccountCreateResponseExtV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DefaultApi.cloud_registration_aws_create_account", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#cloud_registration_aws_create_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Deletes an existing AWS account or organization in our system. + # @param [Hash] opts the optional parameters + # @option opts [Array] :ids AWS account IDs to remove + # @option opts [Array] :organization_ids AWS organization IDs to remove + # @return [MsaspecResponseFields] + def cloud_registration_aws_delete_account(opts = {}) + data, _status_code, _headers = cloud_registration_aws_delete_account_with_http_info(opts) + data + end + + # Deletes an existing AWS account or organization in our system. + # @param [Hash] opts the optional parameters + # @option opts [Array] :ids AWS account IDs to remove + # @option opts [Array] :organization_ids AWS organization IDs to remove + # @return [Array<(MsaspecResponseFields, Integer, Hash)>] MsaspecResponseFields data, response status code and response headers + def cloud_registration_aws_delete_account_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.cloud_registration_aws_delete_account ...' + end + # resource path + local_var_path = '/cloud-security-registration-aws/entities/account/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(opts[:'ids'], :multi) if !opts[:'ids'].nil? + query_params[:'organization-ids'] = @api_client.build_collection_param(opts[:'organization_ids'], :multi) if !opts[:'organization_ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecResponseFields' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DefaultApi.cloud_registration_aws_delete_account", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#cloud_registration_aws_delete_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieve existing AWS accounts by account IDs + # @param [Hash] opts the optional parameters + # @option opts [Array] :ids AWS account IDs to filter + # @return [RestAWSAccountCreateResponseExtV1] + def cloud_registration_aws_get_accounts(opts = {}) + data, _status_code, _headers = cloud_registration_aws_get_accounts_with_http_info(opts) + data + end + + # Retrieve existing AWS accounts by account IDs + # @param [Hash] opts the optional parameters + # @option opts [Array] :ids AWS account IDs to filter + # @return [Array<(RestAWSAccountCreateResponseExtV1, Integer, Hash)>] RestAWSAccountCreateResponseExtV1 data, response status code and response headers + def cloud_registration_aws_get_accounts_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.cloud_registration_aws_get_accounts ...' + end + # resource path + local_var_path = '/cloud-security-registration-aws/entities/account/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(opts[:'ids'], :multi) if !opts[:'ids'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'RestAWSAccountCreateResponseExtV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DefaultApi.cloud_registration_aws_get_accounts", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#cloud_registration_aws_get_accounts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieve existing AWS accounts by account IDs + # @param products [Array] Products registered for an account + # @param features [Array] Features registered for an account + # @param [Hash] opts the optional parameters + # @option opts [Array] :organization_ids Organization IDs used to filter accounts + # @option opts [String] :account_status Account status to filter results by. + # @option opts [Integer] :limit The maximum number of items to return. When not specified or 0, 100 is used. When larger than 500, 500 is used. (default to 100) + # @option opts [Integer] :offset The offset to start retrieving records from. + # @option opts [String] :group_by Field to group by. + # @return [RestAWSAccountCreateResponseExtV1] + def cloud_registration_aws_query_accounts(products, features, opts = {}) + data, _status_code, _headers = cloud_registration_aws_query_accounts_with_http_info(products, features, opts) + data + end + + # Retrieve existing AWS accounts by account IDs + # @param products [Array] Products registered for an account + # @param features [Array] Features registered for an account + # @param [Hash] opts the optional parameters + # @option opts [Array] :organization_ids Organization IDs used to filter accounts + # @option opts [String] :account_status Account status to filter results by. + # @option opts [Integer] :limit The maximum number of items to return. When not specified or 0, 100 is used. When larger than 500, 500 is used. (default to 100) + # @option opts [Integer] :offset The offset to start retrieving records from. + # @option opts [String] :group_by Field to group by. + # @return [Array<(RestAWSAccountCreateResponseExtV1, Integer, Hash)>] RestAWSAccountCreateResponseExtV1 data, response status code and response headers + def cloud_registration_aws_query_accounts_with_http_info(products, features, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.cloud_registration_aws_query_accounts ...' + end + # verify the required parameter 'products' is set + if @api_client.config.client_side_validation && products.nil? + fail ArgumentError, "Missing the required parameter 'products' when calling DefaultApi.cloud_registration_aws_query_accounts" + end + # verify the required parameter 'features' is set + if @api_client.config.client_side_validation && features.nil? + fail ArgumentError, "Missing the required parameter 'features' when calling DefaultApi.cloud_registration_aws_query_accounts" + end + allowable_values = ["provisioned", "operational"] + if @api_client.config.client_side_validation && opts[:'account_status'] && !allowable_values.include?(opts[:'account_status']) + fail ArgumentError, "invalid value for \"account_status\", must be one of #{allowable_values}" + end + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 500 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DefaultApi.cloud_registration_aws_query_accounts, must be smaller than or equal to 500.' + end + + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 0 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DefaultApi.cloud_registration_aws_query_accounts, must be greater than or equal to 0.' + end + + allowable_values = ["organization"] + if @api_client.config.client_side_validation && opts[:'group_by'] && !allowable_values.include?(opts[:'group_by']) + fail ArgumentError, "invalid value for \"group_by\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/cloud-security-registration-aws/queries/account/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'products'] = @api_client.build_collection_param(products, :multi) + query_params[:'features'] = @api_client.build_collection_param(features, :multi) + query_params[:'organization-ids'] = @api_client.build_collection_param(opts[:'organization_ids'], :multi) if !opts[:'organization_ids'].nil? + query_params[:'account-status'] = opts[:'account_status'] if !opts[:'account_status'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'group_by'] = opts[:'group_by'] if !opts[:'group_by'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'RestAWSAccountCreateResponseExtV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DefaultApi.cloud_registration_aws_query_accounts", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#cloud_registration_aws_query_accounts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Patches a existing account in our system for a customer. + # @param body [RestAWSAccountCreateRequestExtv1] + # @param [Hash] opts the optional parameters + # @return [RestAWSAccountCreateResponseExtV1] + def cloud_registration_aws_update_account(body, opts = {}) + data, _status_code, _headers = cloud_registration_aws_update_account_with_http_info(body, opts) + data + end + + # Patches a existing account in our system for a customer. + # @param body [RestAWSAccountCreateRequestExtv1] + # @param [Hash] opts the optional parameters + # @return [Array<(RestAWSAccountCreateResponseExtV1, Integer, Hash)>] RestAWSAccountCreateResponseExtV1 data, response status code and response headers + def cloud_registration_aws_update_account_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.cloud_registration_aws_update_account ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling DefaultApi.cloud_registration_aws_update_account" + end + # resource path + local_var_path = '/cloud-security-registration-aws/entities/account/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'RestAWSAccountCreateResponseExtV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DefaultApi.cloud_registration_aws_update_account", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#cloud_registration_aws_update_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Validates the AWS account in our system for a provided CID. For internal clients only. + # @param products [String] Product registered for an account + # @param feature [Array] Features registered for an account + # @param [Hash] opts the optional parameters + # @option opts [String] :account_id AWS Account ID + # @option opts [String] :iam_role_arn IAM Role ARN + # @return [RestAWSAccountValidationResponse] + def cloud_registration_aws_validate_accounts(products, feature, opts = {}) + data, _status_code, _headers = cloud_registration_aws_validate_accounts_with_http_info(products, feature, opts) + data + end + + # Validates the AWS account in our system for a provided CID. For internal clients only. + # @param products [String] Product registered for an account + # @param feature [Array] Features registered for an account + # @param [Hash] opts the optional parameters + # @option opts [String] :account_id AWS Account ID + # @option opts [String] :iam_role_arn IAM Role ARN + # @return [Array<(RestAWSAccountValidationResponse, Integer, Hash)>] RestAWSAccountValidationResponse data, response status code and response headers + def cloud_registration_aws_validate_accounts_with_http_info(products, feature, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DefaultApi.cloud_registration_aws_validate_accounts ...' + end + # verify the required parameter 'products' is set + if @api_client.config.client_side_validation && products.nil? + fail ArgumentError, "Missing the required parameter 'products' when calling DefaultApi.cloud_registration_aws_validate_accounts" + end + # verify the required parameter 'feature' is set + if @api_client.config.client_side_validation && feature.nil? + fail ArgumentError, "Missing the required parameter 'feature' when calling DefaultApi.cloud_registration_aws_validate_accounts" + end + pattern = Regexp.new(/^\d{12}$/) + if @api_client.config.client_side_validation && !opts[:'account_id'].nil? && opts[:'account_id'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"account_id\"]' when calling DefaultApi.cloud_registration_aws_validate_accounts, must conform to the pattern #{pattern}." + end + + pattern = Regexp.new(/^arn:aws:iam::\d{12}:role\/.+/) + if @api_client.config.client_side_validation && !opts[:'iam_role_arn'].nil? && opts[:'iam_role_arn'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"iam_role_arn\"]' when calling DefaultApi.cloud_registration_aws_validate_accounts, must conform to the pattern #{pattern}." + end + + # resource path + local_var_path = '/cloud-security-registration-aws/entities/account/validate/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'products'] = products + query_params[:'feature'] = @api_client.build_collection_param(feature, :csv) + query_params[:'account-id'] = opts[:'account_id'] if !opts[:'account_id'].nil? + query_params[:'iam-role-arn'] = opts[:'iam_role_arn'] if !opts[:'iam_role_arn'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'RestAWSAccountValidationResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DefaultApi.cloud_registration_aws_validate_accounts", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DefaultApi#cloud_registration_aws_validate_accounts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/delivery_settings_api.rb b/lib/crimson-falcon/api/delivery_settings_api.rb new file mode 100644 index 00000000..d6361000 --- /dev/null +++ b/lib/crimson-falcon/api/delivery_settings_api.rb @@ -0,0 +1,160 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class DeliverySettingsApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Get Delivery Settings + # @param [Hash] opts the optional parameters + # @return [ModelsDeliverySettingsEntityResponse] + def get_delivery_settings(opts = {}) + data, _status_code, _headers = get_delivery_settings_with_http_info(opts) + data + end + + # Get Delivery Settings + # @param [Hash] opts the optional parameters + # @return [Array<(ModelsDeliverySettingsEntityResponse, Integer, Hash)>] ModelsDeliverySettingsEntityResponse data, response status code and response headers + def get_delivery_settings_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DeliverySettingsApi.get_delivery_settings ...' + end + # resource path + local_var_path = '/delivery-settings/entities/delivery-settings/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ModelsDeliverySettingsEntityResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DeliverySettingsApi.get_delivery_settings", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DeliverySettingsApi#get_delivery_settings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Create Delivery Settings + # @param body [ModelsDeliverySettingsRequest] + # @param [Hash] opts the optional parameters + # @return [ModelsDeliverySettingsEntityResponse] + def post_delivery_settings(body, opts = {}) + data, _status_code, _headers = post_delivery_settings_with_http_info(body, opts) + data + end + + # Create Delivery Settings + # @param body [ModelsDeliverySettingsRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(ModelsDeliverySettingsEntityResponse, Integer, Hash)>] ModelsDeliverySettingsEntityResponse data, response status code and response headers + def post_delivery_settings_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DeliverySettingsApi.post_delivery_settings ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling DeliverySettingsApi.post_delivery_settings" + end + # resource path + local_var_path = '/delivery-settings/entities/delivery-settings/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ModelsDeliverySettingsEntityResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DeliverySettingsApi.post_delivery_settings", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DeliverySettingsApi#post_delivery_settings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/discover_api.rb b/lib/crimson-falcon/api/discover_api.rb index 9dcbf3fd..7eda233b 100644 --- a/lib/crimson-falcon/api/discover_api.rb +++ b/lib/crimson-falcon/api/discover_api.rb @@ -36,6 +36,170 @@ class DiscoverApi def initialize(api_client = ApiClient.default) @api_client = api_client end + # Search for applications in your environment by providing an FQL filter and paging details. Returns details on applications which match the filter criteria. + # @param filter [String] Search for applications in your environment by providing an FQL filter. Available filter fields that support exact match: name, version, vendor, name_vendor, name_vendor_version, first_seen_timestamp, installation_timestamp, architectures, installation_paths, versioning_scheme, groups, is_normalized, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, last_used_timestamp, last_updated_timestamp, is_suspicious, host.id, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports wildcard (*): name, version, vendor, name_vendor, name_vendor_version, architectures, installation_paths, groups, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, installation_timestamp, last_used_timestamp, last_updated_timestamp All filter fields and operations supports negation (!). + # @param [Hash] opts the optional parameters + # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + # @option opts [Integer] :limit The number of application ids to return in this response (Min: 1, Max: 1000, Default: 100). Use with the `after` parameter to manage pagination of results. + # @option opts [String] :sort Sort applications by their properties. A single sort field is allowed. + # @option opts [Array] :facet Select various details blocks to be returned for each application entity. Supported values: <ul><li>browser_extension</li><li>host_info</li><li>install_usage</li></ul> + # @return [DomainDiscoverAPICombinedApplicationsResponse] + def combined_applications(filter, opts = {}) + data, _status_code, _headers = combined_applications_with_http_info(filter, opts) + data + end + + # Search for applications in your environment by providing an FQL filter and paging details. Returns details on applications which match the filter criteria. + # @param filter [String] Search for applications in your environment by providing an FQL filter. Available filter fields that support exact match: name, version, vendor, name_vendor, name_vendor_version, first_seen_timestamp, installation_timestamp, architectures, installation_paths, versioning_scheme, groups, is_normalized, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, last_used_timestamp, last_updated_timestamp, is_suspicious, host.id, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports wildcard (*): name, version, vendor, name_vendor, name_vendor_version, architectures, installation_paths, groups, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, installation_timestamp, last_used_timestamp, last_updated_timestamp All filter fields and operations supports negation (!). + # @param [Hash] opts the optional parameters + # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + # @option opts [Integer] :limit The number of application ids to return in this response (Min: 1, Max: 1000, Default: 100). Use with the `after` parameter to manage pagination of results. + # @option opts [String] :sort Sort applications by their properties. A single sort field is allowed. + # @option opts [Array] :facet Select various details blocks to be returned for each application entity. Supported values: <ul><li>browser_extension</li><li>host_info</li><li>install_usage</li></ul> + # @return [Array<(DomainDiscoverAPICombinedApplicationsResponse, Integer, Hash)>] DomainDiscoverAPICombinedApplicationsResponse data, response status code and response headers + def combined_applications_with_http_info(filter, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DiscoverApi.combined_applications ...' + end + # verify the required parameter 'filter' is set + if @api_client.config.client_side_validation && filter.nil? + fail ArgumentError, "Missing the required parameter 'filter' when calling DiscoverApi.combined_applications" + end + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DiscoverApi.combined_applications, must be smaller than or equal to 1000.' + end + + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DiscoverApi.combined_applications, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/discover/combined/applications/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = filter + query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'facet'] = @api_client.build_collection_param(opts[:'facet'], :multi) if !opts[:'facet'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainDiscoverAPICombinedApplicationsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DiscoverApi.combined_applications", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DiscoverApi#combined_applications\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Search for assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns details on assets which match the filter criteria. + # @param filter [String] Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, local_ips_count, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_count, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, data_providers_count, mac_addresses, local_ip_addresses, reduced_functionality_mode, number_of_disk_drives, processor_package_count, physical_core_count, logical_core_count, total_disk_space, disk_sizes.disk_name, disk_sizes.disk_space, cpu_processor_name, total_memory, encryption_status, encrypted_drives, encrypted_drives_count, unencrypted_drives, unencrypted_drives_count, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, total_bios_files, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.mount_path, mount_storage_info.used_space, mount_storage_info.available_space, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, ad_user_account_control, account_enabled, creation_timestamp, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports wildcard (*): id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, mac_addresses, local_ip_addresses, reduced_functionality_mode, disk_sizes.disk_name, cpu_processor_name, encryption_status, encrypted_drives, unencrypted_drives, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, mount_storage_info.mount_path, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, account_enabled, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, last_seen_timestamp, local_ips_count, discoverer_count, confidence, number_of_disk_drives, processor_package_count, physical_core_count, data_providers_count, logical_core_count, total_disk_space, disk_sizes.disk_space, total_memory, encrypted_drives_count, unencrypted_drives_count, total_bios_files, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.used_space, mount_storage_info.available_space, ad_user_account_control, creation_timestamp All filter fields and operations supports negation (!). + # @param [Hash] opts the optional parameters + # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + # @option opts [Integer] :limit The number of asset IDs to return in this response (min: 1, max: 1000, default: 100). Use with the `after` parameter to manage pagination of results. + # @option opts [String] :sort Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> + # @option opts [Array] :facet Select various details blocks to be returned for each host entity. Supported values: <ul><li>system_insights</li><li>third_party</li><li>risk_factors</li></ul> + # @return [DomainDiscoverAPICombinedHostsResponse] + def combined_hosts(filter, opts = {}) + data, _status_code, _headers = combined_hosts_with_http_info(filter, opts) + data + end + + # Search for assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns details on assets which match the filter criteria. + # @param filter [String] Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, local_ips_count, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_count, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, data_providers_count, mac_addresses, local_ip_addresses, reduced_functionality_mode, number_of_disk_drives, processor_package_count, physical_core_count, logical_core_count, total_disk_space, disk_sizes.disk_name, disk_sizes.disk_space, cpu_processor_name, total_memory, encryption_status, encrypted_drives, encrypted_drives_count, unencrypted_drives, unencrypted_drives_count, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, total_bios_files, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.mount_path, mount_storage_info.used_space, mount_storage_info.available_space, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, ad_user_account_control, account_enabled, creation_timestamp, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports wildcard (*): id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, mac_addresses, local_ip_addresses, reduced_functionality_mode, disk_sizes.disk_name, cpu_processor_name, encryption_status, encrypted_drives, unencrypted_drives, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, mount_storage_info.mount_path, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, account_enabled, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, last_seen_timestamp, local_ips_count, discoverer_count, confidence, number_of_disk_drives, processor_package_count, physical_core_count, data_providers_count, logical_core_count, total_disk_space, disk_sizes.disk_space, total_memory, encrypted_drives_count, unencrypted_drives_count, total_bios_files, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.used_space, mount_storage_info.available_space, ad_user_account_control, creation_timestamp All filter fields and operations supports negation (!). + # @param [Hash] opts the optional parameters + # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + # @option opts [Integer] :limit The number of asset IDs to return in this response (min: 1, max: 1000, default: 100). Use with the `after` parameter to manage pagination of results. + # @option opts [String] :sort Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> + # @option opts [Array] :facet Select various details blocks to be returned for each host entity. Supported values: <ul><li>system_insights</li><li>third_party</li><li>risk_factors</li></ul> + # @return [Array<(DomainDiscoverAPICombinedHostsResponse, Integer, Hash)>] DomainDiscoverAPICombinedHostsResponse data, response status code and response headers + def combined_hosts_with_http_info(filter, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DiscoverApi.combined_hosts ...' + end + # verify the required parameter 'filter' is set + if @api_client.config.client_side_validation && filter.nil? + fail ArgumentError, "Missing the required parameter 'filter' when calling DiscoverApi.combined_hosts" + end + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 1000 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DiscoverApi.combined_hosts, must be smaller than or equal to 1000.' + end + + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DiscoverApi.combined_hosts, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/discover/combined/hosts/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = filter + query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'facet'] = @api_client.build_collection_param(opts[:'facet'], :multi) if !opts[:'facet'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainDiscoverAPICombinedHostsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DiscoverApi.combined_hosts", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DiscoverApi#combined_hosts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Get details on accounts by providing one or more IDs. # @param ids [Array] One or more account IDs (max: 100). Find account IDs with GET `/discover/queries/accounts/v1` # @param [Hash] opts the optional parameters diff --git a/lib/crimson-falcon/api/discover_iot_api.rb b/lib/crimson-falcon/api/discover_iot_api.rb index 94ee70a3..9e1fc5a6 100644 --- a/lib/crimson-falcon/api/discover_iot_api.rb +++ b/lib/crimson-falcon/api/discover_iot_api.rb @@ -103,7 +103,7 @@ def get_iot_hosts_with_http_info(ids, opts = {}) # @option opts [Integer] :offset An offset used with the `limit` parameter to manage pagination of results. On your first request, don’t provide an `offset`. On subsequent requests, add previous `offset` with the previous `limit` to continue from that place in the results. # @option opts [Integer] :limit The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `offset` parameter to manage pagination of results. # @option opts [String] :sort Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> - # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). + # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers, local_ips_count, network_interfaces.local_ip, classification Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count, local_ips_count All filter fields and operations supports negation (!). # @return [MsaspecQueryResponse] def query_iot_hosts(opts = {}) data, _status_code, _headers = query_iot_hosts_with_http_info(opts) @@ -115,7 +115,7 @@ def query_iot_hosts(opts = {}) # @option opts [Integer] :offset An offset used with the `limit` parameter to manage pagination of results. On your first request, don’t provide an `offset`. On subsequent requests, add previous `offset` with the previous `limit` to continue from that place in the results. # @option opts [Integer] :limit The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `offset` parameter to manage pagination of results. # @option opts [String] :sort Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> - # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). + # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers, local_ips_count, network_interfaces.local_ip, classification Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count, local_ips_count All filter fields and operations supports negation (!). # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers def query_iot_hosts_with_http_info(opts = {}) if @api_client.config.debugging @@ -176,5 +176,80 @@ def query_iot_hosts_with_http_info(opts = {}) end return data, status_code, headers end + + # Search for IoT assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria. + # @param [Hash] opts the optional parameters + # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + # @option opts [Integer] :limit The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `after` parameter to manage pagination of results. + # @option opts [String] :sort Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> + # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). + # @return [DomainDiscoverAPIResponse] + def query_iot_hosts_v2(opts = {}) + data, _status_code, _headers = query_iot_hosts_v2_with_http_info(opts) + data + end + + # Search for IoT assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria. + # @param [Hash] opts the optional parameters + # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + # @option opts [Integer] :limit The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `after` parameter to manage pagination of results. + # @option opts [String] :sort Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> + # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). + # @return [Array<(DomainDiscoverAPIResponse, Integer, Hash)>] DomainDiscoverAPIResponse data, response status code and response headers + def query_iot_hosts_v2_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DiscoverIotApi.query_iot_hosts_v2 ...' + end + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DiscoverIotApi.query_iot_hosts_v2, must be smaller than or equal to 100.' + end + + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling DiscoverIotApi.query_iot_hosts_v2, must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/discover/queries/iot-hosts/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainDiscoverAPIResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DiscoverIotApi.query_iot_hosts_v2", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DiscoverIotApi#query_iot_hosts_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end end end diff --git a/lib/crimson-falcon/api/downloads_api_api.rb b/lib/crimson-falcon/api/downloads_api_api.rb new file mode 100644 index 00000000..fe3929f5 --- /dev/null +++ b/lib/crimson-falcon/api/downloads_api_api.rb @@ -0,0 +1,181 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class DownloadsApiApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Gets pre-signed URL for the file + # @param file_name [String] Name of the file to be downloaded + # @param file_version [String] Version of the file to be downloaded + # @param [Hash] opts the optional parameters + # @return [CommonEntitiesResponse] + def download_file(file_name, file_version, opts = {}) + data, _status_code, _headers = download_file_with_http_info(file_name, file_version, opts) + data + end + + # Gets pre-signed URL for the file + # @param file_name [String] Name of the file to be downloaded + # @param file_version [String] Version of the file to be downloaded + # @param [Hash] opts the optional parameters + # @return [Array<(CommonEntitiesResponse, Integer, Hash)>] CommonEntitiesResponse data, response status code and response headers + def download_file_with_http_info(file_name, file_version, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DownloadsApiApi.download_file ...' + end + # verify the required parameter 'file_name' is set + if @api_client.config.client_side_validation && file_name.nil? + fail ArgumentError, "Missing the required parameter 'file_name' when calling DownloadsApiApi.download_file" + end + # verify the required parameter 'file_version' is set + if @api_client.config.client_side_validation && file_version.nil? + fail ArgumentError, "Missing the required parameter 'file_version' when calling DownloadsApiApi.download_file" + end + # resource path + local_var_path = '/csdownloads/entities/files/download/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'file_name'] = file_name + query_params[:'file_version'] = file_version + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'CommonEntitiesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DownloadsApiApi.download_file", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DownloadsApiApi#download_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Enumerates a list of files available for CID + # @param [Hash] opts the optional parameters + # @option opts [String] :file_name Apply filtering on file name + # @option opts [String] :file_version Apply filtering on file version + # @option opts [String] :platform Apply filtering on file platform + # @option opts [String] :os Apply filtering on operating system + # @option opts [String] :arch Apply filtering on architecture + # @option opts [String] :category Apply filtering on file category + # @return [CommonEntitiesResponse] + def enumerate_file(opts = {}) + data, _status_code, _headers = enumerate_file_with_http_info(opts) + data + end + + # Enumerates a list of files available for CID + # @param [Hash] opts the optional parameters + # @option opts [String] :file_name Apply filtering on file name + # @option opts [String] :file_version Apply filtering on file version + # @option opts [String] :platform Apply filtering on file platform + # @option opts [String] :os Apply filtering on operating system + # @option opts [String] :arch Apply filtering on architecture + # @option opts [String] :category Apply filtering on file category + # @return [Array<(CommonEntitiesResponse, Integer, Hash)>] CommonEntitiesResponse data, response status code and response headers + def enumerate_file_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: DownloadsApiApi.enumerate_file ...' + end + # resource path + local_var_path = '/csdownloads/entities/files/enumerate/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'file_name'] = opts[:'file_name'] if !opts[:'file_name'].nil? + query_params[:'file_version'] = opts[:'file_version'] if !opts[:'file_version'].nil? + query_params[:'platform'] = opts[:'platform'] if !opts[:'platform'].nil? + query_params[:'os'] = opts[:'os'] if !opts[:'os'].nil? + query_params[:'arch'] = opts[:'arch'] if !opts[:'arch'].nil? + query_params[:'category'] = opts[:'category'] if !opts[:'category'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'CommonEntitiesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"DownloadsApiApi.enumerate_file", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: DownloadsApiApi#enumerate_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/exposure_management_api.rb b/lib/crimson-falcon/api/exposure_management_api.rb new file mode 100644 index 00000000..75db0c03 --- /dev/null +++ b/lib/crimson-falcon/api/exposure_management_api.rb @@ -0,0 +1,716 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class ExposureManagementApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Returns external assets aggregates. + # Returns external assets aggregates as specified via JSON in request body. + # @param body [Array] Aggregation specification. + # @param [Hash] opts the optional parameters + # @return [MsaAggregatesResponse] + def aggregate_external_assets(body, opts = {}) + data, _status_code, _headers = aggregate_external_assets_with_http_info(body, opts) + data + end + + # Returns external assets aggregates. + # Returns external assets aggregates as specified via JSON in request body. + # @param body [Array] Aggregation specification. + # @param [Hash] opts the optional parameters + # @return [Array<(MsaAggregatesResponse, Integer, Hash)>] MsaAggregatesResponse data, response status code and response headers + def aggregate_external_assets_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.aggregate_external_assets ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ExposureManagementApi.aggregate_external_assets" + end + # resource path + local_var_path = '/fem/aggregates/external-assets/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'MsaAggregatesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.aggregate_external_assets", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#aggregate_external_assets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Download the entire contents of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + # Download the entire contents of the blob. + # @param asset_id [String] The Asset ID + # @param hash [String] The File Hash + # @param [Hash] opts the optional parameters + # @return [Array] + def blob_download_external_assets(asset_id, hash, opts = {}) + data, _status_code, _headers = blob_download_external_assets_with_http_info(asset_id, hash, opts) + data + end + + # Download the entire contents of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + # Download the entire contents of the blob. + # @param asset_id [String] The Asset ID + # @param hash [String] The File Hash + # @param [Hash] opts the optional parameters + # @return [Array<(Array, Integer, Hash)>] Array data, response status code and response headers + def blob_download_external_assets_with_http_info(asset_id, hash, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.blob_download_external_assets ...' + end + # verify the required parameter 'asset_id' is set + if @api_client.config.client_side_validation && asset_id.nil? + fail ArgumentError, "Missing the required parameter 'asset_id' when calling ExposureManagementApi.blob_download_external_assets" + end + # verify the required parameter 'hash' is set + if @api_client.config.client_side_validation && hash.nil? + fail ArgumentError, "Missing the required parameter 'hash' when calling ExposureManagementApi.blob_download_external_assets" + end + # resource path + local_var_path = '/fem/entities/blobs-download/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'assetId'] = asset_id + query_params[:'hash'] = hash + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'Array' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.blob_download_external_assets", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#blob_download_external_assets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Download a preview of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + # Download a preview of the blob. + # @param asset_id [String] The Asset ID + # @param hash [String] The File Hash + # @param [Hash] opts the optional parameters + # @return [DomainExternalAssetsBlobAPITypeV1] + def blob_preview_external_assets(asset_id, hash, opts = {}) + data, _status_code, _headers = blob_preview_external_assets_with_http_info(asset_id, hash, opts) + data + end + + # Download a preview of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + # Download a preview of the blob. + # @param asset_id [String] The Asset ID + # @param hash [String] The File Hash + # @param [Hash] opts the optional parameters + # @return [Array<(DomainExternalAssetsBlobAPITypeV1, Integer, Hash)>] DomainExternalAssetsBlobAPITypeV1 data, response status code and response headers + def blob_preview_external_assets_with_http_info(asset_id, hash, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.blob_preview_external_assets ...' + end + # verify the required parameter 'asset_id' is set + if @api_client.config.client_side_validation && asset_id.nil? + fail ArgumentError, "Missing the required parameter 'asset_id' when calling ExposureManagementApi.blob_preview_external_assets" + end + # verify the required parameter 'hash' is set + if @api_client.config.client_side_validation && hash.nil? + fail ArgumentError, "Missing the required parameter 'hash' when calling ExposureManagementApi.blob_preview_external_assets" + end + # resource path + local_var_path = '/fem/entities/blobs-preview/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'assetId'] = asset_id + query_params[:'hash'] = hash + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainExternalAssetsBlobAPITypeV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.blob_preview_external_assets", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#blob_preview_external_assets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieves a list of ecosystem subsidiaries with their detailed information. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset Starting index of result set from which to return subsidiaries (default to 0) + # @option opts [Integer] :limit The maximum number of subsidiaries to return in the response. (default to 100) + # @option opts [String] :sort The field by which to sort the list of subsidiaries. Possible values:<ul><li>name</li><li>primary_domain</li></ul></br>Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). + # @option opts [String] :version_id The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. + # @return [DomainFemEcosystemSubsidiariesEntitiesResponse] + def combined_ecosystem_subsidiaries(opts = {}) + data, _status_code, _headers = combined_ecosystem_subsidiaries_with_http_info(opts) + data + end + + # Retrieves a list of ecosystem subsidiaries with their detailed information. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset Starting index of result set from which to return subsidiaries (default to 0) + # @option opts [Integer] :limit The maximum number of subsidiaries to return in the response. (default to 100) + # @option opts [String] :sort The field by which to sort the list of subsidiaries. Possible values:<ul><li>name</li><li>primary_domain</li></ul></br>Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). + # @option opts [String] :version_id The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. + # @return [Array<(DomainFemEcosystemSubsidiariesEntitiesResponse, Integer, Hash)>] DomainFemEcosystemSubsidiariesEntitiesResponse data, response status code and response headers + def combined_ecosystem_subsidiaries_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.combined_ecosystem_subsidiaries ...' + end + # resource path + local_var_path = '/fem/combined/ecosystem-subsidiaries/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'version_id'] = opts[:'version_id'] if !opts[:'version_id'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainFemEcosystemSubsidiariesEntitiesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.combined_ecosystem_subsidiaries", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#combined_ecosystem_subsidiaries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Delete multiple external assets. + # @param ids [Array] One or more asset IDs (max: 100). + # @param body [DomainExternalAssetAPIDeleteRequestV1] + # @param [Hash] opts the optional parameters + # @return [MsaspecQueryResponse] + def delete_external_assets(ids, body, opts = {}) + data, _status_code, _headers = delete_external_assets_with_http_info(ids, body, opts) + data + end + + # Delete multiple external assets. + # @param ids [Array] One or more asset IDs (max: 100). + # @param body [DomainExternalAssetAPIDeleteRequestV1] + # @param [Hash] opts the optional parameters + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def delete_external_assets_with_http_info(ids, body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.delete_external_assets ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling ExposureManagementApi.delete_external_assets" + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ExposureManagementApi.delete_external_assets" + end + # resource path + local_var_path = '/fem/entities/external-assets/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.delete_external_assets", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#delete_external_assets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieves detailed information about ecosystem subsidiaries by ID. + # @param ids [Array] One or more asset IDs (max: 100). Find ecosystem subsidiary IDs with GET `/fem/entities/ecosystem-subsidiaries/v1` + # @param [Hash] opts the optional parameters + # @option opts [String] :version_id The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. + # @return [DomainFemEcosystemSubsidiariesEntitiesResponse] + def get_ecosystem_subsidiaries(ids, opts = {}) + data, _status_code, _headers = get_ecosystem_subsidiaries_with_http_info(ids, opts) + data + end + + # Retrieves detailed information about ecosystem subsidiaries by ID. + # @param ids [Array] One or more asset IDs (max: 100). Find ecosystem subsidiary IDs with GET `/fem/entities/ecosystem-subsidiaries/v1` + # @param [Hash] opts the optional parameters + # @option opts [String] :version_id The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. + # @return [Array<(DomainFemEcosystemSubsidiariesEntitiesResponse, Integer, Hash)>] DomainFemEcosystemSubsidiariesEntitiesResponse data, response status code and response headers + def get_ecosystem_subsidiaries_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.get_ecosystem_subsidiaries ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling ExposureManagementApi.get_ecosystem_subsidiaries" + end + # resource path + local_var_path = '/fem/entities/ecosystem-subsidiaries/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + query_params[:'version_id'] = opts[:'version_id'] if !opts[:'version_id'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainFemEcosystemSubsidiariesEntitiesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.get_ecosystem_subsidiaries", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#get_ecosystem_subsidiaries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get details on external assets by providing one or more IDs. + # @param ids [Array] One or more asset IDs (max: 100). Find asset IDs with GET `/fem/queries/external-assets/v1` + # @param [Hash] opts the optional parameters + # @return [DomainExternalAssetsAPITypeV1] + def get_external_assets(ids, opts = {}) + data, _status_code, _headers = get_external_assets_with_http_info(ids, opts) + data + end + + # Get details on external assets by providing one or more IDs. + # @param ids [Array] One or more asset IDs (max: 100). Find asset IDs with GET `/fem/queries/external-assets/v1` + # @param [Hash] opts the optional parameters + # @return [Array<(DomainExternalAssetsAPITypeV1, Integer, Hash)>] DomainExternalAssetsAPITypeV1 data, response status code and response headers + def get_external_assets_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.get_external_assets ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling ExposureManagementApi.get_external_assets" + end + # resource path + local_var_path = '/fem/entities/external-assets/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainExternalAssetsAPITypeV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.get_external_assets", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#get_external_assets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Update the details of external assets. + # @param body [DomainExternalAssetAPIPatchRequestV1] + # @param [Hash] opts the optional parameters + # @return [DomainExternalAssetsAPITypeV1] + def patch_external_assets(body, opts = {}) + data, _status_code, _headers = patch_external_assets_with_http_info(body, opts) + data + end + + # Update the details of external assets. + # @param body [DomainExternalAssetAPIPatchRequestV1] + # @param [Hash] opts the optional parameters + # @return [Array<(DomainExternalAssetsAPITypeV1, Integer, Hash)>] DomainExternalAssetsAPITypeV1 data, response status code and response headers + def patch_external_assets_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.patch_external_assets ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling ExposureManagementApi.patch_external_assets" + end + # resource path + local_var_path = '/fem/entities/external-assets/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'DomainExternalAssetsAPITypeV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.patch_external_assets", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#patch_external_assets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieves a list of IDs for ecosystem subsidiaries. Use these IDs with the /entities/ecosystem-subsidiaries/v1 endpoints. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset Starting index of result set from which to return subsidiaries (default to 0) + # @option opts [Integer] :limit The maximum number of IDs to return in the response. (default to 100) + # @option opts [String] :sort The field by which to sort the list of IDs. Possible values:<ul><li>name</li><li>primary_domain</li></ul></br>Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). + # @option opts [String] :version_id The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. + # @return [DomainFemEcosystemSubsidiariesQueryResponse] + def query_ecosystem_subsidiaries(opts = {}) + data, _status_code, _headers = query_ecosystem_subsidiaries_with_http_info(opts) + data + end + + # Retrieves a list of IDs for ecosystem subsidiaries. Use these IDs with the /entities/ecosystem-subsidiaries/v1 endpoints. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset Starting index of result set from which to return subsidiaries (default to 0) + # @option opts [Integer] :limit The maximum number of IDs to return in the response. (default to 100) + # @option opts [String] :sort The field by which to sort the list of IDs. Possible values:<ul><li>name</li><li>primary_domain</li></ul></br>Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). + # @option opts [String] :version_id The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. + # @return [Array<(DomainFemEcosystemSubsidiariesQueryResponse, Integer, Hash)>] DomainFemEcosystemSubsidiariesQueryResponse data, response status code and response headers + def query_ecosystem_subsidiaries_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.query_ecosystem_subsidiaries ...' + end + # resource path + local_var_path = '/fem/queries/ecosystem-subsidiaries/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'version_id'] = opts[:'version_id'] if !opts[:'version_id'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainFemEcosystemSubsidiariesQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.query_ecosystem_subsidiaries", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#query_ecosystem_subsidiaries\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get a list of external asset IDs that match the provided filter conditions. Use these IDs with the /entities/external-assets/v1 endpoints + # @param [Hash] opts the optional parameters + # @option opts [String] :offset Starting index of result set from which to return IDs. + # @option opts [Integer] :limit Number of IDs to return. + # @option opts [String] :sort Order by fields. + # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>asset_type:'ip'</li><li>last_seen_timestamp:>'now-7d'</li></ul> </br>Available filter fields that support exact match: asset_id, asset_type, confidence, connectivity_status, criticality, criticality_description, criticality_timestamp, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.last_seen, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, first_seen, id, internet_exposure, ip.asn, ip.cloud_provider, ip.cloud_vm.description, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.first_seen, ip.services.last_seen, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, last_seen, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by, triage.updated_timestamp </br>Available filter fields that supports wildcard (*): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by </br>Available filter fields that supports in ([v1, v2]): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by </br>Available filter fields that supports range comparisons (>, <, >=, <=): criticality_timestamp, dns_domain.resolved_ips, dns_domain.services.first_seen, dns_domain.services.last_seen, dns_domain.services.port, dns_domain.services.status_code, first_seen, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.ip_address, ip.services.first_seen, ip.services.last_seen, ip.services.port, ip.services.status_code, last_seen, triage.updated_timestamp </br>All filter fields and operations supports negation (!). + # @return [MsaspecQueryResponse] + def query_external_assets(opts = {}) + data, _status_code, _headers = query_external_assets_with_http_info(opts) + data + end + + # Get a list of external asset IDs that match the provided filter conditions. Use these IDs with the /entities/external-assets/v1 endpoints + # @param [Hash] opts the optional parameters + # @option opts [String] :offset Starting index of result set from which to return IDs. + # @option opts [Integer] :limit Number of IDs to return. + # @option opts [String] :sort Order by fields. + # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>asset_type:'ip'</li><li>last_seen_timestamp:>'now-7d'</li></ul> </br>Available filter fields that support exact match: asset_id, asset_type, confidence, connectivity_status, criticality, criticality_description, criticality_timestamp, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.last_seen, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, first_seen, id, internet_exposure, ip.asn, ip.cloud_provider, ip.cloud_vm.description, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.first_seen, ip.services.last_seen, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, last_seen, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by, triage.updated_timestamp </br>Available filter fields that supports wildcard (*): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by </br>Available filter fields that supports in ([v1, v2]): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by </br>Available filter fields that supports range comparisons (>, <, >=, <=): criticality_timestamp, dns_domain.resolved_ips, dns_domain.services.first_seen, dns_domain.services.last_seen, dns_domain.services.port, dns_domain.services.status_code, first_seen, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.ip_address, ip.services.first_seen, ip.services.last_seen, ip.services.port, ip.services.status_code, last_seen, triage.updated_timestamp </br>All filter fields and operations supports negation (!). + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def query_external_assets_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ExposureManagementApi.query_external_assets ...' + end + # resource path + local_var_path = '/fem/queries/external-assets/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ExposureManagementApi.query_external_assets", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ExposureManagementApi#query_external_assets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/falcon_complete_dashboard_api.rb b/lib/crimson-falcon/api/falcon_complete_dashboard_api.rb index b8feda6c..2fbdad1b 100644 --- a/lib/crimson-falcon/api/falcon_complete_dashboard_api.rb +++ b/lib/crimson-falcon/api/falcon_complete_dashboard_api.rb @@ -698,6 +698,72 @@ def aggregate_sensor_update_policy_with_http_info(body, opts = {}) return data, status_code, headers end + # Retrieve aggregate support issue ticket values based on the matched filter + # @param body [Array] + # @param [Hash] opts the optional parameters + # @return [MsaAggregatesResponse] + def aggregate_support_issues(body, opts = {}) + data, _status_code, _headers = aggregate_support_issues_with_http_info(body, opts) + data + end + + # Retrieve aggregate support issue ticket values based on the matched filter + # @param body [Array] + # @param [Hash] opts the optional parameters + # @return [Array<(MsaAggregatesResponse, Integer, Hash)>] MsaAggregatesResponse data, response status code and response headers + def aggregate_support_issues_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FalconCompleteDashboardApi.aggregate_support_issues ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling FalconCompleteDashboardApi.aggregate_support_issues" + end + # resource path + local_var_path = '/falcon-complete-dashboards/aggregates/support-issues/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'MsaAggregatesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FalconCompleteDashboardApi.aggregate_support_issues", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FalconCompleteDashboardApi#aggregate_support_issues\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Retrieve aggregate total host/devices based on the matched filter # @param body [Array] # @param [Hash] opts the optional parameters @@ -770,7 +836,7 @@ def aggregate_total_device_counts_with_http_info(body, opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] def get_device_count_collection_queries_by_filter(opts = {}) data, _status_code, _headers = get_device_count_collection_queries_by_filter_with_http_info(opts) data @@ -782,7 +848,7 @@ def get_device_count_collection_queries_by_filter(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + # @return [Array<(MsaQueryResponse, Integer, Hash)>] MsaQueryResponse data, response status code and response headers def get_device_count_collection_queries_by_filter_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FalconCompleteDashboardApi.get_device_count_collection_queries_by_filter ...' @@ -809,7 +875,7 @@ def get_device_count_collection_queries_by_filter_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + return_type = opts[:debug_return_type] || 'MsaQueryResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -837,7 +903,7 @@ def get_device_count_collection_queries_by_filter_with_http_info(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] def query_alert_ids_by_filter(opts = {}) data, _status_code, _headers = query_alert_ids_by_filter_with_http_info(opts) data @@ -849,7 +915,7 @@ def query_alert_ids_by_filter(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + # @return [Array<(MsaQueryResponse, Integer, Hash)>] MsaQueryResponse data, response status code and response headers def query_alert_ids_by_filter_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FalconCompleteDashboardApi.query_alert_ids_by_filter ...' @@ -876,7 +942,7 @@ def query_alert_ids_by_filter_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + return_type = opts[:debug_return_type] || 'MsaQueryResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -904,7 +970,7 @@ def query_alert_ids_by_filter_with_http_info(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] def query_allow_list_filter(opts = {}) data, _status_code, _headers = query_allow_list_filter_with_http_info(opts) data @@ -916,7 +982,7 @@ def query_allow_list_filter(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + # @return [Array<(MsaQueryResponse, Integer, Hash)>] MsaQueryResponse data, response status code and response headers def query_allow_list_filter_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FalconCompleteDashboardApi.query_allow_list_filter ...' @@ -943,7 +1009,7 @@ def query_allow_list_filter_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + return_type = opts[:debug_return_type] || 'MsaQueryResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -971,7 +1037,7 @@ def query_allow_list_filter_with_http_info(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] def query_block_list_filter(opts = {}) data, _status_code, _headers = query_block_list_filter_with_http_info(opts) data @@ -983,7 +1049,7 @@ def query_block_list_filter(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + # @return [Array<(MsaQueryResponse, Integer, Hash)>] MsaQueryResponse data, response status code and response headers def query_block_list_filter_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FalconCompleteDashboardApi.query_block_list_filter ...' @@ -1010,7 +1076,7 @@ def query_block_list_filter_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + return_type = opts[:debug_return_type] || 'MsaQueryResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -1038,7 +1104,7 @@ def query_block_list_filter_with_http_info(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] def query_detection_ids_by_filter(opts = {}) data, _status_code, _headers = query_detection_ids_by_filter_with_http_info(opts) data @@ -1050,7 +1116,7 @@ def query_detection_ids_by_filter(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + # @return [Array<(MsaQueryResponse, Integer, Hash)>] MsaQueryResponse data, response status code and response headers def query_detection_ids_by_filter_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FalconCompleteDashboardApi.query_detection_ids_by_filter ...' @@ -1077,7 +1143,7 @@ def query_detection_ids_by_filter_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + return_type = opts[:debug_return_type] || 'MsaQueryResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -1105,7 +1171,7 @@ def query_detection_ids_by_filter_with_http_info(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] def query_escalations_filter(opts = {}) data, _status_code, _headers = query_escalations_filter_with_http_info(opts) data @@ -1117,7 +1183,7 @@ def query_escalations_filter(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + # @return [Array<(MsaQueryResponse, Integer, Hash)>] MsaQueryResponse data, response status code and response headers def query_escalations_filter_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FalconCompleteDashboardApi.query_escalations_filter ...' @@ -1144,7 +1210,7 @@ def query_escalations_filter_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + return_type = opts[:debug_return_type] || 'MsaQueryResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -1172,7 +1238,7 @@ def query_escalations_filter_with_http_info(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] def query_incident_ids_by_filter(opts = {}) data, _status_code, _headers = query_incident_ids_by_filter_with_http_info(opts) data @@ -1184,7 +1250,7 @@ def query_incident_ids_by_filter(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + # @return [Array<(MsaQueryResponse, Integer, Hash)>] MsaQueryResponse data, response status code and response headers def query_incident_ids_by_filter_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FalconCompleteDashboardApi.query_incident_ids_by_filter ...' @@ -1211,7 +1277,7 @@ def query_incident_ids_by_filter_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + return_type = opts[:debug_return_type] || 'MsaQueryResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -1239,7 +1305,7 @@ def query_incident_ids_by_filter_with_http_info(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] def query_remediations_filter(opts = {}) data, _status_code, _headers = query_remediations_filter_with_http_info(opts) data @@ -1251,7 +1317,7 @@ def query_remediations_filter(opts = {}) # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + # @return [Array<(MsaQueryResponse, Integer, Hash)>] MsaQueryResponse data, response status code and response headers def query_remediations_filter_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FalconCompleteDashboardApi.query_remediations_filter ...' @@ -1278,7 +1344,7 @@ def query_remediations_filter_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + return_type = opts[:debug_return_type] || 'MsaQueryResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] diff --git a/lib/crimson-falcon/api/falcon_container_image_api.rb b/lib/crimson-falcon/api/falcon_container_image_api.rb index 7b4489c7..418a5bd8 100644 --- a/lib/crimson-falcon/api/falcon_container_image_api.rb +++ b/lib/crimson-falcon/api/falcon_container_image_api.rb @@ -164,6 +164,254 @@ def delete_registry_entities_with_http_info(ids, opts = {}) return data, status_code, headers end + # Download an export file + # @param id [String] Export job ID. + # @param [Hash] opts the optional parameters + # @return [Array] + def download_export_file(id, opts = {}) + data, _status_code, _headers = download_export_file_with_http_info(id, opts) + data + end + + # Download an export file + # @param id [String] Export job ID. + # @param [Hash] opts the optional parameters + # @return [Array<(Array, Integer, Hash)>] Array data, response status code and response headers + def download_export_file_with_http_info(id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FalconContainerImageApi.download_export_file ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling FalconContainerImageApi.download_export_file" + end + # resource path + local_var_path = '/container-security/entities/exports/files/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'id'] = id + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/octet-stream']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'Array' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FalconContainerImageApi.download_export_file", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FalconContainerImageApi#download_export_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Launch an export job of a Container Security resource. Maximum of 1 job in progress per resource + # @param body [ExportsLaunchExportRequest] Supported resources: - `assets.clusters` - `assets.containers` - `assets.deployments` - `assets.images` - `assets.namespaces` - `assets.nodes` - `assets.pods` - `images.images-assessment-expanded` - `images.images-assessment` - `images.images-detections` - `images.packages` - `images.vulnerabilities` - `investigate.container-alerts` - `investigate.drift-indicators` - `investigate.kubernetes-ioms` - `investigate.runtime-detections` - `investigate.unidentified-containers` - `network.events` - `policies.exclusions` + # @param [Hash] opts the optional parameters + # @return [ExportsLaunchExportResponse] + def launch_export_job(body, opts = {}) + data, _status_code, _headers = launch_export_job_with_http_info(body, opts) + data + end + + # Launch an export job of a Container Security resource. Maximum of 1 job in progress per resource + # @param body [ExportsLaunchExportRequest] Supported resources: - `assets.clusters` - `assets.containers` - `assets.deployments` - `assets.images` - `assets.namespaces` - `assets.nodes` - `assets.pods` - `images.images-assessment-expanded` - `images.images-assessment` - `images.images-detections` - `images.packages` - `images.vulnerabilities` - `investigate.container-alerts` - `investigate.drift-indicators` - `investigate.kubernetes-ioms` - `investigate.runtime-detections` - `investigate.unidentified-containers` - `network.events` - `policies.exclusions` + # @param [Hash] opts the optional parameters + # @return [Array<(ExportsLaunchExportResponse, Integer, Hash)>] ExportsLaunchExportResponse data, response status code and response headers + def launch_export_job_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FalconContainerImageApi.launch_export_job ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling FalconContainerImageApi.launch_export_job" + end + # resource path + local_var_path = '/container-security/entities/exports/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ExportsLaunchExportResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FalconContainerImageApi.launch_export_job", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FalconContainerImageApi#launch_export_job\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Query export jobs entities + # @param [Hash] opts the optional parameters + # @option opts [String] :filter FQL query specifying the filter parameters. Only the last 100 jobs are returned. Supported filters: - `resource`: (string) - `status`: (string) + # @return [MsaspecQueryResponse] + def query_export_jobs(opts = {}) + data, _status_code, _headers = query_export_jobs_with_http_info(opts) + data + end + + # Query export jobs entities + # @param [Hash] opts the optional parameters + # @option opts [String] :filter FQL query specifying the filter parameters. Only the last 100 jobs are returned. Supported filters: - `resource`: (string) - `status`: (string) + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def query_export_jobs_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FalconContainerImageApi.query_export_jobs ...' + end + # resource path + local_var_path = '/container-security/queries/exports/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FalconContainerImageApi.query_export_jobs", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FalconContainerImageApi#query_export_jobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Read export jobs entities + # @param ids [Array] Export Job IDs to read. Allowed up to 100 IDs per request. + # @param [Hash] opts the optional parameters + # @return [ExportsExportsResponse] + def read_export_jobs(ids, opts = {}) + data, _status_code, _headers = read_export_jobs_with_http_info(ids, opts) + data + end + + # Read export jobs entities + # @param ids [Array] Export Job IDs to read. Allowed up to 100 IDs per request. + # @param [Hash] opts the optional parameters + # @return [Array<(ExportsExportsResponse, Integer, Hash)>] ExportsExportsResponse data, response status code and response headers + def read_export_jobs_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FalconContainerImageApi.read_export_jobs ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling FalconContainerImageApi.read_export_jobs" + end + # resource path + local_var_path = '/container-security/entities/exports/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :csv) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ExportsExportsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FalconContainerImageApi.read_export_jobs", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FalconContainerImageApi#read_export_jobs\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Retrieve registry entities identified by the customer id # @param [Hash] opts the optional parameters # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. diff --git a/lib/crimson-falcon/api/falconx_sandbox_api.rb b/lib/crimson-falcon/api/falconx_sandbox_api.rb index e7985e57..9a129cb1 100644 --- a/lib/crimson-falcon/api/falconx_sandbox_api.rb +++ b/lib/crimson-falcon/api/falconx_sandbox_api.rb @@ -823,8 +823,8 @@ def query_sample_v1_with_http_info(body, opts = {}) # @option opts [Integer] :limit Maximum number of submission IDs to return. Max: 5000. # @option opts [String] :sort Sort order: `asc` or `desc`. # @return [MsaspecQueryResponse] - def query_submissions(opts = {}) - data, _status_code, _headers = query_submissions_with_http_info(opts) + def query_submissions_mixin0(opts = {}) + data, _status_code, _headers = query_submissions_mixin0_with_http_info(opts) data end @@ -835,9 +835,9 @@ def query_submissions(opts = {}) # @option opts [Integer] :limit Maximum number of submission IDs to return. Max: 5000. # @option opts [String] :sort Sort order: `asc` or `desc`. # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers - def query_submissions_with_http_info(opts = {}) + def query_submissions_mixin0_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: FalconxSandboxApi.query_submissions ...' + @api_client.config.logger.debug 'Calling API: FalconxSandboxApi.query_submissions_mixin0 ...' end # resource path local_var_path = '/falconx/queries/submissions/v1' @@ -867,7 +867,7 @@ def query_submissions_with_http_info(opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"FalconxSandboxApi.query_submissions", + :operation => :"FalconxSandboxApi.query_submissions_mixin0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -878,14 +878,15 @@ def query_submissions_with_http_info(opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: FalconxSandboxApi#query_submissions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: FalconxSandboxApi#query_submissions_mixin0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Submit an uploaded file or a URL for sandbox analysis. Time required for analysis varies but is usually less than 15 minutes. - # @param body [FalconxSubmissionParametersV1] Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. + # @param body [FalconxSubmissionParametersV1] Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `410`: MacOS Sonoma ARM 64 bit - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. # @param [Hash] opts the optional parameters + # @option opts [String] :aid Agent ID # @return [FalconxSubmissionV1Response] def submit(body, opts = {}) data, _status_code, _headers = submit_with_http_info(body, opts) @@ -893,8 +894,9 @@ def submit(body, opts = {}) end # Submit an uploaded file or a URL for sandbox analysis. Time required for analysis varies but is usually less than 15 minutes. - # @param body [FalconxSubmissionParametersV1] Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. + # @param body [FalconxSubmissionParametersV1] Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `410`: MacOS Sonoma ARM 64 bit - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. # @param [Hash] opts the optional parameters + # @option opts [String] :aid Agent ID # @return [Array<(FalconxSubmissionV1Response, Integer, Hash)>] FalconxSubmissionV1Response data, response status code and response headers def submit_with_http_info(body, opts = {}) if @api_client.config.debugging @@ -909,6 +911,7 @@ def submit_with_http_info(body, opts = {}) # query parameters query_params = opts[:query_params] || {} + query_params[:'aid'] = opts[:'aid'] if !opts[:'aid'].nil? # header parameters header_params = opts[:header_params] || {} diff --git a/lib/crimson-falcon/api/filevantage_api.rb b/lib/crimson-falcon/api/filevantage_api.rb index 295b2f6d..26abd168 100644 --- a/lib/crimson-falcon/api/filevantage_api.rb +++ b/lib/crimson-falcon/api/filevantage_api.rb @@ -41,8 +41,8 @@ def initialize(api_client = ApiClient.default) # @param body [PoliciesCreateRequest] Create a new policy. * `name` must be between 1 and 100 characters. * `description` can be between 0 and 500 characters. * `platform` must be one of `Windows`, `Linux`, or `Mac` Rule and host group assignment and policy precedence setting is performed via their respective patch end-points. # @param [Hash] opts the optional parameters # @return [PoliciesResponse] - def create_policies(body, opts = {}) - data, _status_code, _headers = create_policies_with_http_info(body, opts) + def create_policies_0(body, opts = {}) + data, _status_code, _headers = create_policies_0_with_http_info(body, opts) data end @@ -51,13 +51,13 @@ def create_policies(body, opts = {}) # @param body [PoliciesCreateRequest] Create a new policy. * `name` must be between 1 and 100 characters. * `description` can be between 0 and 500 characters. * `platform` must be one of `Windows`, `Linux`, or `Mac` Rule and host group assignment and policy precedence setting is performed via their respective patch end-points. # @param [Hash] opts the optional parameters # @return [Array<(PoliciesResponse, Integer, Hash)>] PoliciesResponse data, response status code and response headers - def create_policies_with_http_info(body, opts = {}) + def create_policies_0_with_http_info(body, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: FilevantageApi.create_policies ...' + @api_client.config.logger.debug 'Calling API: FilevantageApi.create_policies_0 ...' end # verify the required parameter 'body' is set if @api_client.config.client_side_validation && body.nil? - fail ArgumentError, "Missing the required parameter 'body' when calling FilevantageApi.create_policies" + fail ArgumentError, "Missing the required parameter 'body' when calling FilevantageApi.create_policies_0" end # resource path local_var_path = '/filevantage/entities/policies/v1' @@ -88,7 +88,7 @@ def create_policies_with_http_info(body, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"FilevantageApi.create_policies", + :operation => :"FilevantageApi.create_policies_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -99,7 +99,7 @@ def create_policies_with_http_info(body, opts = {}) data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: FilevantageApi#create_policies\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: FilevantageApi#create_policies_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -174,7 +174,7 @@ def create_rule_groups_with_http_info(body, opts = {}) # Creates a new rule configuration within the specified rule group. # Creates a new rule configuration within the specified rule group. - # @param body [RulegroupsRule] Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` + # @param body [RulegroupsRule] Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_permissions_key_changes` * `watch_delete_value_changes` * `watch_create_file_changes` # @param [Hash] opts the optional parameters # @return [RulegroupsRulesResponse] def create_rules(body, opts = {}) @@ -184,7 +184,7 @@ def create_rules(body, opts = {}) # Creates a new rule configuration within the specified rule group. # Creates a new rule configuration within the specified rule group. - # @param body [RulegroupsRule] Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` + # @param body [RulegroupsRule] Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_permissions_key_changes` * `watch_delete_value_changes` * `watch_create_file_changes` # @param [Hash] opts the optional parameters # @return [Array<(RulegroupsRulesResponse, Integer, Hash)>] RulegroupsRulesResponse data, response status code and response headers def create_rules_with_http_info(body, opts = {}) @@ -578,11 +578,75 @@ def delete_scheduled_exclusions_with_http_info(policy_id, ids, opts = {}) return data, status_code, headers end + # Retrieves the processing results for 1 or more actions. + # The processing results of each action that match the provided ids will be returned. + # @param ids [Array] One or more actions ids in the form of `ids=ID1&ids=ID2` + # @param [Hash] opts the optional parameters + # @return [ActionsGetActionResponse] + def get_actions_mixin0(ids, opts = {}) + data, _status_code, _headers = get_actions_mixin0_with_http_info(ids, opts) + data + end + + # Retrieves the processing results for 1 or more actions. + # The processing results of each action that match the provided ids will be returned. + # @param ids [Array] One or more actions ids in the form of `ids=ID1&ids=ID2` + # @param [Hash] opts the optional parameters + # @return [Array<(ActionsGetActionResponse, Integer, Hash)>] ActionsGetActionResponse data, response status code and response headers + def get_actions_mixin0_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FilevantageApi.get_actions_mixin0 ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling FilevantageApi.get_actions_mixin0" + end + # resource path + local_var_path = '/filevantage/entities/actions/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ActionsGetActionResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FilevantageApi.get_actions_mixin0", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FilevantageApi#get_actions_mixin0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Retrieve information on changes # Retrieve key attributes of Falcon FileVantage changes for the specified ids. # @param ids [Array] One or more change ids in the form of `ids=ID1&ids=ID2`. The maximum number of ids that can be requested at once is `500`. # @param [Hash] opts the optional parameters - # @return [ChangesGetChangesResponse] + # @return [PublicGetChangesResponse] def get_changes(ids, opts = {}) data, _status_code, _headers = get_changes_with_http_info(ids, opts) data @@ -592,7 +656,7 @@ def get_changes(ids, opts = {}) # Retrieve key attributes of Falcon FileVantage changes for the specified ids. # @param ids [Array] One or more change ids in the form of `ids=ID1&ids=ID2`. The maximum number of ids that can be requested at once is `500`. # @param [Hash] opts the optional parameters - # @return [Array<(ChangesGetChangesResponse, Integer, Hash)>] ChangesGetChangesResponse data, response status code and response headers + # @return [Array<(PublicGetChangesResponse, Integer, Hash)>] PublicGetChangesResponse data, response status code and response headers def get_changes_with_http_info(ids, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: FilevantageApi.get_changes ...' @@ -628,7 +692,7 @@ def get_changes_with_http_info(ids, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'ChangesGetChangesResponse' + return_type = opts[:debug_return_type] || 'PublicGetChangesResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -650,6 +714,73 @@ def get_changes_with_http_info(ids, opts = {}) return data, status_code, headers end + # Retrieves the content captured for the provided change id + # Retrieves the before and after change content for the provided change id. + # @param id [String] ID of the change in the form of id=ID1 + # @param [Hash] opts the optional parameters + # @option opts [String] :accept_encoding Providing the value of `gzip` compresses the response, otherwise the content is returned uncompressed. + # @return [ContentchangesChangeContentsResponse] + def get_contents(id, opts = {}) + data, _status_code, _headers = get_contents_with_http_info(id, opts) + data + end + + # Retrieves the content captured for the provided change id + # Retrieves the before and after change content for the provided change id. + # @param id [String] ID of the change in the form of id=ID1 + # @param [Hash] opts the optional parameters + # @option opts [String] :accept_encoding Providing the value of `gzip` compresses the response, otherwise the content is returned uncompressed. + # @return [Array<(ContentchangesChangeContentsResponse, Integer, Hash)>] ContentchangesChangeContentsResponse data, response status code and response headers + def get_contents_with_http_info(id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FilevantageApi.get_contents ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling FilevantageApi.get_contents" + end + # resource path + local_var_path = '/filevantage/entities/change-content/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'id'] = id + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params[:'Accept-Encoding'] = opts[:'accept_encoding'] if !opts[:'accept_encoding'].nil? + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ContentchangesChangeContentsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FilevantageApi.get_contents", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FilevantageApi#get_contents\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Retrieves the configuration for 1 or more policies. # The configuration of each policy that match the provided id will be returned. # @param ids [Array] One or more (up to 500) policy ids in the form of `ids=ID1&ids=ID2` @@ -921,7 +1052,7 @@ def get_scheduled_exclusions_with_http_info(policy_id, ids, opts = {}) end # Returns 1 or more change ids - # Returns a list of Falcon FileVantage change IDs filtered, sorted and limited by the query parameters provided. It can retrieve an unlimited number of results using multiple requests. + # Returns a list of Falcon FileVantage change ids filtered, sorted and limited by the query parameters provided. It can retrieve an unlimited number of results using multiple requests. # @param [Hash] opts the optional parameters # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request don't provide a value for the `after` token. On subsequent requests provide the `after` token value from the previous response to continue pagination from where you left. If the response returns an empty `after` token it means there are no more results to return. # @option opts [Integer] :limit The maximum number of ids to return. Defaults to `100` if not specified. The maximum number of results that can be returned in a single call is `5000`. (default to 100) @@ -934,7 +1065,7 @@ def high_volume_query_changes(opts = {}) end # Returns 1 or more change ids - # Returns a list of Falcon FileVantage change IDs filtered, sorted and limited by the query parameters provided. It can retrieve an unlimited number of results using multiple requests. + # Returns a list of Falcon FileVantage change ids filtered, sorted and limited by the query parameters provided. It can retrieve an unlimited number of results using multiple requests. # @param [Hash] opts the optional parameters # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request don't provide a value for the `after` token. On subsequent requests provide the `after` token value from the previous response to continue pagination from where you left. If the response returns an empty `after` token it means there are no more results to return. # @option opts [Integer] :limit The maximum number of ids to return. Defaults to `100` if not specified. The maximum number of results that can be returned in a single call is `5000`. (default to 100) @@ -993,8 +1124,81 @@ def high_volume_query_changes_with_http_info(opts = {}) return data, status_code, headers end + # Returns one or more action ids + # Returns the list of action ids filtered, sorted, and limited to the query parameters provided. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The first action index to return in the response. If not provided it will default to '0'. Use with the `limit` parameter to manage pagination of results. + # @option opts [Integer] :limit The maximum number of actions to return in the response (default: 100; max: 500). Use with the `offset` parameter to manage pagination of results + # @option opts [String] :sort The sort expression that should be used to sort the results (e.g. created_date|desc) + # @option opts [String] :filter Filter changes using a query in Falcon Query Language (FQL). Common filter options include: - `status` - `operation_type` The full list of allowed filter parameters can be reviewed in our API documentation. + # @return [MsaspecQueryResponse] + def query_actions_mixin0(opts = {}) + data, _status_code, _headers = query_actions_mixin0_with_http_info(opts) + data + end + + # Returns one or more action ids + # Returns the list of action ids filtered, sorted, and limited to the query parameters provided. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The first action index to return in the response. If not provided it will default to '0'. Use with the `limit` parameter to manage pagination of results. + # @option opts [Integer] :limit The maximum number of actions to return in the response (default: 100; max: 500). Use with the `offset` parameter to manage pagination of results + # @option opts [String] :sort The sort expression that should be used to sort the results (e.g. created_date|desc) + # @option opts [String] :filter Filter changes using a query in Falcon Query Language (FQL). Common filter options include: - `status` - `operation_type` The full list of allowed filter parameters can be reviewed in our API documentation. + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def query_actions_mixin0_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FilevantageApi.query_actions_mixin0 ...' + end + if @api_client.config.client_side_validation && !opts[:'offset'].nil? && opts[:'offset'] < 0 + fail ArgumentError, 'invalid value for "opts[:"offset"]" when calling FilevantageApi.query_actions_mixin0, must be greater than or equal to 0.' + end + + # resource path + local_var_path = '/filevantage/queries/actions/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FilevantageApi.query_actions_mixin0", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FilevantageApi#query_actions_mixin0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Returns 1 or more change ids - # Returns a list of Falcon FileVantage change IDs filtered, sorted and limited by the query parameters provided. Using this endpoint you can retrieve up to `10000` results by using pagination with multiple requests. If you need to retrieve more than `10000` results consider using the `/queries/changes/v3` endpoint + # Returns a list of Falcon FileVantage change ids filtered, sorted and limited by the query parameters provided. Using this endpoint you can retrieve up to `10000` results by using pagination with multiple requests. If you need to retrieve more than `10000` results consider using the `/queries/changes/v3` endpoint # @param [Hash] opts the optional parameters # @option opts [Integer] :offset The offset to start retrieving records from. Defaults to `0` if not specified. (default to 0) # @option opts [Integer] :limit The maximum number of ids to return. Defaults to `100` if not specified. The maximum number of results that can be returned in a single call is `500`. (default to 100) @@ -1007,7 +1211,7 @@ def query_changes(opts = {}) end # Returns 1 or more change ids - # Returns a list of Falcon FileVantage change IDs filtered, sorted and limited by the query parameters provided. Using this endpoint you can retrieve up to `10000` results by using pagination with multiple requests. If you need to retrieve more than `10000` results consider using the `/queries/changes/v3` endpoint + # Returns a list of Falcon FileVantage change ids filtered, sorted and limited by the query parameters provided. Using this endpoint you can retrieve up to `10000` results by using pagination with multiple requests. If you need to retrieve more than `10000` results consider using the `/queries/changes/v3` endpoint # @param [Hash] opts the optional parameters # @option opts [Integer] :offset The offset to start retrieving records from. Defaults to `0` if not specified. (default to 0) # @option opts [Integer] :limit The maximum number of ids to return. Defaults to `100` if not specified. The maximum number of results that can be returned in a single call is `500`. (default to 100) @@ -1288,13 +1492,149 @@ def query_scheduled_exclusions_with_http_info(policy_id, opts = {}) return data, status_code, headers end + # Initiates workflows for the provided change ids + # Provides the ability to initiate workflows for the specified change ids. Only 100 change ids can be provided per workflow request. + # @param body [WorkflowRequest] Change ids to initiate the workflows; limited to 100 per request. + # @param [Hash] opts the optional parameters + # @return [WorkflowResponse] + def signal_changes_external(body, opts = {}) + data, _status_code, _headers = signal_changes_external_with_http_info(body, opts) + data + end + + # Initiates workflows for the provided change ids + # Provides the ability to initiate workflows for the specified change ids. Only 100 change ids can be provided per workflow request. + # @param body [WorkflowRequest] Change ids to initiate the workflows; limited to 100 per request. + # @param [Hash] opts the optional parameters + # @return [Array<(WorkflowResponse, Integer, Hash)>] WorkflowResponse data, response status code and response headers + def signal_changes_external_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FilevantageApi.signal_changes_external ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling FilevantageApi.signal_changes_external" + end + # resource path + local_var_path = '/filevantage/entities/workflow/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'WorkflowResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FilevantageApi.signal_changes_external", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FilevantageApi#signal_changes_external\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Initiates the specified action on the provided change ids + # Initiates the suppression, unsuppression, or purging of the provided change ids. Note that only 1 action may be initiated and active at a time. + # @param body [ActionsCreateActionRequest] Create a new action. * `operation` must be one of the `suppress`, `unsuppress`, or `purge` * `change_ids` represent the ids of the changes the operation will perform; limited to 100 ids per action * `comment` optional comment to describe the reason for the action + # @param [Hash] opts the optional parameters + # @return [ActionsActionResponse] + def start_actions(body, opts = {}) + data, _status_code, _headers = start_actions_with_http_info(body, opts) + data + end + + # Initiates the specified action on the provided change ids + # Initiates the suppression, unsuppression, or purging of the provided change ids. Note that only 1 action may be initiated and active at a time. + # @param body [ActionsCreateActionRequest] Create a new action. * `operation` must be one of the `suppress`, `unsuppress`, or `purge` * `change_ids` represent the ids of the changes the operation will perform; limited to 100 ids per action * `comment` optional comment to describe the reason for the action + # @param [Hash] opts the optional parameters + # @return [Array<(ActionsActionResponse, Integer, Hash)>] ActionsActionResponse data, response status code and response headers + def start_actions_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FilevantageApi.start_actions ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling FilevantageApi.start_actions" + end + # resource path + local_var_path = '/filevantage/entities/actions/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ActionsActionResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FilevantageApi.start_actions", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FilevantageApi#start_actions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Updates the general information of the provided policy. # Only name, description, and enabled status of the policy is allowed to be update. Rule and host group assignment is performed via their respective patch end points. # @param body [PoliciesUpdateRequest] Enables updates to the following fields for an existing policy. * `id` of the policy to update. * `name` must be between 1 and 100 characters. * `description` can be between 0 and 500 characters. * `platform` may not be modified after the policy is created. * `enabled` must be one of `true` or `false`. Rule and host group assignment and policy precedence setting is performed via their respective patch end-points. # @param [Hash] opts the optional parameters # @return [PoliciesResponse] - def update_policies(body, opts = {}) - data, _status_code, _headers = update_policies_with_http_info(body, opts) + def update_policies_0(body, opts = {}) + data, _status_code, _headers = update_policies_0_with_http_info(body, opts) data end @@ -1303,13 +1643,13 @@ def update_policies(body, opts = {}) # @param body [PoliciesUpdateRequest] Enables updates to the following fields for an existing policy. * `id` of the policy to update. * `name` must be between 1 and 100 characters. * `description` can be between 0 and 500 characters. * `platform` may not be modified after the policy is created. * `enabled` must be one of `true` or `false`. Rule and host group assignment and policy precedence setting is performed via their respective patch end-points. # @param [Hash] opts the optional parameters # @return [Array<(PoliciesResponse, Integer, Hash)>] PoliciesResponse data, response status code and response headers - def update_policies_with_http_info(body, opts = {}) + def update_policies_0_with_http_info(body, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: FilevantageApi.update_policies ...' + @api_client.config.logger.debug 'Calling API: FilevantageApi.update_policies_0 ...' end # verify the required parameter 'body' is set if @api_client.config.client_side_validation && body.nil? - fail ArgumentError, "Missing the required parameter 'body' when calling FilevantageApi.update_policies" + fail ArgumentError, "Missing the required parameter 'body' when calling FilevantageApi.update_policies_0" end # resource path local_var_path = '/filevantage/entities/policies/v1' @@ -1340,7 +1680,7 @@ def update_policies_with_http_info(body, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"FilevantageApi.update_policies", + :operation => :"FilevantageApi.update_policies_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -1351,7 +1691,7 @@ def update_policies_with_http_info(body, opts = {}) data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: FilevantageApi#update_policies\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: FilevantageApi#update_policies_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -1440,8 +1780,8 @@ def update_policy_host_groups_with_http_info(policy_id, action, ids, opts = {}) # @param type [String] The policy type for which to set the precedence order, must be one of `Windows`, `Linux` or `Mac`. # @param [Hash] opts the optional parameters # @return [PoliciesPrecedenceResponse] - def update_policy_precedence(ids, type, opts = {}) - data, _status_code, _headers = update_policy_precedence_with_http_info(ids, type, opts) + def update_policy_precedence_0(ids, type, opts = {}) + data, _status_code, _headers = update_policy_precedence_0_with_http_info(ids, type, opts) data end @@ -1451,17 +1791,17 @@ def update_policy_precedence(ids, type, opts = {}) # @param type [String] The policy type for which to set the precedence order, must be one of `Windows`, `Linux` or `Mac`. # @param [Hash] opts the optional parameters # @return [Array<(PoliciesPrecedenceResponse, Integer, Hash)>] PoliciesPrecedenceResponse data, response status code and response headers - def update_policy_precedence_with_http_info(ids, type, opts = {}) + def update_policy_precedence_0_with_http_info(ids, type, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: FilevantageApi.update_policy_precedence ...' + @api_client.config.logger.debug 'Calling API: FilevantageApi.update_policy_precedence_0 ...' end # verify the required parameter 'ids' is set if @api_client.config.client_side_validation && ids.nil? - fail ArgumentError, "Missing the required parameter 'ids' when calling FilevantageApi.update_policy_precedence" + fail ArgumentError, "Missing the required parameter 'ids' when calling FilevantageApi.update_policy_precedence_0" end # verify the required parameter 'type' is set if @api_client.config.client_side_validation && type.nil? - fail ArgumentError, "Missing the required parameter 'type' when calling FilevantageApi.update_policy_precedence" + fail ArgumentError, "Missing the required parameter 'type' when calling FilevantageApi.update_policy_precedence_0" end # resource path local_var_path = '/filevantage/entities/policies-precedence/v1' @@ -1489,7 +1829,7 @@ def update_policy_precedence_with_http_info(ids, type, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"FilevantageApi.update_policy_precedence", + :operation => :"FilevantageApi.update_policy_precedence_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -1500,7 +1840,7 @@ def update_policy_precedence_with_http_info(ids, type, opts = {}) data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: FilevantageApi#update_policy_precedence\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: FilevantageApi#update_policy_precedence_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -1724,7 +2064,7 @@ def update_rule_groups_with_http_info(body, opts = {}) # Updates the provided rule configuration within the specified rule group. # The rule must currently exist within the specified rule group. - # @param body [RulegroupsRule] Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` + # @param body [RulegroupsRule] Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` # @param [Hash] opts the optional parameters # @return [RulegroupsRulesResponse] def update_rules(body, opts = {}) @@ -1734,7 +2074,7 @@ def update_rules(body, opts = {}) # Updates the provided rule configuration within the specified rule group. # The rule must currently exist within the specified rule group. - # @param body [RulegroupsRule] Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` + # @param body [RulegroupsRule] Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` # @param [Hash] opts the optional parameters # @return [Array<(RulegroupsRulesResponse, Integer, Hash)>] RulegroupsRulesResponse data, response status code and response headers def update_rules_with_http_info(body, opts = {}) diff --git a/lib/crimson-falcon/api/firewall_management_api.rb b/lib/crimson-falcon/api/firewall_management_api.rb index 0b520f41..c47413d8 100644 --- a/lib/crimson-falcon/api/firewall_management_api.rb +++ b/lib/crimson-falcon/api/firewall_management_api.rb @@ -592,8 +592,8 @@ def delete_network_locations_with_http_info(ids, opts = {}) # @param [Hash] opts the optional parameters # @option opts [String] :comment Audit log comment for this action # @return [FwmgrApiQueryResponse] - def delete_rule_groups(ids, opts = {}) - data, _status_code, _headers = delete_rule_groups_with_http_info(ids, opts) + def delete_rule_groups_0(ids, opts = {}) + data, _status_code, _headers = delete_rule_groups_0_with_http_info(ids, opts) data end @@ -602,13 +602,13 @@ def delete_rule_groups(ids, opts = {}) # @param [Hash] opts the optional parameters # @option opts [String] :comment Audit log comment for this action # @return [Array<(FwmgrApiQueryResponse, Integer, Hash)>] FwmgrApiQueryResponse data, response status code and response headers - def delete_rule_groups_with_http_info(ids, opts = {}) + def delete_rule_groups_0_with_http_info(ids, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: FirewallManagementApi.delete_rule_groups ...' + @api_client.config.logger.debug 'Calling API: FirewallManagementApi.delete_rule_groups_0 ...' end # verify the required parameter 'ids' is set if @api_client.config.client_side_validation && ids.nil? - fail ArgumentError, "Missing the required parameter 'ids' when calling FirewallManagementApi.delete_rule_groups" + fail ArgumentError, "Missing the required parameter 'ids' when calling FirewallManagementApi.delete_rule_groups_0" end # resource path local_var_path = '/fwmgr/entities/rule-groups/v1' @@ -636,7 +636,7 @@ def delete_rule_groups_with_http_info(ids, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"FirewallManagementApi.delete_rule_groups", + :operation => :"FirewallManagementApi.delete_rule_groups_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -647,7 +647,7 @@ def delete_rule_groups_with_http_info(ids, opts = {}) data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: FirewallManagementApi#delete_rule_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: FirewallManagementApi#delete_rule_groups_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -1032,8 +1032,8 @@ def get_policy_containers_with_http_info(ids, opts = {}) # @param ids [Array] The IDs of the rule groups to retrieve # @param [Hash] opts the optional parameters # @return [FwmgrApiRuleGroupsResponse] - def get_rule_groups(ids, opts = {}) - data, _status_code, _headers = get_rule_groups_with_http_info(ids, opts) + def get_rule_groups_0(ids, opts = {}) + data, _status_code, _headers = get_rule_groups_0_with_http_info(ids, opts) data end @@ -1041,13 +1041,13 @@ def get_rule_groups(ids, opts = {}) # @param ids [Array] The IDs of the rule groups to retrieve # @param [Hash] opts the optional parameters # @return [Array<(FwmgrApiRuleGroupsResponse, Integer, Hash)>] FwmgrApiRuleGroupsResponse data, response status code and response headers - def get_rule_groups_with_http_info(ids, opts = {}) + def get_rule_groups_0_with_http_info(ids, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: FirewallManagementApi.get_rule_groups ...' + @api_client.config.logger.debug 'Calling API: FirewallManagementApi.get_rule_groups_0 ...' end # verify the required parameter 'ids' is set if @api_client.config.client_side_validation && ids.nil? - fail ArgumentError, "Missing the required parameter 'ids' when calling FirewallManagementApi.get_rule_groups" + fail ArgumentError, "Missing the required parameter 'ids' when calling FirewallManagementApi.get_rule_groups_0" end # resource path local_var_path = '/fwmgr/entities/rule-groups/v1' @@ -1074,7 +1074,7 @@ def get_rule_groups_with_http_info(ids, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"FirewallManagementApi.get_rule_groups", + :operation => :"FirewallManagementApi.get_rule_groups_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -1085,7 +1085,7 @@ def get_rule_groups_with_http_info(ids, opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: FirewallManagementApi#get_rule_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: FirewallManagementApi#get_rule_groups_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -1094,8 +1094,8 @@ def get_rule_groups_with_http_info(ids, opts = {}) # @param ids [Array] The rules to retrieve, identified by ID # @param [Hash] opts the optional parameters # @return [FwmgrApiRulesResponse] - def get_rules(ids, opts = {}) - data, _status_code, _headers = get_rules_with_http_info(ids, opts) + def get_rules_0(ids, opts = {}) + data, _status_code, _headers = get_rules_0_with_http_info(ids, opts) data end @@ -1103,13 +1103,13 @@ def get_rules(ids, opts = {}) # @param ids [Array] The rules to retrieve, identified by ID # @param [Hash] opts the optional parameters # @return [Array<(FwmgrApiRulesResponse, Integer, Hash)>] FwmgrApiRulesResponse data, response status code and response headers - def get_rules_with_http_info(ids, opts = {}) + def get_rules_0_with_http_info(ids, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: FirewallManagementApi.get_rules ...' + @api_client.config.logger.debug 'Calling API: FirewallManagementApi.get_rules_0 ...' end # verify the required parameter 'ids' is set if @api_client.config.client_side_validation && ids.nil? - fail ArgumentError, "Missing the required parameter 'ids' when calling FirewallManagementApi.get_rules" + fail ArgumentError, "Missing the required parameter 'ids' when calling FirewallManagementApi.get_rules_0" end # resource path local_var_path = '/fwmgr/entities/rules/v1' @@ -1136,7 +1136,7 @@ def get_rules_with_http_info(ids, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"FirewallManagementApi.get_rules", + :operation => :"FirewallManagementApi.get_rules_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -1147,7 +1147,7 @@ def get_rules_with_http_info(ids, opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: FirewallManagementApi#get_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: FirewallManagementApi#get_rules_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -1507,8 +1507,8 @@ def query_policy_rules_with_http_info(opts = {}) # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. # @option opts [Integer] :limit Number of ids to return. # @return [FwmgrApiQueryResponse] - def query_rule_groups(opts = {}) - data, _status_code, _headers = query_rule_groups_with_http_info(opts) + def query_rule_groups_0(opts = {}) + data, _status_code, _headers = query_rule_groups_0_with_http_info(opts) data end @@ -1521,9 +1521,9 @@ def query_rule_groups(opts = {}) # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. # @option opts [Integer] :limit Number of ids to return. # @return [Array<(FwmgrApiQueryResponse, Integer, Hash)>] FwmgrApiQueryResponse data, response status code and response headers - def query_rule_groups_with_http_info(opts = {}) + def query_rule_groups_0_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: FirewallManagementApi.query_rule_groups ...' + @api_client.config.logger.debug 'Calling API: FirewallManagementApi.query_rule_groups_0 ...' end # resource path local_var_path = '/fwmgr/queries/rule-groups/v1' @@ -1555,7 +1555,7 @@ def query_rule_groups_with_http_info(opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"FirewallManagementApi.query_rule_groups", + :operation => :"FirewallManagementApi.query_rule_groups_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -1566,7 +1566,7 @@ def query_rule_groups_with_http_info(opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: FirewallManagementApi#query_rule_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: FirewallManagementApi#query_rule_groups_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end diff --git a/lib/crimson-falcon/api/foundry_logscale_api.rb b/lib/crimson-falcon/api/foundry_logscale_api.rb index 531adbc8..8630beb1 100644 --- a/lib/crimson-falcon/api/foundry_logscale_api.rb +++ b/lib/crimson-falcon/api/foundry_logscale_api.rb @@ -42,8 +42,11 @@ def initialize(api_client = ApiClient.default) # @option opts [String] :app_id Application ID. # @option opts [Boolean] :include_schema_generation Include generated schemas in the response (default to false) # @option opts [Boolean] :include_test_data Include test data when executing searches (default to false) + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) # @option opts [String] :mode Mode to execute the query under. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] def create_saved_searches_dynamic_execute_alt_v1(body, opts = {}) data, _status_code, _headers = create_saved_searches_dynamic_execute_alt_v1_with_http_info(body, opts) @@ -56,8 +59,11 @@ def create_saved_searches_dynamic_execute_alt_v1(body, opts = {}) # @option opts [String] :app_id Application ID. # @option opts [Boolean] :include_schema_generation Include generated schemas in the response (default to false) # @option opts [Boolean] :include_test_data Include test data when executing searches (default to false) + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) # @option opts [String] :mode Mode to execute the query under. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [Array<(ApidomainQueryResponseWrapperV1, Integer, Hash)>] ApidomainQueryResponseWrapperV1 data, response status code and response headers def create_saved_searches_dynamic_execute_alt_v1_with_http_info(body, opts = {}) if @api_client.config.debugging @@ -71,6 +77,14 @@ def create_saved_searches_dynamic_execute_alt_v1_with_http_info(body, opts = {}) if @api_client.config.client_side_validation && opts[:'mode'] && !allowable_values.include?(opts[:'mode']) fail ArgumentError, "invalid value for \"mode\", must be one of #{allowable_values}" end + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length > 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.create_saved_searches_dynamic_execute_alt_v1, the character length must be smaller than or equal to 36.' + end + + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length < 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.create_saved_searches_dynamic_execute_alt_v1, the character length must be great than or equal to 36.' + end + # resource path local_var_path = '/loggingapi/entities/saved-searches-dynamic-execute/v1' @@ -79,6 +93,8 @@ def create_saved_searches_dynamic_execute_alt_v1_with_http_info(body, opts = {}) query_params[:'app_id'] = opts[:'app_id'] if !opts[:'app_id'].nil? query_params[:'include_schema_generation'] = opts[:'include_schema_generation'] if !opts[:'include_schema_generation'].nil? query_params[:'include_test_data'] = opts[:'include_test_data'] if !opts[:'include_test_data'].nil? + query_params[:'infer_json_types'] = opts[:'infer_json_types'] if !opts[:'infer_json_types'].nil? + query_params[:'match_response_schema'] = opts[:'match_response_schema'] if !opts[:'match_response_schema'].nil? query_params[:'metadata'] = opts[:'metadata'] if !opts[:'metadata'].nil? query_params[:'mode'] = opts[:'mode'] if !opts[:'mode'].nil? @@ -91,6 +107,7 @@ def create_saved_searches_dynamic_execute_alt_v1_with_http_info(body, opts = {}) if !content_type.nil? header_params['Content-Type'] = content_type end + header_params[:'X-CS-USERUUID'] = opts[:'x_cs_useruuid'] if !opts[:'x_cs_useruuid'].nil? # form parameters form_params = opts[:form_params] || {} @@ -127,8 +144,11 @@ def create_saved_searches_dynamic_execute_alt_v1_with_http_info(body, opts = {}) # @option opts [String] :app_id Application ID. # @option opts [Boolean] :include_schema_generation Include generated schemas in the response (default to false) # @option opts [Boolean] :include_test_data Include test data when executing searches (default to false) + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) # @option opts [String] :mode Mode to execute the query under. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] def create_saved_searches_dynamic_execute_v1(body, opts = {}) data, _status_code, _headers = create_saved_searches_dynamic_execute_v1_with_http_info(body, opts) @@ -141,8 +161,11 @@ def create_saved_searches_dynamic_execute_v1(body, opts = {}) # @option opts [String] :app_id Application ID. # @option opts [Boolean] :include_schema_generation Include generated schemas in the response (default to false) # @option opts [Boolean] :include_test_data Include test data when executing searches (default to false) + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) # @option opts [String] :mode Mode to execute the query under. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [Array<(ApidomainQueryResponseWrapperV1, Integer, Hash)>] ApidomainQueryResponseWrapperV1 data, response status code and response headers def create_saved_searches_dynamic_execute_v1_with_http_info(body, opts = {}) if @api_client.config.debugging @@ -156,6 +179,14 @@ def create_saved_searches_dynamic_execute_v1_with_http_info(body, opts = {}) if @api_client.config.client_side_validation && opts[:'mode'] && !allowable_values.include?(opts[:'mode']) fail ArgumentError, "invalid value for \"mode\", must be one of #{allowable_values}" end + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length > 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.create_saved_searches_dynamic_execute_v1, the character length must be smaller than or equal to 36.' + end + + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length < 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.create_saved_searches_dynamic_execute_v1, the character length must be great than or equal to 36.' + end + # resource path local_var_path = '/loggingapi/entities/saved-searches/execute-dynamic/v1' @@ -164,6 +195,8 @@ def create_saved_searches_dynamic_execute_v1_with_http_info(body, opts = {}) query_params[:'app_id'] = opts[:'app_id'] if !opts[:'app_id'].nil? query_params[:'include_schema_generation'] = opts[:'include_schema_generation'] if !opts[:'include_schema_generation'].nil? query_params[:'include_test_data'] = opts[:'include_test_data'] if !opts[:'include_test_data'].nil? + query_params[:'infer_json_types'] = opts[:'infer_json_types'] if !opts[:'infer_json_types'].nil? + query_params[:'match_response_schema'] = opts[:'match_response_schema'] if !opts[:'match_response_schema'].nil? query_params[:'metadata'] = opts[:'metadata'] if !opts[:'metadata'].nil? query_params[:'mode'] = opts[:'mode'] if !opts[:'mode'].nil? @@ -176,6 +209,7 @@ def create_saved_searches_dynamic_execute_v1_with_http_info(body, opts = {}) if !content_type.nil? header_params['Content-Type'] = content_type end + header_params[:'X-CS-USERUUID'] = opts[:'x_cs_useruuid'] if !opts[:'x_cs_useruuid'].nil? # form parameters form_params = opts[:form_params] || {} @@ -212,7 +246,10 @@ def create_saved_searches_dynamic_execute_v1_with_http_info(body, opts = {}) # @option opts [String] :app_id Application ID. # @option opts [Boolean] :detailed Whether to include search field details (default to false) # @option opts [Boolean] :include_test_data Include test data when executing searches (default to false) + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] def create_saved_searches_execute_alt_v1(body, opts = {}) data, _status_code, _headers = create_saved_searches_execute_alt_v1_with_http_info(body, opts) @@ -225,7 +262,10 @@ def create_saved_searches_execute_alt_v1(body, opts = {}) # @option opts [String] :app_id Application ID. # @option opts [Boolean] :detailed Whether to include search field details (default to false) # @option opts [Boolean] :include_test_data Include test data when executing searches (default to false) + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [Array<(ApidomainQueryResponseWrapperV1, Integer, Hash)>] ApidomainQueryResponseWrapperV1 data, response status code and response headers def create_saved_searches_execute_alt_v1_with_http_info(body, opts = {}) if @api_client.config.debugging @@ -235,6 +275,14 @@ def create_saved_searches_execute_alt_v1_with_http_info(body, opts = {}) if @api_client.config.client_side_validation && body.nil? fail ArgumentError, "Missing the required parameter 'body' when calling FoundryLogscaleApi.create_saved_searches_execute_alt_v1" end + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length > 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.create_saved_searches_execute_alt_v1, the character length must be smaller than or equal to 36.' + end + + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length < 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.create_saved_searches_execute_alt_v1, the character length must be great than or equal to 36.' + end + # resource path local_var_path = '/loggingapi/entities/saved-searches-execute/v1' @@ -243,6 +291,8 @@ def create_saved_searches_execute_alt_v1_with_http_info(body, opts = {}) query_params[:'app_id'] = opts[:'app_id'] if !opts[:'app_id'].nil? query_params[:'detailed'] = opts[:'detailed'] if !opts[:'detailed'].nil? query_params[:'include_test_data'] = opts[:'include_test_data'] if !opts[:'include_test_data'].nil? + query_params[:'infer_json_types'] = opts[:'infer_json_types'] if !opts[:'infer_json_types'].nil? + query_params[:'match_response_schema'] = opts[:'match_response_schema'] if !opts[:'match_response_schema'].nil? query_params[:'metadata'] = opts[:'metadata'] if !opts[:'metadata'].nil? # header parameters @@ -254,6 +304,7 @@ def create_saved_searches_execute_alt_v1_with_http_info(body, opts = {}) if !content_type.nil? header_params['Content-Type'] = content_type end + header_params[:'X-CS-USERUUID'] = opts[:'x_cs_useruuid'] if !opts[:'x_cs_useruuid'].nil? # form parameters form_params = opts[:form_params] || {} @@ -290,7 +341,10 @@ def create_saved_searches_execute_alt_v1_with_http_info(body, opts = {}) # @option opts [String] :app_id Application ID. # @option opts [Boolean] :detailed Whether to include search field details (default to false) # @option opts [Boolean] :include_test_data Include test data when executing searches (default to false) + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] def create_saved_searches_execute_v1(body, opts = {}) data, _status_code, _headers = create_saved_searches_execute_v1_with_http_info(body, opts) @@ -303,7 +357,10 @@ def create_saved_searches_execute_v1(body, opts = {}) # @option opts [String] :app_id Application ID. # @option opts [Boolean] :detailed Whether to include search field details (default to false) # @option opts [Boolean] :include_test_data Include test data when executing searches (default to false) + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [Array<(ApidomainQueryResponseWrapperV1, Integer, Hash)>] ApidomainQueryResponseWrapperV1 data, response status code and response headers def create_saved_searches_execute_v1_with_http_info(body, opts = {}) if @api_client.config.debugging @@ -313,6 +370,14 @@ def create_saved_searches_execute_v1_with_http_info(body, opts = {}) if @api_client.config.client_side_validation && body.nil? fail ArgumentError, "Missing the required parameter 'body' when calling FoundryLogscaleApi.create_saved_searches_execute_v1" end + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length > 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.create_saved_searches_execute_v1, the character length must be smaller than or equal to 36.' + end + + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length < 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.create_saved_searches_execute_v1, the character length must be great than or equal to 36.' + end + # resource path local_var_path = '/loggingapi/entities/saved-searches/execute/v1' @@ -321,6 +386,8 @@ def create_saved_searches_execute_v1_with_http_info(body, opts = {}) query_params[:'app_id'] = opts[:'app_id'] if !opts[:'app_id'].nil? query_params[:'detailed'] = opts[:'detailed'] if !opts[:'detailed'].nil? query_params[:'include_test_data'] = opts[:'include_test_data'] if !opts[:'include_test_data'].nil? + query_params[:'infer_json_types'] = opts[:'infer_json_types'] if !opts[:'infer_json_types'].nil? + query_params[:'match_response_schema'] = opts[:'match_response_schema'] if !opts[:'match_response_schema'].nil? query_params[:'metadata'] = opts[:'metadata'] if !opts[:'metadata'].nil? # header parameters @@ -332,6 +399,7 @@ def create_saved_searches_execute_v1_with_http_info(body, opts = {}) if !content_type.nil? header_params['Content-Type'] = content_type end + header_params[:'X-CS-USERUUID'] = opts[:'x_cs_useruuid'] if !opts[:'x_cs_useruuid'].nil? # form parameters form_params = opts[:form_params] || {} @@ -482,9 +550,13 @@ def create_saved_searches_ingest_v1_with_http_info(opts = {}) # @param job_id [String] Job ID for a previously executed async query # @param [Hash] opts the optional parameters # @option opts [String] :app_id Application ID. + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :job_status_only If set to true, result rows are dropped from the response and only the job status is returned (default to false) # @option opts [String] :limit Maximum number of records to return. + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) # @option opts [String] :offset Starting pagination offset of records to return. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] def get_saved_searches_execute_alt_v1(job_id, opts = {}) data, _status_code, _headers = get_saved_searches_execute_alt_v1_with_http_info(job_id, opts) @@ -495,9 +567,13 @@ def get_saved_searches_execute_alt_v1(job_id, opts = {}) # @param job_id [String] Job ID for a previously executed async query # @param [Hash] opts the optional parameters # @option opts [String] :app_id Application ID. + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :job_status_only If set to true, result rows are dropped from the response and only the job status is returned (default to false) # @option opts [String] :limit Maximum number of records to return. + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) # @option opts [String] :offset Starting pagination offset of records to return. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [Array<(ApidomainQueryResponseWrapperV1, Integer, Hash)>] ApidomainQueryResponseWrapperV1 data, response status code and response headers def get_saved_searches_execute_alt_v1_with_http_info(job_id, opts = {}) if @api_client.config.debugging @@ -507,6 +583,14 @@ def get_saved_searches_execute_alt_v1_with_http_info(job_id, opts = {}) if @api_client.config.client_side_validation && job_id.nil? fail ArgumentError, "Missing the required parameter 'job_id' when calling FoundryLogscaleApi.get_saved_searches_execute_alt_v1" end + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length > 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.get_saved_searches_execute_alt_v1, the character length must be smaller than or equal to 36.' + end + + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length < 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.get_saved_searches_execute_alt_v1, the character length must be great than or equal to 36.' + end + # resource path local_var_path = '/loggingapi/entities/saved-searches-execute/v1' @@ -514,7 +598,10 @@ def get_saved_searches_execute_alt_v1_with_http_info(job_id, opts = {}) query_params = opts[:query_params] || {} query_params[:'job_id'] = job_id query_params[:'app_id'] = opts[:'app_id'] if !opts[:'app_id'].nil? + query_params[:'infer_json_types'] = opts[:'infer_json_types'] if !opts[:'infer_json_types'].nil? + query_params[:'job_status_only'] = opts[:'job_status_only'] if !opts[:'job_status_only'].nil? query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'match_response_schema'] = opts[:'match_response_schema'] if !opts[:'match_response_schema'].nil? query_params[:'metadata'] = opts[:'metadata'] if !opts[:'metadata'].nil? query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? @@ -522,6 +609,7 @@ def get_saved_searches_execute_alt_v1_with_http_info(job_id, opts = {}) header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params[:'X-CS-USERUUID'] = opts[:'x_cs_useruuid'] if !opts[:'x_cs_useruuid'].nil? # form parameters form_params = opts[:form_params] || {} @@ -556,9 +644,13 @@ def get_saved_searches_execute_alt_v1_with_http_info(job_id, opts = {}) # @param job_id [String] Job ID for a previously executed async query # @param [Hash] opts the optional parameters # @option opts [String] :app_id Application ID. + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :job_status_only If set to true, result rows are dropped from the response and only the job status is returned (default to false) # @option opts [String] :limit Maximum number of records to return. + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) # @option opts [String] :offset Starting pagination offset of records to return. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] def get_saved_searches_execute_v1(job_id, opts = {}) data, _status_code, _headers = get_saved_searches_execute_v1_with_http_info(job_id, opts) @@ -569,9 +661,13 @@ def get_saved_searches_execute_v1(job_id, opts = {}) # @param job_id [String] Job ID for a previously executed async query # @param [Hash] opts the optional parameters # @option opts [String] :app_id Application ID. + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) + # @option opts [Boolean] :job_status_only If set to true, result rows are dropped from the response and only the job status is returned (default to false) # @option opts [String] :limit Maximum number of records to return. + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema (default to false) # @option opts [Boolean] :metadata Whether to include metadata in the response (default to false) # @option opts [String] :offset Starting pagination offset of records to return. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [Array<(ApidomainQueryResponseWrapperV1, Integer, Hash)>] ApidomainQueryResponseWrapperV1 data, response status code and response headers def get_saved_searches_execute_v1_with_http_info(job_id, opts = {}) if @api_client.config.debugging @@ -581,6 +677,14 @@ def get_saved_searches_execute_v1_with_http_info(job_id, opts = {}) if @api_client.config.client_side_validation && job_id.nil? fail ArgumentError, "Missing the required parameter 'job_id' when calling FoundryLogscaleApi.get_saved_searches_execute_v1" end + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length > 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.get_saved_searches_execute_v1, the character length must be smaller than or equal to 36.' + end + + if @api_client.config.client_side_validation && !opts[:'x_cs_useruuid'].nil? && opts[:'x_cs_useruuid'].to_s.length < 36 + fail ArgumentError, 'invalid value for "opts[:"x_cs_useruuid"]" when calling FoundryLogscaleApi.get_saved_searches_execute_v1, the character length must be great than or equal to 36.' + end + # resource path local_var_path = '/loggingapi/entities/saved-searches/execute/v1' @@ -588,7 +692,10 @@ def get_saved_searches_execute_v1_with_http_info(job_id, opts = {}) query_params = opts[:query_params] || {} query_params[:'job_id'] = job_id query_params[:'app_id'] = opts[:'app_id'] if !opts[:'app_id'].nil? + query_params[:'infer_json_types'] = opts[:'infer_json_types'] if !opts[:'infer_json_types'].nil? + query_params[:'job_status_only'] = opts[:'job_status_only'] if !opts[:'job_status_only'].nil? query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'match_response_schema'] = opts[:'match_response_schema'] if !opts[:'match_response_schema'].nil? query_params[:'metadata'] = opts[:'metadata'] if !opts[:'metadata'].nil? query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? @@ -596,6 +703,7 @@ def get_saved_searches_execute_v1_with_http_info(job_id, opts = {}) header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) + header_params[:'X-CS-USERUUID'] = opts[:'x_cs_useruuid'] if !opts[:'x_cs_useruuid'].nil? # form parameters form_params = opts[:form_params] || {} @@ -629,6 +737,7 @@ def get_saved_searches_execute_v1_with_http_info(job_id, opts = {}) # Get the results of a saved search as a file # @param job_id [String] Job ID for a previously executed async query # @param [Hash] opts the optional parameters + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) # @option opts [String] :result_format Result Format # @return [File] def get_saved_searches_job_results_download_alt_v1(job_id, opts = {}) @@ -639,6 +748,7 @@ def get_saved_searches_job_results_download_alt_v1(job_id, opts = {}) # Get the results of a saved search as a file # @param job_id [String] Job ID for a previously executed async query # @param [Hash] opts the optional parameters + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) # @option opts [String] :result_format Result Format # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers def get_saved_searches_job_results_download_alt_v1_with_http_info(job_id, opts = {}) @@ -659,12 +769,13 @@ def get_saved_searches_job_results_download_alt_v1_with_http_info(job_id, opts = # query parameters query_params = opts[:query_params] || {} query_params[:'job_id'] = job_id + query_params[:'infer_json_types'] = opts[:'infer_json_types'] if !opts[:'infer_json_types'].nil? query_params[:'result_format'] = opts[:'result_format'] if !opts[:'result_format'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream']) + header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'text/csv', 'application/json']) # form parameters form_params = opts[:form_params] || {} @@ -698,6 +809,7 @@ def get_saved_searches_job_results_download_alt_v1_with_http_info(job_id, opts = # Get the results of a saved search as a file # @param job_id [String] Job ID for a previously executed async query # @param [Hash] opts the optional parameters + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) # @option opts [String] :result_format Result Format # @return [File] def get_saved_searches_job_results_download_v1(job_id, opts = {}) @@ -708,6 +820,7 @@ def get_saved_searches_job_results_download_v1(job_id, opts = {}) # Get the results of a saved search as a file # @param job_id [String] Job ID for a previously executed async query # @param [Hash] opts the optional parameters + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string (default to false) # @option opts [String] :result_format Result Format # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers def get_saved_searches_job_results_download_v1_with_http_info(job_id, opts = {}) @@ -728,12 +841,13 @@ def get_saved_searches_job_results_download_v1_with_http_info(job_id, opts = {}) # query parameters query_params = opts[:query_params] || {} query_params[:'job_id'] = job_id + query_params[:'infer_json_types'] = opts[:'infer_json_types'] if !opts[:'infer_json_types'].nil? query_params[:'result_format'] = opts[:'result_format'] if !opts[:'result_format'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream']) + header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'text/csv', 'application/json']) # form parameters form_params = opts[:form_params] || {} @@ -764,32 +878,108 @@ def get_saved_searches_job_results_download_v1_with_http_info(job_id, opts = {}) return data, status_code, headers end - # Ingest data into the application repository - # @param data_file [File] Data file to ingest + # Asynchronously ingest data into the application repository # @param [Hash] opts the optional parameters + # @option opts [String] :data_content JSON data to ingest + # @option opts [File] :data_file Data file to ingest + # @option opts [String] :repo Repository name if not part of a foundry app # @option opts [Array] :tag Custom tag for ingested data in the form tag:value # @option opts [String] :tag_source Tag the data with the specified source # @option opts [Boolean] :test_data Tag the data with test-ingest (default to false) # @return [ClientDataIngestResponseWrapperV1] - def ingest_data_v1(data_file, opts = {}) - data, _status_code, _headers = ingest_data_v1_with_http_info(data_file, opts) + def ingest_data_async_v1(opts = {}) + data, _status_code, _headers = ingest_data_async_v1_with_http_info(opts) data end - # Ingest data into the application repository - # @param data_file [File] Data file to ingest + # Asynchronously ingest data into the application repository # @param [Hash] opts the optional parameters + # @option opts [String] :data_content JSON data to ingest + # @option opts [File] :data_file Data file to ingest + # @option opts [String] :repo Repository name if not part of a foundry app # @option opts [Array] :tag Custom tag for ingested data in the form tag:value # @option opts [String] :tag_source Tag the data with the specified source # @option opts [Boolean] :test_data Tag the data with test-ingest (default to false) # @return [Array<(ClientDataIngestResponseWrapperV1, Integer, Hash)>] ClientDataIngestResponseWrapperV1 data, response status code and response headers - def ingest_data_v1_with_http_info(data_file, opts = {}) + def ingest_data_async_v1_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: FoundryLogscaleApi.ingest_data_v1 ...' + @api_client.config.logger.debug 'Calling API: FoundryLogscaleApi.ingest_data_async_v1 ...' end - # verify the required parameter 'data_file' is set - if @api_client.config.client_side_validation && data_file.nil? - fail ArgumentError, "Missing the required parameter 'data_file' when calling FoundryLogscaleApi.ingest_data_v1" + # resource path + local_var_path = '/loggingapi/entities/data-ingestion/ingest-async/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['multipart/form-data']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + form_params['data_content'] = opts[:'data_content'] if !opts[:'data_content'].nil? + form_params['data_file'] = opts[:'data_file'] if !opts[:'data_file'].nil? + form_params['repo'] = opts[:'repo'] if !opts[:'repo'].nil? + form_params['tag'] = @api_client.build_collection_param(opts[:'tag'], :csv) if !opts[:'tag'].nil? + form_params['tag_source'] = opts[:'tag_source'] if !opts[:'tag_source'].nil? + form_params['test_data'] = opts[:'test_data'] if !opts[:'test_data'].nil? + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ClientDataIngestResponseWrapperV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"FoundryLogscaleApi.ingest_data_async_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: FoundryLogscaleApi#ingest_data_async_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Synchronously ingest data into the application repository + # @param [Hash] opts the optional parameters + # @option opts [String] :data_content JSON data to ingest + # @option opts [File] :data_file Data file to ingest + # @option opts [Array] :tag Custom tag for ingested data in the form tag:value + # @option opts [String] :tag_source Tag the data with the specified source + # @option opts [Boolean] :test_data Tag the data with test-ingest (default to false) + # @return [ClientDataIngestResponseWrapperV1] + def ingest_data_v1(opts = {}) + data, _status_code, _headers = ingest_data_v1_with_http_info(opts) + data + end + + # Synchronously ingest data into the application repository + # @param [Hash] opts the optional parameters + # @option opts [String] :data_content JSON data to ingest + # @option opts [File] :data_file Data file to ingest + # @option opts [Array] :tag Custom tag for ingested data in the form tag:value + # @option opts [String] :tag_source Tag the data with the specified source + # @option opts [Boolean] :test_data Tag the data with test-ingest (default to false) + # @return [Array<(ClientDataIngestResponseWrapperV1, Integer, Hash)>] ClientDataIngestResponseWrapperV1 data, response status code and response headers + def ingest_data_v1_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: FoundryLogscaleApi.ingest_data_v1 ...' end # resource path local_var_path = '/loggingapi/entities/data-ingestion/ingest/v1' @@ -809,7 +999,8 @@ def ingest_data_v1_with_http_info(data_file, opts = {}) # form parameters form_params = opts[:form_params] || {} - form_params['data_file'] = data_file + form_params['data_content'] = opts[:'data_content'] if !opts[:'data_content'].nil? + form_params['data_file'] = opts[:'data_file'] if !opts[:'data_file'].nil? form_params['tag'] = @api_client.build_collection_param(opts[:'tag'], :csv) if !opts[:'tag'].nil? form_params['tag_source'] = opts[:'tag_source'] if !opts[:'tag_source'].nil? form_params['test_data'] = opts[:'test_data'] if !opts[:'test_data'].nil? diff --git a/lib/crimson-falcon/api/handle_api.rb b/lib/crimson-falcon/api/handle_api.rb new file mode 100644 index 00000000..d167cf3b --- /dev/null +++ b/lib/crimson-falcon/api/handle_api.rb @@ -0,0 +1,94 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class HandleApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # - Handle is responsible for producing the input message into the corresponded Kafka Topic + # @param [Hash] opts the optional parameters + # @return [Hash] + def handle(opts = {}) + data, _status_code, _headers = handle_with_http_info(opts) + data + end + + # - Handle is responsible for producing the input message into the corresponded Kafka Topic + # @param [Hash] opts the optional parameters + # @return [Array<(Hash, Integer, Hash)>] Hash data, response status code and response headers + def handle_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HandleApi.handle ...' + end + # resource path + local_var_path = '/data-security-dspm/entities/kafka-rest-produce/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'Hash' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HandleApi.handle", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HandleApi#handle\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/host_migration_api.rb b/lib/crimson-falcon/api/host_migration_api.rb new file mode 100644 index 00000000..09dc2b25 --- /dev/null +++ b/lib/crimson-falcon/api/host_migration_api.rb @@ -0,0 +1,759 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class HostMigrationApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Create a device migration job. + # `device_ids` and `filter` are mutually exclusive. Filter takes precedence. + # @param body [ApiCreateMigrationRequestV1] + # @param [Hash] opts the optional parameters + # @return [ApiCreateMigrationResponseV1] + def create_migration_v1(body, opts = {}) + data, _status_code, _headers = create_migration_v1_with_http_info(body, opts) + data + end + + # Create a device migration job. + # `device_ids` and `filter` are mutually exclusive. Filter takes precedence. + # @param body [ApiCreateMigrationRequestV1] + # @param [Hash] opts the optional parameters + # @return [Array<(ApiCreateMigrationResponseV1, Integer, Hash)>] ApiCreateMigrationResponseV1 data, response status code and response headers + def create_migration_v1_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.create_migration_v1 ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling HostMigrationApi.create_migration_v1" + end + # resource path + local_var_path = '/host-migration/entities/migrations/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ApiCreateMigrationResponseV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.create_migration_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#create_migration_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Query host migration IDs. + # Query host migration IDs. + # @param id [String] The migration job to query + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [Integer] :limit The maximum records to return. [1-10000] + # @option opts [String] :sort The property to sort by. + # @option opts [String] :filter The filter expression that should be used to limit the results. Valid fields: hostname, status, source_cid, id, created_time, groups, hostgroups, static_host_groups, target_cid, migration_id, host_migration_id + # @return [MsaspecQueryResponse] + def get_host_migration_ids_v1(id, opts = {}) + data, _status_code, _headers = get_host_migration_ids_v1_with_http_info(id, opts) + data + end + + # Query host migration IDs. + # Query host migration IDs. + # @param id [String] The migration job to query + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [Integer] :limit The maximum records to return. [1-10000] + # @option opts [String] :sort The property to sort by. + # @option opts [String] :filter The filter expression that should be used to limit the results. Valid fields: hostname, status, source_cid, id, created_time, groups, hostgroups, static_host_groups, target_cid, migration_id, host_migration_id + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def get_host_migration_ids_v1_with_http_info(id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.get_host_migration_ids_v1 ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling HostMigrationApi.get_host_migration_ids_v1" + end + allowable_values = ["migration_id|asc", "migration_id|desc", "migration_id", "host_migration_id|asc", "host_migration_id|desc", "host_migration_id", "target_cid|asc", "target_cid|desc", "target_cid", "hostgroups|asc", "hostgroups|desc", "hostgroups", "static_host_groups|asc", "static_host_groups|desc", "static_host_groups", "hostname|asc", "hostname|desc", "hostname", "status|asc", "status|desc", "status", "source_cid|asc", "source_cid|desc", "source_cid", "id|asc", "id|desc", "id", "created_time|asc", "created_time|desc", "created_time", "groups|asc", "groups|desc", "groups"] + if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort']) + fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/host-migration/queries/host-migrations/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'id'] = id + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.get_host_migration_ids_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#get_host_migration_ids_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get host migration details. + # # Events The `events` field describes actions that have occurred to the host migration entity. Each object is defined by the `action` field. When `user` is present, it is the user who performed the action. `time` is when the action occurred. ## Event actions ### added This action is emitted when the host migration is created. ``` { \"action\": \"added\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### assigned_static_host_groups This action is emitted when a user assigns static host groups to a host migration. `ids` are the ids of the new host groups that have been assigned. ``` { \"action\": \"assigned_static_host_groups\", \"ids\": [\"foo\", \"bar\"], \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### removed_static_host_groups This action is emitted when a user removes static host groups from a host migration. `ids` are the ids of the host groups that have been removed. ``` { \"action\": \"removed_static_host_groups\", \"ids\": [\"foo\", \"bar\"], \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### queued This action is emitted when the migration is started. ``` { \"action\": \"queued\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### failed This action is emitted when the host migration fails. `reason` is the reason for failure. `reason` can be `unsupported_sensor_version`, `unsupported_sensor_platform`, `host_missing`, `migration_expired`, or `internal_error`. ``` { \"action\": \"failed\", \"reason\": \"unsupported_sensor_version\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### cancelled This action is emitted when the migration has been cancelled. ``` { \"action\": \"cancelled\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### completed This action is emitted when the host has successfully migrated. ``` { \"action\": \"completed\", \"time\": \"2024-01-01T00:00:00Z\" } ``` # Status Details The `status_details` field is an optional field that provides some more details about the status of a failed host migration. It may be omitted or empty from a response. ### internal_error This status detail is provided when an internal occurs during a host migration. ### canceled_by_user This status detail is provided when a migration has been canceled by a user. ### host_missing This status detail is provided when a host migration is canceled because the source host can no longer be found. ### migration_expired This status detail is provided when a host migration is expired because the migration is too old. ### migration_already_in_progress This status detail is provided when attempting to start a host migration on a host that is already in progress in another migration. ### source_host_unsupported_version This status detail is provided when attempting to create or start a host migration when the sensor is on an unsupported version. ### source_host_unsupported_platform This status detail is provided when attempting to create or start a host migration when the sensor is an unsupported platform. + # @param body [MsaIdsRequest] + # @param [Hash] opts the optional parameters + # @return [ApiGetHostMigrationResponseV1] + def get_host_migrations_v1(body, opts = {}) + data, _status_code, _headers = get_host_migrations_v1_with_http_info(body, opts) + data + end + + # Get host migration details. + # # Events The `events` field describes actions that have occurred to the host migration entity. Each object is defined by the `action` field. When `user` is present, it is the user who performed the action. `time` is when the action occurred. ## Event actions ### added This action is emitted when the host migration is created. ``` { \"action\": \"added\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### assigned_static_host_groups This action is emitted when a user assigns static host groups to a host migration. `ids` are the ids of the new host groups that have been assigned. ``` { \"action\": \"assigned_static_host_groups\", \"ids\": [\"foo\", \"bar\"], \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### removed_static_host_groups This action is emitted when a user removes static host groups from a host migration. `ids` are the ids of the host groups that have been removed. ``` { \"action\": \"removed_static_host_groups\", \"ids\": [\"foo\", \"bar\"], \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### queued This action is emitted when the migration is started. ``` { \"action\": \"queued\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### failed This action is emitted when the host migration fails. `reason` is the reason for failure. `reason` can be `unsupported_sensor_version`, `unsupported_sensor_platform`, `host_missing`, `migration_expired`, or `internal_error`. ``` { \"action\": \"failed\", \"reason\": \"unsupported_sensor_version\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### cancelled This action is emitted when the migration has been cancelled. ``` { \"action\": \"cancelled\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### completed This action is emitted when the host has successfully migrated. ``` { \"action\": \"completed\", \"time\": \"2024-01-01T00:00:00Z\" } ``` # Status Details The `status_details` field is an optional field that provides some more details about the status of a failed host migration. It may be omitted or empty from a response. ### internal_error This status detail is provided when an internal occurs during a host migration. ### canceled_by_user This status detail is provided when a migration has been canceled by a user. ### host_missing This status detail is provided when a host migration is canceled because the source host can no longer be found. ### migration_expired This status detail is provided when a host migration is expired because the migration is too old. ### migration_already_in_progress This status detail is provided when attempting to start a host migration on a host that is already in progress in another migration. ### source_host_unsupported_version This status detail is provided when attempting to create or start a host migration when the sensor is on an unsupported version. ### source_host_unsupported_platform This status detail is provided when attempting to create or start a host migration when the sensor is an unsupported platform. + # @param body [MsaIdsRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(ApiGetHostMigrationResponseV1, Integer, Hash)>] ApiGetHostMigrationResponseV1 data, response status code and response headers + def get_host_migrations_v1_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.get_host_migrations_v1 ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling HostMigrationApi.get_host_migrations_v1" + end + # resource path + local_var_path = '/host-migration/entities/host-migrations/GET/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ApiGetHostMigrationResponseV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.get_host_migrations_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#get_host_migrations_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get destinations for a migration. + # `device_ids` and `filter` are mutually exclusive. + # @param body [ApiGetMigrationDestinationsRequestBodyV1] + # @param [Hash] opts the optional parameters + # @return [ApiGetMigrationDestinationsResponseV1] + def get_migration_destinations_v1(body, opts = {}) + data, _status_code, _headers = get_migration_destinations_v1_with_http_info(body, opts) + data + end + + # Get destinations for a migration. + # `device_ids` and `filter` are mutually exclusive. + # @param body [ApiGetMigrationDestinationsRequestBodyV1] + # @param [Hash] opts the optional parameters + # @return [Array<(ApiGetMigrationDestinationsResponseV1, Integer, Hash)>] ApiGetMigrationDestinationsResponseV1 data, response status code and response headers + def get_migration_destinations_v1_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.get_migration_destinations_v1 ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling HostMigrationApi.get_migration_destinations_v1" + end + # resource path + local_var_path = '/host-migration/entities/migration-destinations/GET/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ApiGetMigrationDestinationsResponseV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.get_migration_destinations_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#get_migration_destinations_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Query migration jobs. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [Integer] :limit The maximum records to return. [1-10000] + # @option opts [String] :sort The property to sort by. + # @option opts [String] :filter The filter expression that should be used to limit the results. Valid fields: status, migration_status, created_by, created_time, name, id, migration_id, target_cid + # @return [MsaspecQueryResponse] + def get_migration_ids_v1(opts = {}) + data, _status_code, _headers = get_migration_ids_v1_with_http_info(opts) + data + end + + # Query migration jobs. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [Integer] :limit The maximum records to return. [1-10000] + # @option opts [String] :sort The property to sort by. + # @option opts [String] :filter The filter expression that should be used to limit the results. Valid fields: status, migration_status, created_by, created_time, name, id, migration_id, target_cid + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def get_migration_ids_v1_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.get_migration_ids_v1 ...' + end + allowable_values = ["migration_id|asc", "migration_id|desc", "migration_id", "target_cid|asc", "target_cid|desc", "target_cid", "status|asc", "status|desc", "status", "migration_status|asc", "migration_status|desc", "migration_status", "created_by|asc", "created_by|desc", "created_by", "created_time|asc", "created_time|desc", "created_time", "name|asc", "name|desc", "name", "id|asc", "id|desc", "id"] + if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort']) + fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/host-migration/queries/migrations/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.get_migration_ids_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#get_migration_ids_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get migration job details. + # @param ids [Array] The migration jobs of interest. + # @param [Hash] opts the optional parameters + # @return [ApiGetMigrationsResponseV1] + def get_migrations_v1(ids, opts = {}) + data, _status_code, _headers = get_migrations_v1_with_http_info(ids, opts) + data + end + + # Get migration job details. + # @param ids [Array] The migration jobs of interest. + # @param [Hash] opts the optional parameters + # @return [Array<(ApiGetMigrationsResponseV1, Integer, Hash)>] ApiGetMigrationsResponseV1 data, response status code and response headers + def get_migrations_v1_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.get_migrations_v1 ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling HostMigrationApi.get_migrations_v1" + end + # resource path + local_var_path = '/host-migration/entities/migrations/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ApiGetMigrationsResponseV1' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.get_migrations_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#get_migrations_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get host migration aggregates as specified via json in request body. + # Get host migration aggregates as specified via json in request body. # Supported Types Both types support the following FQL filter properties: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`, `created_time`. The values `groups` and `hostgroups` are aliases for `static_host_groups`. The value `host_migration_id` is an alias for `id` ## Terms `\"type\": \"terms\"` Supported `field` values: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`. `sort` must be done on the same value as `field` and include a direction (`asc` or `desc`). Supports all FQL fields except for `groups`, `hostgroups`, or `static_host_groups`. Examples sort value: `status|asc` or `created_by|desc` ## Date Range `\"type\": \"date_range\"` Supported `field` fields: `created_time`. Does not support `sort`, `size`, or `from`. + # @param body [Array] + # @param [Hash] opts the optional parameters + # @return [MsaAggregatesResponse] + def host_migration_aggregates_v1(body, opts = {}) + data, _status_code, _headers = host_migration_aggregates_v1_with_http_info(body, opts) + data + end + + # Get host migration aggregates as specified via json in request body. + # Get host migration aggregates as specified via json in request body. # Supported Types Both types support the following FQL filter properties: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`, `created_time`. The values `groups` and `hostgroups` are aliases for `static_host_groups`. The value `host_migration_id` is an alias for `id` ## Terms `\"type\": \"terms\"` Supported `field` values: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`. `sort` must be done on the same value as `field` and include a direction (`asc` or `desc`). Supports all FQL fields except for `groups`, `hostgroups`, or `static_host_groups`. Examples sort value: `status|asc` or `created_by|desc` ## Date Range `\"type\": \"date_range\"` Supported `field` fields: `created_time`. Does not support `sort`, `size`, or `from`. + # @param body [Array] + # @param [Hash] opts the optional parameters + # @return [Array<(MsaAggregatesResponse, Integer, Hash)>] MsaAggregatesResponse data, response status code and response headers + def host_migration_aggregates_v1_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.host_migration_aggregates_v1 ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling HostMigrationApi.host_migration_aggregates_v1" + end + # resource path + local_var_path = '/host-migration/aggregates/host-migrations/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'MsaAggregatesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.host_migration_aggregates_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#host_migration_aggregates_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Perform an action on host migrations. + # The available actions are `add_host_groups`, `remove_host_groups`, and `remove_hosts`. FQL filter supports the following fields: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`, `created_time`. These actions only works if the migration has not started. `add_host_groups` adds static host groups to the selected hosts in a migration. This action accepts the following action parameter: `{ \"name\": \"host_group\": \"value\": \"$host_group_id\" }`. Action parameters can be repeated to add multiple static host groups in a single request. `remove_host_groups` removes static host groups from the selected hosts in a migration. This action accepts the following action parameter: `{ \"name\": \"host_group\": \"value\": \"$host_group_id\" }`. Action parameters can be repeated to remove multiple static host groups in a single request. `remove_hosts` removes the selected hosts from a migration. This action does not accept any action parameters. + # @param id [String] The migration job to perform actions on + # @param action_name [String] The action to perform + # @param body [MsaEntityActionRequestV3] + # @param [Hash] opts the optional parameters + # @return [MsaspecQueryResponse] + def host_migrations_actions_v1(id, action_name, body, opts = {}) + data, _status_code, _headers = host_migrations_actions_v1_with_http_info(id, action_name, body, opts) + data + end + + # Perform an action on host migrations. + # The available actions are `add_host_groups`, `remove_host_groups`, and `remove_hosts`. FQL filter supports the following fields: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`, `created_time`. These actions only works if the migration has not started. `add_host_groups` adds static host groups to the selected hosts in a migration. This action accepts the following action parameter: `{ \"name\": \"host_group\": \"value\": \"$host_group_id\" }`. Action parameters can be repeated to add multiple static host groups in a single request. `remove_host_groups` removes static host groups from the selected hosts in a migration. This action accepts the following action parameter: `{ \"name\": \"host_group\": \"value\": \"$host_group_id\" }`. Action parameters can be repeated to remove multiple static host groups in a single request. `remove_hosts` removes the selected hosts from a migration. This action does not accept any action parameters. + # @param id [String] The migration job to perform actions on + # @param action_name [String] The action to perform + # @param body [MsaEntityActionRequestV3] + # @param [Hash] opts the optional parameters + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def host_migrations_actions_v1_with_http_info(id, action_name, body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.host_migrations_actions_v1 ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling HostMigrationApi.host_migrations_actions_v1" + end + # verify the required parameter 'action_name' is set + if @api_client.config.client_side_validation && action_name.nil? + fail ArgumentError, "Missing the required parameter 'action_name' when calling HostMigrationApi.host_migrations_actions_v1" + end + # verify enum value + allowable_values = ["remove_hosts", "remove_host_groups", "add_host_groups"] + if @api_client.config.client_side_validation && !allowable_values.include?(action_name) + fail ArgumentError, "invalid value for \"action_name\", must be one of #{allowable_values}" + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling HostMigrationApi.host_migrations_actions_v1" + end + # resource path + local_var_path = '/host-migration/entities/host-migrations-actions/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'id'] = id + query_params[:'action_name'] = action_name + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.host_migrations_actions_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#host_migrations_actions_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get migration aggregates as specified via json in request body. + # Get migration aggregates as specified via json in request body. # Supported Types Both types support the following FQL filter props: `name`, `id`, `migration_id`, `target_cid`, `status`, `migration_status`, `created_by`, `created_time`. The value `migration_status` is an alias for `status`. The value `migration_id` is an alias for `id`. ## Terms `\"type\": \"terms\"` Supported `field` values: `name`, `id`, `migration_id,` `target_cid`, `status`, `migration_status`, `created_by`. `sort` on `terms` type must be done on the same value as `field` and include a direction (`asc` or `desc`). Supports all supported FQL fields. Examples sort value: `status|asc` or `created_by|desc`. ## Date Range `\"type\": \"date_range\"` Supported `field` fields: `created_time`. Does not support `sort`, `size`, or `from`. + # @param body [Array] + # @param [Hash] opts the optional parameters + # @return [MsaAggregatesResponse] + def migration_aggregates_v1(body, opts = {}) + data, _status_code, _headers = migration_aggregates_v1_with_http_info(body, opts) + data + end + + # Get migration aggregates as specified via json in request body. + # Get migration aggregates as specified via json in request body. # Supported Types Both types support the following FQL filter props: `name`, `id`, `migration_id`, `target_cid`, `status`, `migration_status`, `created_by`, `created_time`. The value `migration_status` is an alias for `status`. The value `migration_id` is an alias for `id`. ## Terms `\"type\": \"terms\"` Supported `field` values: `name`, `id`, `migration_id,` `target_cid`, `status`, `migration_status`, `created_by`. `sort` on `terms` type must be done on the same value as `field` and include a direction (`asc` or `desc`). Supports all supported FQL fields. Examples sort value: `status|asc` or `created_by|desc`. ## Date Range `\"type\": \"date_range\"` Supported `field` fields: `created_time`. Does not support `sort`, `size`, or `from`. + # @param body [Array] + # @param [Hash] opts the optional parameters + # @return [Array<(MsaAggregatesResponse, Integer, Hash)>] MsaAggregatesResponse data, response status code and response headers + def migration_aggregates_v1_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.migration_aggregates_v1 ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling HostMigrationApi.migration_aggregates_v1" + end + # resource path + local_var_path = '/host-migration/aggregates/migrations/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'MsaAggregatesResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.migration_aggregates_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#migration_aggregates_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Perform an action on a migration job. + # The available actions are `start_migration`, `cancel_migration`, `rename_migration`, and `delete_migration`. `start_migration` starts the selected migrations. This action only works if the migration has not started. This action does not accept any action parameters. Only one migration may be started per request. `cancel_migration` cancels the selected migrations. This actions only works if the migration has started and not completed. This action does not accept any action parameters. `rename_migration` renames the selected migrations. This action can be called at any time. Only 1 action parameter may be supplied. Action parameters take the form of `{\"name\": \"migration_name\": \"value\": \"$new_migration_name\"}`. `delete_migration` deletes the selected migrations. This action only works if the migration has not started. This action does not accept any action parameters. + # @param action_name [String] The action to perform + # @param body [MsaEntityActionRequestV3] + # @param [Hash] opts the optional parameters + # @return [MsaspecQueryResponse] + def migrations_actions_v1(action_name, body, opts = {}) + data, _status_code, _headers = migrations_actions_v1_with_http_info(action_name, body, opts) + data + end + + # Perform an action on a migration job. + # The available actions are `start_migration`, `cancel_migration`, `rename_migration`, and `delete_migration`. `start_migration` starts the selected migrations. This action only works if the migration has not started. This action does not accept any action parameters. Only one migration may be started per request. `cancel_migration` cancels the selected migrations. This actions only works if the migration has started and not completed. This action does not accept any action parameters. `rename_migration` renames the selected migrations. This action can be called at any time. Only 1 action parameter may be supplied. Action parameters take the form of `{\"name\": \"migration_name\": \"value\": \"$new_migration_name\"}`. `delete_migration` deletes the selected migrations. This action only works if the migration has not started. This action does not accept any action parameters. + # @param action_name [String] The action to perform + # @param body [MsaEntityActionRequestV3] + # @param [Hash] opts the optional parameters + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def migrations_actions_v1_with_http_info(action_name, body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HostMigrationApi.migrations_actions_v1 ...' + end + # verify the required parameter 'action_name' is set + if @api_client.config.client_side_validation && action_name.nil? + fail ArgumentError, "Missing the required parameter 'action_name' when calling HostMigrationApi.migrations_actions_v1" + end + # verify enum value + allowable_values = ["delete_migration", "rename_migration", "start_migration", "cancel_migration"] + if @api_client.config.client_side_validation && !allowable_values.include?(action_name) + fail ArgumentError, "invalid value for \"action_name\", must be one of #{allowable_values}" + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling HostMigrationApi.migrations_actions_v1" + end + # resource path + local_var_path = '/host-migration/entities/migrations-actions/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'action_name'] = action_name + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HostMigrationApi.migrations_actions_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HostMigrationApi#migrations_actions_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/hosts_api.rb b/lib/crimson-falcon/api/hosts_api.rb index 7c4128ef..bba677c9 100644 --- a/lib/crimson-falcon/api/hosts_api.rb +++ b/lib/crimson-falcon/api/hosts_api.rb @@ -592,8 +592,8 @@ def query_devices_by_filter_with_http_info(opts = {}) # Search for hosts in your environment by platform, hostname, IP, and other criteria with continuous pagination capability (based on offset pointer which expires after 2 minutes with no maximum limit) # @param [Hash] opts the optional parameters - # @option opts [String] :offset The offset to page from, for the next result set - # @option opts [Integer] :limit The maximum records to return. [1-5000] + # @option opts [String] :offset The offset to page from, provided from the previous scroll call, for the next result set. For the first call, do not supply an offset. + # @option opts [Integer] :limit The maximum records to return. [1-10000] # @option opts [String] :sort The property to sort by (e.g. status.desc or hostname.asc) # @option opts [String] :filter The filter expression that should be used to limit the results # @return [DeviceapiDeviceResponse] @@ -604,8 +604,8 @@ def query_devices_by_filter_scroll(opts = {}) # Search for hosts in your environment by platform, hostname, IP, and other criteria with continuous pagination capability (based on offset pointer which expires after 2 minutes with no maximum limit) # @param [Hash] opts the optional parameters - # @option opts [String] :offset The offset to page from, for the next result set - # @option opts [Integer] :limit The maximum records to return. [1-5000] + # @option opts [String] :offset The offset to page from, provided from the previous scroll call, for the next result set. For the first call, do not supply an offset. + # @option opts [Integer] :limit The maximum records to return. [1-10000] # @option opts [String] :sort The property to sort by (e.g. status.desc or hostname.asc) # @option opts [String] :filter The filter expression that should be used to limit the results # @return [Array<(DeviceapiDeviceResponse, Integer, Hash)>] DeviceapiDeviceResponse data, response status code and response headers diff --git a/lib/crimson-falcon/api/humio_auth_proxy_api.rb b/lib/crimson-falcon/api/humio_auth_proxy_api.rb new file mode 100644 index 00000000..dbff6ed6 --- /dev/null +++ b/lib/crimson-falcon/api/humio_auth_proxy_api.rb @@ -0,0 +1,514 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class HumioAuthProxyApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Download lookup file in package from NGSIEM + # @param repository [String] name of repository + # @param package [String] name of package + # @param filename [String] name of lookup file + # @param [Hash] opts the optional parameters + # @return [nil] + def get_lookup_from_package_v1(repository, package, filename, opts = {}) + get_lookup_from_package_v1_with_http_info(repository, package, filename, opts) + nil + end + + # Download lookup file in package from NGSIEM + # @param repository [String] name of repository + # @param package [String] name of package + # @param filename [String] name of lookup file + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def get_lookup_from_package_v1_with_http_info(repository, package, filename, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HumioAuthProxyApi.get_lookup_from_package_v1 ...' + end + # verify the required parameter 'repository' is set + if @api_client.config.client_side_validation && repository.nil? + fail ArgumentError, "Missing the required parameter 'repository' when calling HumioAuthProxyApi.get_lookup_from_package_v1" + end + # verify the required parameter 'package' is set + if @api_client.config.client_side_validation && package.nil? + fail ArgumentError, "Missing the required parameter 'package' when calling HumioAuthProxyApi.get_lookup_from_package_v1" + end + # verify the required parameter 'filename' is set + if @api_client.config.client_side_validation && filename.nil? + fail ArgumentError, "Missing the required parameter 'filename' when calling HumioAuthProxyApi.get_lookup_from_package_v1" + end + # resource path + local_var_path = '/humio/api/v1/repositories/{repository}/files/{package}/{filename}'.sub('{' + 'repository' + '}', CGI.escape(repository.to_s)).sub('{' + 'package' + '}', CGI.escape(package.to_s)).sub('{' + 'filename' + '}', CGI.escape(filename.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HumioAuthProxyApi.get_lookup_from_package_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HumioAuthProxyApi#get_lookup_from_package_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Download lookup file in namespaced package from NGSIEM + # @param repository [String] name of repository + # @param namespace [String] name of namespace + # @param package [String] name of package + # @param filename [String] name of lookup file + # @param [Hash] opts the optional parameters + # @return [nil] + def get_lookup_from_package_with_namespace_v1(repository, namespace, package, filename, opts = {}) + get_lookup_from_package_with_namespace_v1_with_http_info(repository, namespace, package, filename, opts) + nil + end + + # Download lookup file in namespaced package from NGSIEM + # @param repository [String] name of repository + # @param namespace [String] name of namespace + # @param package [String] name of package + # @param filename [String] name of lookup file + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def get_lookup_from_package_with_namespace_v1_with_http_info(repository, namespace, package, filename, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HumioAuthProxyApi.get_lookup_from_package_with_namespace_v1 ...' + end + # verify the required parameter 'repository' is set + if @api_client.config.client_side_validation && repository.nil? + fail ArgumentError, "Missing the required parameter 'repository' when calling HumioAuthProxyApi.get_lookup_from_package_with_namespace_v1" + end + # verify the required parameter 'namespace' is set + if @api_client.config.client_side_validation && namespace.nil? + fail ArgumentError, "Missing the required parameter 'namespace' when calling HumioAuthProxyApi.get_lookup_from_package_with_namespace_v1" + end + # verify the required parameter 'package' is set + if @api_client.config.client_side_validation && package.nil? + fail ArgumentError, "Missing the required parameter 'package' when calling HumioAuthProxyApi.get_lookup_from_package_with_namespace_v1" + end + # verify the required parameter 'filename' is set + if @api_client.config.client_side_validation && filename.nil? + fail ArgumentError, "Missing the required parameter 'filename' when calling HumioAuthProxyApi.get_lookup_from_package_with_namespace_v1" + end + # resource path + local_var_path = '/humio/api/v1/repositories/{repository}/files/{namespace}/{package}/{filename}'.sub('{' + 'repository' + '}', CGI.escape(repository.to_s)).sub('{' + 'namespace' + '}', CGI.escape(namespace.to_s)).sub('{' + 'package' + '}', CGI.escape(package.to_s)).sub('{' + 'filename' + '}', CGI.escape(filename.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HumioAuthProxyApi.get_lookup_from_package_with_namespace_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HumioAuthProxyApi#get_lookup_from_package_with_namespace_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Download lookup file from NGSIEM + # @param repository [String] name of repository + # @param filename [String] name of lookup file + # @param [Hash] opts the optional parameters + # @return [nil] + def get_lookup_v1(repository, filename, opts = {}) + get_lookup_v1_with_http_info(repository, filename, opts) + nil + end + + # Download lookup file from NGSIEM + # @param repository [String] name of repository + # @param filename [String] name of lookup file + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def get_lookup_v1_with_http_info(repository, filename, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HumioAuthProxyApi.get_lookup_v1 ...' + end + # verify the required parameter 'repository' is set + if @api_client.config.client_side_validation && repository.nil? + fail ArgumentError, "Missing the required parameter 'repository' when calling HumioAuthProxyApi.get_lookup_v1" + end + # verify the required parameter 'filename' is set + if @api_client.config.client_side_validation && filename.nil? + fail ArgumentError, "Missing the required parameter 'filename' when calling HumioAuthProxyApi.get_lookup_v1" + end + # resource path + local_var_path = '/humio/api/v1/repositories/{repository}/files/{filename}'.sub('{' + 'repository' + '}', CGI.escape(repository.to_s)).sub('{' + 'filename' + '}', CGI.escape(filename.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HumioAuthProxyApi.get_lookup_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HumioAuthProxyApi#get_lookup_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get status of search + # @param repository [String] name of repository + # @param id [String] id of query + # @param [Hash] opts the optional parameters + # @return [MsaspecResponseFields] + def get_search_status_v1(repository, id, opts = {}) + data, _status_code, _headers = get_search_status_v1_with_http_info(repository, id, opts) + data + end + + # Get status of search + # @param repository [String] name of repository + # @param id [String] id of query + # @param [Hash] opts the optional parameters + # @return [Array<(MsaspecResponseFields, Integer, Hash)>] MsaspecResponseFields data, response status code and response headers + def get_search_status_v1_with_http_info(repository, id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HumioAuthProxyApi.get_search_status_v1 ...' + end + # verify the required parameter 'repository' is set + if @api_client.config.client_side_validation && repository.nil? + fail ArgumentError, "Missing the required parameter 'repository' when calling HumioAuthProxyApi.get_search_status_v1" + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling HumioAuthProxyApi.get_search_status_v1" + end + # resource path + local_var_path = '/humio/api/v1/repositories/{repository}/queryjobs/{id}'.sub('{' + 'repository' + '}', CGI.escape(repository.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/plain', 'text/html', 'application/x-ndjson']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecResponseFields' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HumioAuthProxyApi.get_search_status_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HumioAuthProxyApi#get_search_status_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Initiate search + # @param repository [String] name of repository + # @param [Hash] opts the optional parameters + # @return [nil] + def start_search_v1(repository, opts = {}) + start_search_v1_with_http_info(repository, opts) + nil + end + + # Initiate search + # @param repository [String] name of repository + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def start_search_v1_with_http_info(repository, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HumioAuthProxyApi.start_search_v1 ...' + end + # verify the required parameter 'repository' is set + if @api_client.config.client_side_validation && repository.nil? + fail ArgumentError, "Missing the required parameter 'repository' when calling HumioAuthProxyApi.start_search_v1" + end + # resource path + local_var_path = '/humio/api/v1/repositories/{repository}/queryjobs'.sub('{' + 'repository' + '}', CGI.escape(repository.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/plain', 'text/html']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HumioAuthProxyApi.start_search_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HumioAuthProxyApi#start_search_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Stop search + # @param repository [String] name of repository + # @param id [String] id of query + # @param [Hash] opts the optional parameters + # @return [nil] + def stop_search_v1(repository, id, opts = {}) + stop_search_v1_with_http_info(repository, id, opts) + nil + end + + # Stop search + # @param repository [String] name of repository + # @param id [String] id of query + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def stop_search_v1_with_http_info(repository, id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HumioAuthProxyApi.stop_search_v1 ...' + end + # verify the required parameter 'repository' is set + if @api_client.config.client_side_validation && repository.nil? + fail ArgumentError, "Missing the required parameter 'repository' when calling HumioAuthProxyApi.stop_search_v1" + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling HumioAuthProxyApi.stop_search_v1" + end + # resource path + local_var_path = '/humio/api/v1/repositories/{repository}/queryjobs/{id}'.sub('{' + 'repository' + '}', CGI.escape(repository.to_s)).sub('{' + 'id' + '}', CGI.escape(id.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['*/*', 'application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HumioAuthProxyApi.stop_search_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HumioAuthProxyApi#stop_search_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Upload file to NGSIEM + # @param repository [String] name of repository + # @param [Hash] opts the optional parameters + # @return [nil] + def upload_lookup_v1(repository, opts = {}) + upload_lookup_v1_with_http_info(repository, opts) + nil + end + + # Upload file to NGSIEM + # @param repository [String] name of repository + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def upload_lookup_v1_with_http_info(repository, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: HumioAuthProxyApi.upload_lookup_v1 ...' + end + # verify the required parameter 'repository' is set + if @api_client.config.client_side_validation && repository.nil? + fail ArgumentError, "Missing the required parameter 'repository' when calling HumioAuthProxyApi.upload_lookup_v1" + end + # resource path + local_var_path = '/humio/api/v1/repositories/{repository}/files'.sub('{' + 'repository' + '}', CGI.escape(repository.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['*/*', 'application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"HumioAuthProxyApi.upload_lookup_v1", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: HumioAuthProxyApi#upload_lookup_v1\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/identity_protection_api.rb b/lib/crimson-falcon/api/identity_protection_api.rb index 7dc4a6a9..ea2994ef 100644 --- a/lib/crimson-falcon/api/identity_protection_api.rb +++ b/lib/crimson-falcon/api/identity_protection_api.rb @@ -36,6 +36,231 @@ class IdentityProtectionApi def initialize(api_client = ApiClient.default) @api_client = api_client end + # Delete policy rules + # @param authorization [String] Authorization Header + # @param ids [Array] Rule IDs + # @param [Hash] opts the optional parameters + # @return [nil] + def api_preempt_proxy_delete_policy_rules(authorization, ids, opts = {}) + api_preempt_proxy_delete_policy_rules_with_http_info(authorization, ids, opts) + nil + end + + # Delete policy rules + # @param authorization [String] Authorization Header + # @param ids [Array] Rule IDs + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def api_preempt_proxy_delete_policy_rules_with_http_info(authorization, ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: IdentityProtectionApi.api_preempt_proxy_delete_policy_rules ...' + end + # verify the required parameter 'authorization' is set + if @api_client.config.client_side_validation && authorization.nil? + fail ArgumentError, "Missing the required parameter 'authorization' when calling IdentityProtectionApi.api_preempt_proxy_delete_policy_rules" + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling IdentityProtectionApi.api_preempt_proxy_delete_policy_rules" + end + if @api_client.config.client_side_validation && ids.length > 100 + fail ArgumentError, 'invalid value for "ids" when calling IdentityProtectionApi.api_preempt_proxy_delete_policy_rules, number of items must be less than or equal to 100.' + end + + if @api_client.config.client_side_validation && ids.length < 1 + fail ArgumentError, 'invalid value for "ids" when calling IdentityProtectionApi.api_preempt_proxy_delete_policy_rules, number of items must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/identity-protection/entities/policy-rules/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :csv) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/json; charset=utf-8']) + header_params[:'Authorization'] = authorization + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"IdentityProtectionApi.api_preempt_proxy_delete_policy_rules", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: IdentityProtectionApi#api_preempt_proxy_delete_policy_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get policy rules + # @param authorization [String] Authorization Header + # @param ids [Array] Rule IDs + # @param [Hash] opts the optional parameters + # @return [nil] + def api_preempt_proxy_get_policy_rules(authorization, ids, opts = {}) + api_preempt_proxy_get_policy_rules_with_http_info(authorization, ids, opts) + nil + end + + # Get policy rules + # @param authorization [String] Authorization Header + # @param ids [Array] Rule IDs + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def api_preempt_proxy_get_policy_rules_with_http_info(authorization, ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: IdentityProtectionApi.api_preempt_proxy_get_policy_rules ...' + end + # verify the required parameter 'authorization' is set + if @api_client.config.client_side_validation && authorization.nil? + fail ArgumentError, "Missing the required parameter 'authorization' when calling IdentityProtectionApi.api_preempt_proxy_get_policy_rules" + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling IdentityProtectionApi.api_preempt_proxy_get_policy_rules" + end + if @api_client.config.client_side_validation && ids.length > 100 + fail ArgumentError, 'invalid value for "ids" when calling IdentityProtectionApi.api_preempt_proxy_get_policy_rules, number of items must be less than or equal to 100.' + end + + if @api_client.config.client_side_validation && ids.length < 1 + fail ArgumentError, 'invalid value for "ids" when calling IdentityProtectionApi.api_preempt_proxy_get_policy_rules, number of items must be greater than or equal to 1.' + end + + # resource path + local_var_path = '/identity-protection/entities/policy-rules/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :csv) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/json; charset=utf-8']) + header_params[:'Authorization'] = authorization + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"IdentityProtectionApi.api_preempt_proxy_get_policy_rules", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: IdentityProtectionApi#api_preempt_proxy_get_policy_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Query policy rule IDs + # @param authorization [String] Authorization Header + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :enabled Whether the rule is enabled + # @option opts [Boolean] :simulation_mode Whether the rule is in simulation mode + # @option opts [String] :name Rule name + # @return [nil] + def api_preempt_proxy_get_policy_rules_query(authorization, opts = {}) + api_preempt_proxy_get_policy_rules_query_with_http_info(authorization, opts) + nil + end + + # Query policy rule IDs + # @param authorization [String] Authorization Header + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :enabled Whether the rule is enabled + # @option opts [Boolean] :simulation_mode Whether the rule is in simulation mode + # @option opts [String] :name Rule name + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def api_preempt_proxy_get_policy_rules_query_with_http_info(authorization, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: IdentityProtectionApi.api_preempt_proxy_get_policy_rules_query ...' + end + # verify the required parameter 'authorization' is set + if @api_client.config.client_side_validation && authorization.nil? + fail ArgumentError, "Missing the required parameter 'authorization' when calling IdentityProtectionApi.api_preempt_proxy_get_policy_rules_query" + end + # resource path + local_var_path = '/identity-protection/queries/policy-rules/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'enabled'] = opts[:'enabled'] if !opts[:'enabled'].nil? + query_params[:'simulation_mode'] = opts[:'simulation_mode'] if !opts[:'simulation_mode'].nil? + query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/json; charset=utf-8']) + header_params[:'Authorization'] = authorization + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"IdentityProtectionApi.api_preempt_proxy_get_policy_rules_query", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: IdentityProtectionApi#api_preempt_proxy_get_policy_rules_query\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Identity Protection GraphQL API. Allows to retrieve entities, timeline activities, identity-based incidents and security assessment. Allows to perform actions on entities and identity-based incidents. # @param authorization [String] Authorization Header # @param [Hash] opts the optional parameters @@ -97,5 +322,78 @@ def api_preempt_proxy_post_graphql_with_http_info(authorization, opts = {}) end return data, status_code, headers end + + # Create policy rule + # @param authorization [String] Authorization Header + # @param body [TypesPolicyRulesCreateBody] + # @param [Hash] opts the optional parameters + # @return [nil] + def api_preempt_proxy_post_policy_rules(authorization, body, opts = {}) + api_preempt_proxy_post_policy_rules_with_http_info(authorization, body, opts) + nil + end + + # Create policy rule + # @param authorization [String] Authorization Header + # @param body [TypesPolicyRulesCreateBody] + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def api_preempt_proxy_post_policy_rules_with_http_info(authorization, body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: IdentityProtectionApi.api_preempt_proxy_post_policy_rules ...' + end + # verify the required parameter 'authorization' is set + if @api_client.config.client_side_validation && authorization.nil? + fail ArgumentError, "Missing the required parameter 'authorization' when calling IdentityProtectionApi.api_preempt_proxy_post_policy_rules" + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling IdentityProtectionApi.api_preempt_proxy_post_policy_rules" + end + # resource path + local_var_path = '/identity-protection/entities/policy-rules/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/json; charset=utf-8']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + header_params[:'Authorization'] = authorization + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"IdentityProtectionApi.api_preempt_proxy_post_policy_rules", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: IdentityProtectionApi#api_preempt_proxy_post_policy_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end end end diff --git a/lib/crimson-falcon/api/intel_api.rb b/lib/crimson-falcon/api/intel_api.rb index ddb27d43..30efe0f8 100644 --- a/lib/crimson-falcon/api/intel_api.rb +++ b/lib/crimson-falcon/api/intel_api.rb @@ -236,17 +236,17 @@ def get_intel_report_entities_with_http_info(ids, opts = {}) # @param [Hash] opts the optional parameters # @option opts [String] :id The ID of the report you want to download as a PDF. # @option opts [String] :ids The ID of the report you want to download as a PDF. This parameter is used only if no id parameter given. - # @return [nil] + # @return [File] def get_intel_report_pdf(opts = {}) - get_intel_report_pdf_with_http_info(opts) - nil + data, _status_code, _headers = get_intel_report_pdf_with_http_info(opts) + data end # Return a Report PDF attachment # @param [Hash] opts the optional parameters # @option opts [String] :id The ID of the report you want to download as a PDF. # @option opts [String] :ids The ID of the report you want to download as a PDF. This parameter is used only if no id parameter given. - # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers def get_intel_report_pdf_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: IntelApi.get_intel_report_pdf ...' @@ -271,7 +271,7 @@ def get_intel_report_pdf_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] + return_type = opts[:debug_return_type] || 'File' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -360,10 +360,10 @@ def get_intel_rule_entities_with_http_info(ids, opts = {}) # @param [Hash] opts the optional parameters # @option opts [String] :accept Choose the format you want the rule set in. # @option opts [String] :format Choose the format you want the rule set in. Valid formats are zip and gzip. Defaults to zip. - # @return [nil] + # @return [File] def get_intel_rule_file(id, opts = {}) - get_intel_rule_file_with_http_info(id, opts) - nil + data, _status_code, _headers = get_intel_rule_file_with_http_info(id, opts) + data end # Download earlier rule sets. @@ -371,7 +371,7 @@ def get_intel_rule_file(id, opts = {}) # @param [Hash] opts the optional parameters # @option opts [String] :accept Choose the format you want the rule set in. # @option opts [String] :format Choose the format you want the rule set in. Valid formats are zip and gzip. Defaults to zip. - # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers def get_intel_rule_file_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: IntelApi.get_intel_rule_file ...' @@ -401,7 +401,7 @@ def get_intel_rule_file_with_http_info(id, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] + return_type = opts[:debug_return_type] || 'File' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -424,26 +424,28 @@ def get_intel_rule_file_with_http_info(id, opts = {}) end # Download the latest rule set. - # @param type [String] The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness + # @param type [String] The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog # @param [Hash] opts the optional parameters # @option opts [String] :accept Choose the format you want the rule set in. # @option opts [String] :if_none_match Download the latest rule set only if it doesn't have an ETag matching the given ones. # @option opts [String] :if_modified_since Download the latest rule set only if the rule was modified after this date. http, ANSIC and RFC850 formats accepted # @option opts [String] :format Choose the format you want the rule set in. Valid formats are zip and gzip. Defaults to zip. - # @return [nil] + # @option opts [String] :if_modified_since2 Download Only if changed since + # @return [File] def get_latest_intel_rule_file(type, opts = {}) - get_latest_intel_rule_file_with_http_info(type, opts) - nil + data, _status_code, _headers = get_latest_intel_rule_file_with_http_info(type, opts) + data end # Download the latest rule set. - # @param type [String] The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness + # @param type [String] The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog # @param [Hash] opts the optional parameters # @option opts [String] :accept Choose the format you want the rule set in. # @option opts [String] :if_none_match Download the latest rule set only if it doesn't have an ETag matching the given ones. # @option opts [String] :if_modified_since Download the latest rule set only if the rule was modified after this date. http, ANSIC and RFC850 formats accepted # @option opts [String] :format Choose the format you want the rule set in. Valid formats are zip and gzip. Defaults to zip. - # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + # @option opts [String] :if_modified_since2 Download Only if changed since + # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers def get_latest_intel_rule_file_with_http_info(type, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: IntelApi.get_latest_intel_rule_file ...' @@ -467,6 +469,7 @@ def get_latest_intel_rule_file_with_http_info(type, opts = {}) header_params[:'Accept'] = opts[:'accept'] if !opts[:'accept'].nil? header_params[:'If-None-Match'] = opts[:'if_none_match'] if !opts[:'if_none_match'].nil? header_params[:'If-Modified-Since'] = opts[:'if_modified_since'] if !opts[:'if_modified_since'].nil? + header_params[:'If-Modified-Since'] = opts[:'if_modified_since2'] if !opts[:'if_modified_since2'].nil? # form parameters form_params = opts[:form_params] || {} @@ -475,7 +478,7 @@ def get_latest_intel_rule_file_with_http_info(type, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] + return_type = opts[:debug_return_type] || 'File' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -497,6 +500,140 @@ def get_latest_intel_rule_file_with_http_info(type, opts = {}) return data, status_code, headers end + # Get malware entities for specified ids. + # @param ids [Array] Malware family name in lower case with spaces, dots and slashes replaced with dashes + # @param [Hash] opts the optional parameters + # @return [DomainMalwareResponse] + def get_malware_entities(ids, opts = {}) + data, _status_code, _headers = get_malware_entities_with_http_info(ids, opts) + data + end + + # Get malware entities for specified ids. + # @param ids [Array] Malware family name in lower case with spaces, dots and slashes replaced with dashes + # @param [Hash] opts the optional parameters + # @return [Array<(DomainMalwareResponse, Integer, Hash)>] DomainMalwareResponse data, response status code and response headers + def get_malware_entities_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: IntelApi.get_malware_entities ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling IntelApi.get_malware_entities" + end + # resource path + local_var_path = '/intel/entities/malware/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainMalwareResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"IntelApi.get_malware_entities", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: IntelApi#get_malware_entities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Export Mitre ATT&CK information for a given malware family. + # @param id [String] Malware family name in lower case with spaces replaced with dashes + # @param format [String] Supported report formats: CSV, JSON or JSON_NAVIGATOR + # @param [Hash] opts the optional parameters + # @option opts [String] :x_cs_useruuid User id + # @return [nil] + def get_malware_mitre_report(id, format, opts = {}) + get_malware_mitre_report_with_http_info(id, format, opts) + nil + end + + # Export Mitre ATT&CK information for a given malware family. + # @param id [String] Malware family name in lower case with spaces replaced with dashes + # @param format [String] Supported report formats: CSV, JSON or JSON_NAVIGATOR + # @param [Hash] opts the optional parameters + # @option opts [String] :x_cs_useruuid User id + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def get_malware_mitre_report_with_http_info(id, format, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: IntelApi.get_malware_mitre_report ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling IntelApi.get_malware_mitre_report" + end + # verify the required parameter 'format' is set + if @api_client.config.client_side_validation && format.nil? + fail ArgumentError, "Missing the required parameter 'format' when calling IntelApi.get_malware_mitre_report" + end + # resource path + local_var_path = '/intel/entities/malware-mitre-reports/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'id'] = id + query_params[:'format'] = format + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/csv']) + header_params[:'X-CS-USERUUID'] = opts[:'x_cs_useruuid'] if !opts[:'x_cs_useruuid'].nil? + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"IntelApi.get_malware_mitre_report", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: IntelApi#get_malware_mitre_report\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Export Mitre ATT&CK information for a given actor. # @param actor_id [String] Actor ID(derived from the actor's name) # @param format [String] Supported report formats: CSV or JSON @@ -1137,7 +1274,7 @@ def query_intel_report_ids_with_http_info(opts = {}) end # Search for rule IDs that match provided filter criteria. - # @param type [String] The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness + # @param type [String] The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog # @param [Hash] opts the optional parameters # @option opts [Integer] :offset Set the starting row number to return reports from. Defaults to 0. # @option opts [Integer] :limit The number of rule IDs to return. Defaults to 10. @@ -1155,7 +1292,7 @@ def query_intel_rule_ids(type, opts = {}) end # Search for rule IDs that match provided filter criteria. - # @param type [String] The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness + # @param type [String] The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog # @param [Hash] opts the optional parameters # @option opts [Integer] :offset Set the starting row number to return reports from. Defaults to 0. # @option opts [Integer] :limit The number of rule IDs to return. Defaults to 10. @@ -1225,6 +1362,76 @@ def query_intel_rule_ids_with_http_info(type, opts = {}) return data, status_code, headers end + # Get malware family names that match provided FQL filters. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset Set the starting row number to return malware IDs from. Defaults to 0. + # @option opts [Integer] :limit Set the number of malware IDs to return. The value must be between 1 and 5000. + # @option opts [String] :sort Order fields in ascending or descending order. Ex: created_date|asc. + # @option opts [String] :filter Filter your query by specifying FQL filter parameters. + # @option opts [String] :q Perform a generic substring search across all fields. + # @return [DomainQueryResponse] + def query_malware(opts = {}) + data, _status_code, _headers = query_malware_with_http_info(opts) + data + end + + # Get malware family names that match provided FQL filters. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset Set the starting row number to return malware IDs from. Defaults to 0. + # @option opts [Integer] :limit Set the number of malware IDs to return. The value must be between 1 and 5000. + # @option opts [String] :sort Order fields in ascending or descending order. Ex: created_date|asc. + # @option opts [String] :filter Filter your query by specifying FQL filter parameters. + # @option opts [String] :q Perform a generic substring search across all fields. + # @return [Array<(DomainQueryResponse, Integer, Hash)>] DomainQueryResponse data, response status code and response headers + def query_malware_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: IntelApi.query_malware ...' + end + # resource path + local_var_path = '/intel/queries/malware/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"IntelApi.query_malware", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: IntelApi#query_malware\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Gets MITRE tactics and techniques for the given actor, returning concatenation of id and tactic and technique ids, example: fancy-bear_TA0011_T1071 # @param [Hash] opts the optional parameters # @option opts [String] :id The actor ID(derived from the actor's name) for which to retrieve a list of attacks, for example: fancy-bear. Only one value is allowed @@ -1286,6 +1493,68 @@ def query_mitre_attacks_with_http_info(opts = {}) return data, status_code, headers end + # Gets MITRE tactics and techniques for the given malware + # @param ids [Array] Malware family name in lower case with spaces replaced with dashes + # @param [Hash] opts the optional parameters + # @return [DomainQueryResponse] + def query_mitre_attacks_for_malware(ids, opts = {}) + data, _status_code, _headers = query_mitre_attacks_for_malware_with_http_info(ids, opts) + data + end + + # Gets MITRE tactics and techniques for the given malware + # @param ids [Array] Malware family name in lower case with spaces replaced with dashes + # @param [Hash] opts the optional parameters + # @return [Array<(DomainQueryResponse, Integer, Hash)>] DomainQueryResponse data, response status code and response headers + def query_mitre_attacks_for_malware_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: IntelApi.query_mitre_attacks_for_malware ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling IntelApi.query_mitre_attacks_for_malware" + end + # resource path + local_var_path = '/intel/queries/mitre-malware/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"IntelApi.query_mitre_attacks_for_malware", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: IntelApi#query_mitre_attacks_for_malware\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Get vulnerabilities IDs # @param [Hash] opts the optional parameters # @option opts [String] :offset Starting index of result set from which to return IDs. diff --git a/lib/crimson-falcon/api/ioa_exclusions_api.rb b/lib/crimson-falcon/api/ioa_exclusions_api.rb index 00461edc..93cce9fb 100644 --- a/lib/crimson-falcon/api/ioa_exclusions_api.rb +++ b/lib/crimson-falcon/api/ioa_exclusions_api.rb @@ -231,7 +231,9 @@ def get_ioa_exclusions_v1_with_http_info(ids, opts = {}) # Search for IOA exclusions. # @param [Hash] opts the optional parameters - # @option opts [String] :filter The filter expression that should be used to limit the results. + # @option opts [String] :filter The filter expression that should be used to limit the results. Filtered queries involving regex fields should specify their expressions in the `ifn_regex` and `cl_regex` parameters. + # @option opts [String] :ifn_regex The `ifn_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. + # @option opts [String] :cl_regex The `cl_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. # @option opts [Integer] :offset The offset to start retrieving records from # @option opts [Integer] :limit The maximum records to return. [1-500] # @option opts [String] :sort The sort expression that should be used to sort the results. @@ -243,7 +245,9 @@ def query_ioa_exclusions_v1(opts = {}) # Search for IOA exclusions. # @param [Hash] opts the optional parameters - # @option opts [String] :filter The filter expression that should be used to limit the results. + # @option opts [String] :filter The filter expression that should be used to limit the results. Filtered queries involving regex fields should specify their expressions in the `ifn_regex` and `cl_regex` parameters. + # @option opts [String] :ifn_regex The `ifn_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. + # @option opts [String] :cl_regex The `cl_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. # @option opts [Integer] :offset The offset to start retrieving records from # @option opts [Integer] :limit The maximum records to return. [1-500] # @option opts [String] :sort The sort expression that should be used to sort the results. @@ -262,6 +266,8 @@ def query_ioa_exclusions_v1_with_http_info(opts = {}) # query parameters query_params = opts[:query_params] || {} query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + query_params[:'ifn_regex'] = opts[:'ifn_regex'] if !opts[:'ifn_regex'].nil? + query_params[:'cl_regex'] = opts[:'cl_regex'] if !opts[:'cl_regex'].nil? query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? diff --git a/lib/crimson-falcon/api/kubernetes_protection_api.rb b/lib/crimson-falcon/api/kubernetes_protection_api.rb index a34b6b30..e2b8d700 100644 --- a/lib/crimson-falcon/api/kubernetes_protection_api.rb +++ b/lib/crimson-falcon/api/kubernetes_protection_api.rb @@ -171,7 +171,7 @@ def create_azure_subscription_with_http_info(body, opts = {}) # Delete AWS accounts. # @param ids [Array] AWS Account IDs # @param [Hash] opts the optional parameters - # @return [MsaspecMetaInfo] + # @return [MsaMetaInfo] def delete_aws_accounts_mixin0(ids, opts = {}) data, _status_code, _headers = delete_aws_accounts_mixin0_with_http_info(ids, opts) data @@ -180,7 +180,7 @@ def delete_aws_accounts_mixin0(ids, opts = {}) # Delete AWS accounts. # @param ids [Array] AWS Account IDs # @param [Hash] opts the optional parameters - # @return [Array<(MsaspecMetaInfo, Integer, Hash)>] MsaspecMetaInfo data, response status code and response headers + # @return [Array<(MsaMetaInfo, Integer, Hash)>] MsaMetaInfo data, response status code and response headers def delete_aws_accounts_mixin0_with_http_info(ids, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: KubernetesProtectionApi.delete_aws_accounts_mixin0 ...' @@ -208,7 +208,7 @@ def delete_aws_accounts_mixin0_with_http_info(ids, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaspecMetaInfo' + return_type = opts[:debug_return_type] || 'MsaMetaInfo' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -293,7 +293,7 @@ def delete_azure_subscription_with_http_info(opts = {}) # @option opts [Integer] :limit The upper-bound on the number of container records to retrieve. # @option opts [Integer] :offset It is used to get the offset # @option opts [String] :sort Field to sort results by - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsContainerRuntimePivotResponse] def find_containers_by_container_run_time_version(opts = {}) data, _status_code, _headers = find_containers_by_container_run_time_version_with_http_info(opts) @@ -305,7 +305,7 @@ def find_containers_by_container_run_time_version(opts = {}) # @option opts [Integer] :limit The upper-bound on the number of container records to retrieve. # @option opts [Integer] :offset It is used to get the offset # @option opts [String] :sort Field to sort results by - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(ModelsContainerRuntimePivotResponse, Integer, Hash)>] ModelsContainerRuntimePivotResponse data, response status code and response headers def find_containers_by_container_run_time_version_with_http_info(opts = {}) if @api_client.config.debugging @@ -966,7 +966,7 @@ def get_helm_values_yaml_with_http_info(cluster_name, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/yaml']) + header_params['Accept'] = @api_client.select_header_accept(['application/yaml', 'application/json']) # form parameters form_params = opts[:form_params] || {} @@ -1116,7 +1116,7 @@ def get_static_scripts_with_http_info(opts = {}) # Group the containers by Managed # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsContainerCoverageResponseEntity] def group_containers_by_managed(opts = {}) data, _status_code, _headers = group_containers_by_managed_with_http_info(opts) @@ -1125,7 +1125,7 @@ def group_containers_by_managed(opts = {}) # Group the containers by Managed # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(ModelsContainerCoverageResponseEntity, Integer, Hash)>] ModelsContainerCoverageResponseEntity data, response status code and response headers def group_containers_by_managed_with_http_info(opts = {}) if @api_client.config.debugging @@ -1372,7 +1372,7 @@ def patch_azure_service_principal_with_http_info(id, client_id, opts = {}) # Retrieve kubernetes clusters identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -1384,7 +1384,7 @@ def read_cluster_combined(opts = {}) # Retrieve kubernetes clusters identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -1439,7 +1439,7 @@ def read_cluster_combined_with_http_info(opts = {}) # Retrieve cluster counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @return [CommonCountResponse] def read_cluster_count(opts = {}) data, _status_code, _headers = read_cluster_count_with_http_info(opts) @@ -1448,7 +1448,7 @@ def read_cluster_count(opts = {}) # Retrieve cluster counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @return [Array<(CommonCountResponse, Integer, Hash)>] CommonCountResponse data, response status code and response headers def read_cluster_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -1617,7 +1617,7 @@ def read_clusters_by_date_range_count_with_http_info(opts = {}) # Bucket clusters by kubernetes version # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @return [ModelsAggregateValuesByFieldResponse] def read_clusters_by_kubernetes_version_count(opts = {}) data, _status_code, _headers = read_clusters_by_kubernetes_version_count_with_http_info(opts) @@ -1626,7 +1626,7 @@ def read_clusters_by_kubernetes_version_count(opts = {}) # Bucket clusters by kubernetes version # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers def read_clusters_by_kubernetes_version_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -1675,7 +1675,7 @@ def read_clusters_by_kubernetes_version_count_with_http_info(opts = {}) # Bucket clusters by status # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @return [ModelsAggregateValuesByFieldResponse] def read_clusters_by_status_count(opts = {}) data, _status_code, _headers = read_clusters_by_status_count_with_http_info(opts) @@ -1684,7 +1684,7 @@ def read_clusters_by_status_count(opts = {}) # Bucket clusters by status # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers def read_clusters_by_status_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -1733,7 +1733,7 @@ def read_clusters_by_status_count_with_http_info(opts = {}) # Retrieve containers identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -1745,7 +1745,7 @@ def read_container_combined(opts = {}) # Retrieve containers identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -1800,7 +1800,7 @@ def read_container_combined_with_http_info(opts = {}) # Retrieve container counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [CommonCountResponse] def read_container_count(opts = {}) data, _status_code, _headers = read_container_count_with_http_info(opts) @@ -1809,7 +1809,7 @@ def read_container_count(opts = {}) # Retrieve container counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(CommonCountResponse, Integer, Hash)>] CommonCountResponse data, response status code and response headers def read_container_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -1984,7 +1984,7 @@ def read_container_enrichment_with_http_info(container_id, opts = {}) # Retrieve count of image assessment detections on running containers over a period of time # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAPIFilterResponse] def read_container_image_detections_count_by_date(opts = {}) data, _status_code, _headers = read_container_image_detections_count_by_date_with_http_info(opts) @@ -1993,7 +1993,7 @@ def read_container_image_detections_count_by_date(opts = {}) # Retrieve count of image assessment detections on running containers over a period of time # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(ModelsAPIFilterResponse, Integer, Hash)>] ModelsAPIFilterResponse data, response status code and response headers def read_container_image_detections_count_by_date_with_http_info(opts = {}) if @api_client.config.debugging @@ -2042,7 +2042,7 @@ def read_container_image_detections_count_by_date_with_http_info(opts = {}) # Bucket container by image-digest # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAggregateValuesByFieldResponse] def read_container_images_by_most_used(opts = {}) data, _status_code, _headers = read_container_images_by_most_used_with_http_info(opts) @@ -2051,7 +2051,7 @@ def read_container_images_by_most_used(opts = {}) # Bucket container by image-digest # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers def read_container_images_by_most_used_with_http_info(opts = {}) if @api_client.config.debugging @@ -2158,7 +2158,7 @@ def read_container_images_by_state_with_http_info(opts = {}) # Retrieve container vulnerabilities by severity counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAggregateValuesByFieldResponse] def read_container_vulnerabilities_by_severity_count(opts = {}) data, _status_code, _headers = read_container_vulnerabilities_by_severity_count_with_http_info(opts) @@ -2167,7 +2167,7 @@ def read_container_vulnerabilities_by_severity_count(opts = {}) # Retrieve container vulnerabilities by severity counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers def read_container_vulnerabilities_by_severity_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -2216,7 +2216,7 @@ def read_container_vulnerabilities_by_severity_count_with_http_info(opts = {}) # Retrieve containers by date range counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAggregateValuesByFieldResponse] def read_containers_by_date_range_count(opts = {}) data, _status_code, _headers = read_containers_by_date_range_count_with_http_info(opts) @@ -2225,7 +2225,7 @@ def read_containers_by_date_range_count(opts = {}) # Retrieve containers by date range counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers def read_containers_by_date_range_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -2274,7 +2274,7 @@ def read_containers_by_date_range_count_with_http_info(opts = {}) # Bucket containers by agent type and calculate sensor coverage # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAggregateValuesByFieldResponse] def read_containers_sensor_coverage(opts = {}) data, _status_code, _headers = read_containers_sensor_coverage_with_http_info(opts) @@ -2283,7 +2283,7 @@ def read_containers_sensor_coverage(opts = {}) # Bucket containers by agent type and calculate sensor coverage # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers def read_containers_sensor_coverage_with_http_info(opts = {}) if @api_client.config.debugging @@ -2332,7 +2332,7 @@ def read_containers_sensor_coverage_with_http_info(opts = {}) # Retrieve kubernetes deployments identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count + # @option opts [String] :filter Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -2344,7 +2344,7 @@ def read_deployment_combined(opts = {}) # Retrieve kubernetes deployments identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count + # @option opts [String] :filter Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -2399,7 +2399,7 @@ def read_deployment_combined_with_http_info(opts = {}) # Retrieve deployment counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count + # @option opts [String] :filter Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status # @return [CommonCountResponse] def read_deployment_count(opts = {}) data, _status_code, _headers = read_deployment_count_with_http_info(opts) @@ -2408,7 +2408,7 @@ def read_deployment_count(opts = {}) # Retrieve deployment counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count + # @option opts [String] :filter Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status # @return [Array<(CommonCountResponse, Integer, Hash)>] CommonCountResponse data, response status code and response headers def read_deployment_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -2577,7 +2577,7 @@ def read_deployments_by_date_range_count_with_http_info(opts = {}) # Retrieve count of distinct images running on containers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAPIFilterResponse] def read_distinct_container_image_count(opts = {}) data, _status_code, _headers = read_distinct_container_image_count_with_http_info(opts) @@ -2586,7 +2586,7 @@ def read_distinct_container_image_count(opts = {}) # Retrieve count of distinct images running on containers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(ModelsAPIFilterResponse, Integer, Hash)>] ModelsAPIFilterResponse data, response status code and response headers def read_distinct_container_image_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -2635,7 +2635,7 @@ def read_distinct_container_image_count_with_http_info(opts = {}) # Returns the count of Kubernetes IOMs by the date. by default it's for 7 days. # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity # @return [K8siomsKubernetesIOMFieldValue] def read_kubernetes_iom_by_date_range(opts = {}) data, _status_code, _headers = read_kubernetes_iom_by_date_range_with_http_info(opts) @@ -2644,7 +2644,7 @@ def read_kubernetes_iom_by_date_range(opts = {}) # Returns the count of Kubernetes IOMs by the date. by default it's for 7 days. # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity # @return [Array<(K8siomsKubernetesIOMFieldValue, Integer, Hash)>] K8siomsKubernetesIOMFieldValue data, response status code and response headers def read_kubernetes_iom_by_date_range_with_http_info(opts = {}) if @api_client.config.debugging @@ -2693,7 +2693,7 @@ def read_kubernetes_iom_by_date_range_with_http_info(opts = {}) # Returns the total count of Kubernetes IOMs over the past seven days # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity # @return [K8siomsKubernetesIOMCountValue] def read_kubernetes_iom_count(opts = {}) data, _status_code, _headers = read_kubernetes_iom_count_with_http_info(opts) @@ -2702,7 +2702,7 @@ def read_kubernetes_iom_count(opts = {}) # Returns the total count of Kubernetes IOMs over the past seven days # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity # @return [Array<(K8siomsKubernetesIOMCountValue, Integer, Hash)>] K8siomsKubernetesIOMCountValue data, response status code and response headers def read_kubernetes_iom_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -2807,9 +2807,122 @@ def read_kubernetes_iom_entities_with_http_info(opts = {}) return data, status_code, headers end + # Retrieve namespace counts + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Retrieve count of Kubernetes namespaces that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,first_seen,kac_agent_id,last_seen,namespace_id,namespace_name,resource_status + # @return [CommonCountResponse] + def read_namespace_count(opts = {}) + data, _status_code, _headers = read_namespace_count_with_http_info(opts) + data + end + + # Retrieve namespace counts + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Retrieve count of Kubernetes namespaces that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,first_seen,kac_agent_id,last_seen,namespace_id,namespace_name,resource_status + # @return [Array<(CommonCountResponse, Integer, Hash)>] CommonCountResponse data, response status code and response headers + def read_namespace_count_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: KubernetesProtectionApi.read_namespace_count ...' + end + # resource path + local_var_path = '/container-security/aggregates/namespaces/count/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'CommonCountResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"KubernetesProtectionApi.read_namespace_count", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: KubernetesProtectionApi#read_namespace_count\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieve namespaces by date range counts + # @param [Hash] opts the optional parameters + # @return [ModelsAggregateValuesByFieldResponse] + def read_namespaces_by_date_range_count(opts = {}) + data, _status_code, _headers = read_namespaces_by_date_range_count_with_http_info(opts) + data + end + + # Retrieve namespaces by date range counts + # @param [Hash] opts the optional parameters + # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers + def read_namespaces_by_date_range_count_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: KubernetesProtectionApi.read_namespaces_by_date_range_count ...' + end + # resource path + local_var_path = '/container-security/aggregates/namespaces/count-by-date/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ModelsAggregateValuesByFieldResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"KubernetesProtectionApi.read_namespaces_by_date_range_count", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: KubernetesProtectionApi#read_namespaces_by_date_range_count\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Retrieve kubernetes nodes identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -2821,7 +2934,7 @@ def read_node_combined(opts = {}) # Retrieve kubernetes nodes identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -2876,7 +2989,7 @@ def read_node_combined_with_http_info(opts = {}) # Retrieve node counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [CommonCountResponse] def read_node_count(opts = {}) data, _status_code, _headers = read_node_count_with_http_info(opts) @@ -2885,7 +2998,7 @@ def read_node_count(opts = {}) # Retrieve node counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [Array<(CommonCountResponse, Integer, Hash)>] CommonCountResponse data, response status code and response headers def read_node_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -2999,7 +3112,7 @@ def read_node_enrichment_with_http_info(node_name, opts = {}) # Bucket nodes by cloud providers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [ModelsAggregateValuesByFieldResponse] def read_nodes_by_cloud_count(opts = {}) data, _status_code, _headers = read_nodes_by_cloud_count_with_http_info(opts) @@ -3008,7 +3121,7 @@ def read_nodes_by_cloud_count(opts = {}) # Bucket nodes by cloud providers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers def read_nodes_by_cloud_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -3057,7 +3170,7 @@ def read_nodes_by_cloud_count_with_http_info(opts = {}) # Bucket nodes by their container engine version # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [ModelsAggregateValuesByFieldResponse] def read_nodes_by_container_engine_version_count(opts = {}) data, _status_code, _headers = read_nodes_by_container_engine_version_count_with_http_info(opts) @@ -3066,7 +3179,7 @@ def read_nodes_by_container_engine_version_count(opts = {}) # Bucket nodes by their container engine version # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers def read_nodes_by_container_engine_version_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -3115,7 +3228,7 @@ def read_nodes_by_container_engine_version_count_with_http_info(opts = {}) # Retrieve nodes by date range counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [ModelsAggregateValuesByFieldResponse] def read_nodes_by_date_range_count(opts = {}) data, _status_code, _headers = read_nodes_by_date_range_count_with_http_info(opts) @@ -3124,7 +3237,7 @@ def read_nodes_by_date_range_count(opts = {}) # Retrieve nodes by date range counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [Array<(ModelsAggregateValuesByFieldResponse, Integer, Hash)>] ModelsAggregateValuesByFieldResponse data, response status code and response headers def read_nodes_by_date_range_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -3173,7 +3286,7 @@ def read_nodes_by_date_range_count_with_http_info(opts = {}) # Retrieve kubernetes pods identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user + # @option opts [String] :filter Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -3185,7 +3298,7 @@ def read_pod_combined(opts = {}) # Retrieve kubernetes pods identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user + # @option opts [String] :filter Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -3240,7 +3353,7 @@ def read_pod_combined_with_http_info(opts = {}) # Retrieve pod counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user + # @option opts [String] :filter Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user # @return [CommonCountResponse] def read_pod_count(opts = {}) data, _status_code, _headers = read_pod_count_with_http_info(opts) @@ -3249,7 +3362,7 @@ def read_pod_count(opts = {}) # Retrieve pod counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user + # @option opts [String] :filter Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user # @return [Array<(CommonCountResponse, Integer, Hash)>] CommonCountResponse data, response status code and response headers def read_pod_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -3418,7 +3531,7 @@ def read_pods_by_date_range_count_with_http_info(opts = {}) # Retrieve images on running containers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status + # @option opts [String] :filter Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,cluster_id,cluster_name,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -3430,7 +3543,7 @@ def read_running_container_images(opts = {}) # Retrieve images on running containers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status + # @option opts [String] :filter Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,cluster_id,cluster_name,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -3485,7 +3598,7 @@ def read_running_container_images_with_http_info(opts = {}) # Retrieve count of vulnerable images running on containers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAPIFilterResponse] def read_vulnerable_container_image_count(opts = {}) data, _status_code, _headers = read_vulnerable_container_image_count_with_http_info(opts) @@ -3494,7 +3607,7 @@ def read_vulnerable_container_image_count(opts = {}) # Retrieve count of vulnerable images running on containers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [Array<(ModelsAPIFilterResponse, Integer, Hash)>] ModelsAPIFilterResponse data, response status code and response headers def read_vulnerable_container_image_count_with_http_info(opts = {}) if @api_client.config.debugging @@ -3598,7 +3711,7 @@ def regenerate_api_key_with_http_info(opts = {}) # Search Kubernetes IOM by the provided search criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity + # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort The fields to sort the records on. @@ -3610,7 +3723,7 @@ def search_and_read_kubernetes_iom_entities(opts = {}) # Search Kubernetes IOM by the provided search criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity + # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort The fields to sort the records on. @@ -3665,7 +3778,7 @@ def search_and_read_kubernetes_iom_entities_with_http_info(opts = {}) # Search Kubernetes IOMs by the provided search criteria. this endpoint returns a list of Kubernetes IOM UUIDs matching the query # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity + # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort The fields to sort the records on. @@ -3677,7 +3790,7 @@ def search_kubernetes_ioms(opts = {}) # Search Kubernetes IOMs by the provided search criteria. this endpoint returns a list of Kubernetes IOM UUIDs matching the query # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity + # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort The fields to sort the records on. diff --git a/lib/crimson-falcon/api/message_center_api.rb b/lib/crimson-falcon/api/message_center_api.rb index 1be65404..a77280de 100644 --- a/lib/crimson-falcon/api/message_center_api.rb +++ b/lib/crimson-falcon/api/message_center_api.rb @@ -606,7 +606,7 @@ def query_activity_by_case_id_with_http_info(case_id, opts = {}) if @api_client.config.client_side_validation && case_id.nil? fail ArgumentError, "Missing the required parameter 'case_id' when calling MessageCenterApi.query_activity_by_case_id" end - allowable_values = ["activity.type.asc", "activity.type.desc"] + allowable_values = ["activity.created_time.asc", "activity.created_time.desc"] if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort']) fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}" end diff --git a/lib/crimson-falcon/api/mobile_enrollment_api.rb b/lib/crimson-falcon/api/mobile_enrollment_api.rb index e413927a..c485c057 100644 --- a/lib/crimson-falcon/api/mobile_enrollment_api.rb +++ b/lib/crimson-falcon/api/mobile_enrollment_api.rb @@ -111,5 +111,81 @@ def request_device_enrollment_v3_with_http_info(body, opts = {}) end return data, status_code, headers end + + # Trigger on-boarding process for a mobile device + # @param body [ApiPostEnrollmentDetailsV4] + # @param [Hash] opts the optional parameters + # @option opts [String] :action_name Action to perform + # @option opts [String] :filter FQL filter + # @return [ApiPostEnrollmentDetailsResponse] + def request_device_enrollment_v4(body, opts = {}) + data, _status_code, _headers = request_device_enrollment_v4_with_http_info(body, opts) + data + end + + # Trigger on-boarding process for a mobile device + # @param body [ApiPostEnrollmentDetailsV4] + # @param [Hash] opts the optional parameters + # @option opts [String] :action_name Action to perform + # @option opts [String] :filter FQL filter + # @return [Array<(ApiPostEnrollmentDetailsResponse, Integer, Hash)>] ApiPostEnrollmentDetailsResponse data, response status code and response headers + def request_device_enrollment_v4_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: MobileEnrollmentApi.request_device_enrollment_v4 ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling MobileEnrollmentApi.request_device_enrollment_v4" + end + allowable_values = ["enroll", "re-enroll"] + if @api_client.config.client_side_validation && opts[:'action_name'] && !allowable_values.include?(opts[:'action_name']) + fail ArgumentError, "invalid value for \"action_name\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/enrollments/entities/details/v4' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'action_name'] = opts[:'action_name'] if !opts[:'action_name'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ApiPostEnrollmentDetailsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"MobileEnrollmentApi.request_device_enrollment_v4", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: MobileEnrollmentApi#request_device_enrollment_v4\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end end end diff --git a/lib/crimson-falcon/api/oauth2_api.rb b/lib/crimson-falcon/api/oauth2_api.rb index e2371fd9..73a6c92b 100644 --- a/lib/crimson-falcon/api/oauth2_api.rb +++ b/lib/crimson-falcon/api/oauth2_api.rb @@ -94,7 +94,7 @@ def oauth2_access_token_with_http_info(client_id, client_secret, opts = {}) return_type = opts[:debug_return_type] || 'DomainAccessTokenResponseV1' # auth_names - auth_names = opts[:debug_auth_names] || ['basicAuth'] + auth_names = opts[:debug_auth_names] || [] new_options = opts.merge( :operation => :"Oauth2Api.oauth2_access_token", @@ -117,7 +117,7 @@ def oauth2_access_token_with_http_info(client_id, client_secret, opts = {}) # @param token [String] The OAuth2 access token you want to revoke. Include your API client ID and secret in basic auth format (`Authorization: basic <encoded API client ID and secret>`) in your request header. # @param [Hash] opts the optional parameters # @option opts [String] :client_id The OAuth2 client ID you are revoking the token for. - # @return [MsaReplyMetaOnly] + # @return [MsaspecResponseFields] def oauth2_revoke_token(token, opts = {}) data, _status_code, _headers = oauth2_revoke_token_with_http_info(token, opts) data @@ -127,7 +127,7 @@ def oauth2_revoke_token(token, opts = {}) # @param token [String] The OAuth2 access token you want to revoke. Include your API client ID and secret in basic auth format (`Authorization: basic <encoded API client ID and secret>`) in your request header. # @param [Hash] opts the optional parameters # @option opts [String] :client_id The OAuth2 client ID you are revoking the token for. - # @return [Array<(MsaReplyMetaOnly, Integer, Hash)>] MsaReplyMetaOnly data, response status code and response headers + # @return [Array<(MsaspecResponseFields, Integer, Hash)>] MsaspecResponseFields data, response status code and response headers def oauth2_revoke_token_with_http_info(token, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: Oauth2Api.oauth2_revoke_token ...' @@ -161,10 +161,10 @@ def oauth2_revoke_token_with_http_info(token, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'MsaReplyMetaOnly' + return_type = opts[:debug_return_type] || 'MsaspecResponseFields' # auth_names - auth_names = opts[:debug_auth_names] || ['basicAuth'] + auth_names = opts[:debug_auth_names] || [] new_options = opts.merge( :operation => :"Oauth2Api.oauth2_revoke_token", diff --git a/lib/crimson-falcon/api/quick_scan_api.rb b/lib/crimson-falcon/api/quick_scan_api.rb index 9dacb746..83122939 100644 --- a/lib/crimson-falcon/api/quick_scan_api.rb +++ b/lib/crimson-falcon/api/quick_scan_api.rb @@ -171,8 +171,8 @@ def get_scans_aggregates_with_http_info(body, opts = {}) # @option opts [Integer] :limit Maximum number of volume IDs to return. Max: 5000. # @option opts [String] :sort Sort order: `asc` or `desc`. # @return [MlscannerapiQueryResponse] - def query_submissions_mixin0(opts = {}) - data, _status_code, _headers = query_submissions_mixin0_with_http_info(opts) + def query_submissions(opts = {}) + data, _status_code, _headers = query_submissions_with_http_info(opts) data end @@ -183,9 +183,9 @@ def query_submissions_mixin0(opts = {}) # @option opts [Integer] :limit Maximum number of volume IDs to return. Max: 5000. # @option opts [String] :sort Sort order: `asc` or `desc`. # @return [Array<(MlscannerapiQueryResponse, Integer, Hash)>] MlscannerapiQueryResponse data, response status code and response headers - def query_submissions_mixin0_with_http_info(opts = {}) + def query_submissions_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: QuickScanApi.query_submissions_mixin0 ...' + @api_client.config.logger.debug 'Calling API: QuickScanApi.query_submissions ...' end # resource path local_var_path = '/scanner/queries/scans/v1' @@ -215,7 +215,7 @@ def query_submissions_mixin0_with_http_info(opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"QuickScanApi.query_submissions_mixin0", + :operation => :"QuickScanApi.query_submissions", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -226,7 +226,7 @@ def query_submissions_mixin0_with_http_info(opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: QuickScanApi#query_submissions_mixin0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: QuickScanApi#query_submissions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end diff --git a/lib/crimson-falcon/api/quick_scan_pro_api.rb b/lib/crimson-falcon/api/quick_scan_pro_api.rb new file mode 100644 index 00000000..7d3b08d9 --- /dev/null +++ b/lib/crimson-falcon/api/quick_scan_pro_api.rb @@ -0,0 +1,432 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class QuickScanProApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Deletes file by its sha256 identifier. + # @param ids [Array] File's SHA256 + # @param [Hash] opts the optional parameters + # @return [QuickscanproDeleteFileResponse] + def delete_file(ids, opts = {}) + data, _status_code, _headers = delete_file_with_http_info(ids, opts) + data + end + + # Deletes file by its sha256 identifier. + # @param ids [Array] File's SHA256 + # @param [Hash] opts the optional parameters + # @return [Array<(QuickscanproDeleteFileResponse, Integer, Hash)>] QuickscanproDeleteFileResponse data, response status code and response headers + def delete_file_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: QuickScanProApi.delete_file ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling QuickScanProApi.delete_file" + end + # resource path + local_var_path = '/quickscanpro/entities/files/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'QuickscanproDeleteFileResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"QuickScanProApi.delete_file", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: QuickScanProApi#delete_file\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Deletes the result of an QuickScan Pro scan. + # @param ids [Array] Scan job IDs previously created by LaunchScan + # @param [Hash] opts the optional parameters + # @return [MsaspecQueryResponse] + def delete_scan_result(ids, opts = {}) + data, _status_code, _headers = delete_scan_result_with_http_info(ids, opts) + data + end + + # Deletes the result of an QuickScan Pro scan. + # @param ids [Array] Scan job IDs previously created by LaunchScan + # @param [Hash] opts the optional parameters + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def delete_scan_result_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: QuickScanProApi.delete_scan_result ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling QuickScanProApi.delete_scan_result" + end + # resource path + local_var_path = '/quickscanpro/entities/scans/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"QuickScanProApi.delete_scan_result", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: QuickScanProApi#delete_scan_result\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Gets the result of an QuickScan Pro scan. + # @param ids [Array] Scan job IDs previously created by LaunchScan + # @param [Hash] opts the optional parameters + # @return [QuickscanproGetScanResultResponse] + def get_scan_result(ids, opts = {}) + data, _status_code, _headers = get_scan_result_with_http_info(ids, opts) + data + end + + # Gets the result of an QuickScan Pro scan. + # @param ids [Array] Scan job IDs previously created by LaunchScan + # @param [Hash] opts the optional parameters + # @return [Array<(QuickscanproGetScanResultResponse, Integer, Hash)>] QuickscanproGetScanResultResponse data, response status code and response headers + def get_scan_result_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: QuickScanProApi.get_scan_result ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling QuickScanProApi.get_scan_result" + end + # resource path + local_var_path = '/quickscanpro/entities/scans/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'QuickscanproGetScanResultResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"QuickScanProApi.get_scan_result", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: QuickScanProApi#get_scan_result\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Starts scanning a file uploaded through '/quickscanpro/entities/files/v1'. + # @param body [QuickscanproLaunchScanRequest] + # @param [Hash] opts the optional parameters + # @return [QuickscanproLaunchScanResponse] + def launch_scan(body, opts = {}) + data, _status_code, _headers = launch_scan_with_http_info(body, opts) + data + end + + # Starts scanning a file uploaded through '/quickscanpro/entities/files/v1'. + # @param body [QuickscanproLaunchScanRequest] + # @param [Hash] opts the optional parameters + # @return [Array<(QuickscanproLaunchScanResponse, Integer, Hash)>] QuickscanproLaunchScanResponse data, response status code and response headers + def launch_scan_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: QuickScanProApi.launch_scan ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling QuickScanProApi.launch_scan" + end + # resource path + local_var_path = '/quickscanpro/entities/scans/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'QuickscanproLaunchScanResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"QuickScanProApi.launch_scan", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: QuickScanProApi#launch_scan\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # FQL query specifying the filter parameters + # @param filter [String] Empty value means to not filter on anything Available filter fields that supports match (~): _all, mitre_attacks.description Available filter fields that supports exact match: cid,sha256,id,status,type,entity,executor,verdict,verdict_reason,verdict_source,artifacts.file_artifacts.sha256,artifacts.file_artifacts.filename,artifacts.file_artifacts.verdict,artifacts.file_artifacts.verdict_reasons,artifacts.url_artifacts.url,artifacts.url_artifacts.verdict,artifacts.url_artifacts.verdict_reasons,mitre_attacks.attack_id,mitre_attacks.attack_id_wiki,mitre_attacks.tactic,mitre_attacks.technique,mitre_attacks.capec_id,mitre_attacks.parent.attack_id,mitre_attacks.parent.attack_id_wiki,mitre_attacks.parent.technique Available filter fields that supports wildcard (*): mitre_attacks.description Available filter fields that supports range comparisons (>, <, >=, <=): created_timestamp, updated_timestamp All filter fields and operations supports negation (!). _all field is used to search between all fields. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The offset to start retrieving ids from. + # @option opts [Integer] :limit Maximum number of IDs to return. Max: 5000. (default to 50) + # @option opts [String] :sort Sort order: `asc` or `desc`. Sort supported fields `created_timestamp` + # @return [QuickscanproQueryScanResultsResponse] + def query_scan_results(filter, opts = {}) + data, _status_code, _headers = query_scan_results_with_http_info(filter, opts) + data + end + + # FQL query specifying the filter parameters + # @param filter [String] Empty value means to not filter on anything Available filter fields that supports match (~): _all, mitre_attacks.description Available filter fields that supports exact match: cid,sha256,id,status,type,entity,executor,verdict,verdict_reason,verdict_source,artifacts.file_artifacts.sha256,artifacts.file_artifacts.filename,artifacts.file_artifacts.verdict,artifacts.file_artifacts.verdict_reasons,artifacts.url_artifacts.url,artifacts.url_artifacts.verdict,artifacts.url_artifacts.verdict_reasons,mitre_attacks.attack_id,mitre_attacks.attack_id_wiki,mitre_attacks.tactic,mitre_attacks.technique,mitre_attacks.capec_id,mitre_attacks.parent.attack_id,mitre_attacks.parent.attack_id_wiki,mitre_attacks.parent.technique Available filter fields that supports wildcard (*): mitre_attacks.description Available filter fields that supports range comparisons (>, <, >=, <=): created_timestamp, updated_timestamp All filter fields and operations supports negation (!). _all field is used to search between all fields. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The offset to start retrieving ids from. + # @option opts [Integer] :limit Maximum number of IDs to return. Max: 5000. (default to 50) + # @option opts [String] :sort Sort order: `asc` or `desc`. Sort supported fields `created_timestamp` + # @return [Array<(QuickscanproQueryScanResultsResponse, Integer, Hash)>] QuickscanproQueryScanResultsResponse data, response status code and response headers + def query_scan_results_with_http_info(filter, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: QuickScanProApi.query_scan_results ...' + end + # verify the required parameter 'filter' is set + if @api_client.config.client_side_validation && filter.nil? + fail ArgumentError, "Missing the required parameter 'filter' when calling QuickScanProApi.query_scan_results" + end + # resource path + local_var_path = '/quickscanpro/queries/scans/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = filter + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'QuickscanproQueryScanResultsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"QuickScanProApi.query_scan_results", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: QuickScanProApi#query_scan_results\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Uploads a file to be further analyzed with QuickScan Pro. The samples expire after 90 days. + # @param file [File] Binary file to be uploaded. Max file size: 256 MB. + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :scan If true, after upload, it starts scanning immediately. Default scan mode is 'false' (default to false) + # @return [QuickscanproFileUploadResponse] + def upload_file_quick_scan_pro(file, opts = {}) + data, _status_code, _headers = upload_file_quick_scan_pro_with_http_info(file, opts) + data + end + + # Uploads a file to be further analyzed with QuickScan Pro. The samples expire after 90 days. + # @param file [File] Binary file to be uploaded. Max file size: 256 MB. + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :scan If true, after upload, it starts scanning immediately. Default scan mode is 'false' (default to false) + # @return [Array<(QuickscanproFileUploadResponse, Integer, Hash)>] QuickscanproFileUploadResponse data, response status code and response headers + def upload_file_quick_scan_pro_with_http_info(file, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: QuickScanProApi.upload_file_quick_scan_pro ...' + end + # verify the required parameter 'file' is set + if @api_client.config.client_side_validation && file.nil? + fail ArgumentError, "Missing the required parameter 'file' when calling QuickScanProApi.upload_file_quick_scan_pro" + end + # resource path + local_var_path = '/quickscanpro/entities/files/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['multipart/form-data']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + form_params['file'] = file + form_params['scan'] = opts[:'scan'] if !opts[:'scan'].nil? + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'QuickscanproFileUploadResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"QuickScanProApi.upload_file_quick_scan_pro", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: QuickScanProApi#upload_file_quick_scan_pro\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/real_time_response_admin_api.rb b/lib/crimson-falcon/api/real_time_response_admin_api.rb index 0e1d5da7..a7931594 100644 --- a/lib/crimson-falcon/api/real_time_response_admin_api.rb +++ b/lib/crimson-falcon/api/real_time_response_admin_api.rb @@ -37,7 +37,7 @@ def initialize(api_client = ApiClient.default) @api_client = api_client end # Batch executes a RTR administrator command across the hosts mapped to the given batch ID. - # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. + # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. # @param [Hash] opts the optional parameters # @option opts [Integer] :timeout Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. (default to 30) # @option opts [String] :timeout_duration Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. (default to '30s') @@ -49,7 +49,7 @@ def batch_admin_cmd(body, opts = {}) end # Batch executes a RTR administrator command across the hosts mapped to the given batch ID. - # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. + # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. # @param [Hash] opts the optional parameters # @option opts [Integer] :timeout Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. (default to 30) # @option opts [String] :timeout_duration Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. (default to '30s') @@ -490,7 +490,7 @@ def r_tr_delete_scripts_with_http_info(ids, opts = {}) end # Execute a RTR administrator command on a single host. - # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on + # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on # @param [Hash] opts the optional parameters # @return [DomainCommandExecuteResponseWrapper] def r_tr_execute_admin_command(body, opts = {}) @@ -499,7 +499,7 @@ def r_tr_execute_admin_command(body, opts = {}) end # Execute a RTR administrator command on a single host. - # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on + # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on # @param [Hash] opts the optional parameters # @return [Array<(DomainCommandExecuteResponseWrapper, Integer, Hash)>] DomainCommandExecuteResponseWrapper data, response status code and response headers def r_tr_execute_admin_command_with_http_info(body, opts = {}) diff --git a/lib/crimson-falcon/api/real_time_response_api.rb b/lib/crimson-falcon/api/real_time_response_api.rb index e3ca0c5d..0fef25e7 100644 --- a/lib/crimson-falcon/api/real_time_response_api.rb +++ b/lib/crimson-falcon/api/real_time_response_api.rb @@ -37,7 +37,7 @@ def initialize(api_client = ApiClient.default) @api_client = api_client end # Batch executes a RTR active-responder command across the hosts mapped to the given batch ID. - # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. + # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. # @param [Hash] opts the optional parameters # @option opts [Integer] :timeout Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. (default to 30) # @option opts [String] :timeout_duration Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. (default to '30s') @@ -49,7 +49,7 @@ def batch_active_responder_cmd(body, opts = {}) end # Batch executes a RTR active-responder command across the hosts mapped to the given batch ID. - # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. + # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. # @param [Hash] opts the optional parameters # @option opts [Integer] :timeout Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. (default to 30) # @option opts [String] :timeout_duration Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. (default to '30s') @@ -112,7 +112,7 @@ def batch_active_responder_cmd_with_http_info(body, opts = {}) end # Batch executes a RTR read-only command across the hosts mapped to the given batch ID. - # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. + # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. # @param [Hash] opts the optional parameters # @option opts [Integer] :timeout Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. (default to 30) # @option opts [String] :timeout_duration Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. (default to '30s') @@ -124,7 +124,7 @@ def batch_cmd(body, opts = {}) end # Batch executes a RTR read-only command across the hosts mapped to the given batch ID. - # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. + # @param body [DomainBatchExecuteCommandRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. # @param [Hash] opts the optional parameters # @option opts [Integer] :timeout Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. (default to 30) # @option opts [String] :timeout_duration Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. (default to '30s') @@ -950,7 +950,7 @@ def r_tr_delete_session_with_http_info(session_id, opts = {}) end # Execute an active responder command on a single host. - # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on + # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on # @param [Hash] opts the optional parameters # @return [DomainCommandExecuteResponseWrapper] def r_tr_execute_active_responder_command(body, opts = {}) @@ -959,7 +959,7 @@ def r_tr_execute_active_responder_command(body, opts = {}) end # Execute an active responder command on a single host. - # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on + # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on # @param [Hash] opts the optional parameters # @return [Array<(DomainCommandExecuteResponseWrapper, Integer, Hash)>] DomainCommandExecuteResponseWrapper data, response status code and response headers def r_tr_execute_active_responder_command_with_http_info(body, opts = {}) @@ -1016,7 +1016,7 @@ def r_tr_execute_active_responder_command_with_http_info(body, opts = {}) end # Execute a command on a single host. - # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on + # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on # @param [Hash] opts the optional parameters # @return [DomainCommandExecuteResponseWrapper] def r_tr_execute_command(body, opts = {}) @@ -1025,7 +1025,7 @@ def r_tr_execute_command(body, opts = {}) end # Execute a command on a single host. - # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on + # @param body [DomainCommandExecuteRequest] Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on # @param [Hash] opts the optional parameters # @return [Array<(DomainCommandExecuteResponseWrapper, Integer, Hash)>] DomainCommandExecuteResponseWrapper data, response status code and response headers def r_tr_execute_command_with_http_info(body, opts = {}) @@ -1086,7 +1086,7 @@ def r_tr_execute_command_with_http_info(body, opts = {}) # @param sha256 [String] Extracted SHA256 (e.g. 'efa256a96af3b556cd3fc9d8b1cf587d72807d7805ced441e8149fc279db422b') # @param [Hash] opts the optional parameters # @option opts [String] :filename Filename to use for the archive name and the file within the archive. - # @return [Array] + # @return [File] def r_tr_get_extracted_file_contents(session_id, sha256, opts = {}) data, _status_code, _headers = r_tr_get_extracted_file_contents_with_http_info(session_id, sha256, opts) data @@ -1097,7 +1097,7 @@ def r_tr_get_extracted_file_contents(session_id, sha256, opts = {}) # @param sha256 [String] Extracted SHA256 (e.g. 'efa256a96af3b556cd3fc9d8b1cf587d72807d7805ced441e8149fc279db422b') # @param [Hash] opts the optional parameters # @option opts [String] :filename Filename to use for the archive name and the file within the archive. - # @return [Array<(Array, Integer, Hash)>] Array data, response status code and response headers + # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers def r_tr_get_extracted_file_contents_with_http_info(session_id, sha256, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: RealTimeResponseApi.r_tr_get_extracted_file_contents ...' @@ -1131,7 +1131,7 @@ def r_tr_get_extracted_file_contents_with_http_info(session_id, sha256, opts = { post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'Array' + return_type = opts[:debug_return_type] || 'File' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] diff --git a/lib/crimson-falcon/api/recon_api.rb b/lib/crimson-falcon/api/recon_api.rb index d88476ff..bf26d002 100644 --- a/lib/crimson-falcon/api/recon_api.rb +++ b/lib/crimson-falcon/api/recon_api.rb @@ -772,7 +772,7 @@ def get_file_content_for_export_jobs_v1_with_http_info(id, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream']) + header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream', 'application/json']) # form parameters form_params = opts[:form_params] || {} @@ -803,7 +803,8 @@ def get_file_content_for_export_jobs_v1_with_http_info(id, opts = {}) return data, status_code, headers end - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match.This endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request + # Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. + # Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. This API endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request. In case the item's content is only partial, a URL is provided under the resource's 'details.full_content_url' path, but the content available at this URL will be the original one. # @param ids [Array] Notification IDs. # @param [Hash] opts the optional parameters # @return [DomainNotificationDetailsResponseV1] @@ -812,7 +813,8 @@ def get_notifications_detailed_translated_v1(ids, opts = {}) data end - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match.This endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request + # Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. + # Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. This API endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request. In case the item's content is only partial, a URL is provided under the resource's 'details.full_content_url' path, but the content available at this URL will be the original one. # @param ids [Array] Notification IDs. # @param [Hash] opts the optional parameters # @return [Array<(DomainNotificationDetailsResponseV1, Integer, Hash)>] DomainNotificationDetailsResponseV1 data, response status code and response headers @@ -865,7 +867,8 @@ def get_notifications_detailed_translated_v1_with_http_info(ids, opts = {}) return data, status_code, headers end - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match. + # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. + # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. In case the content is only partial, a URL is provided under the resource's 'details.full_content_url' path. When present, use this URL to retrieve the full raw text content of the item. Please note this URL has a limited TTL. To get a fresh valid one, perform a new call to this API endpoint. # @param ids [Array] Notification IDs. # @param [Hash] opts the optional parameters # @return [DomainNotificationDetailsResponseV1] @@ -874,7 +877,8 @@ def get_notifications_detailed_v1(ids, opts = {}) data end - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match. + # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. + # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. In case the content is only partial, a URL is provided under the resource's 'details.full_content_url' path. When present, use this URL to retrieve the full raw text content of the item. Please note this URL has a limited TTL. To get a fresh valid one, perform a new call to this API endpoint. # @param ids [Array] Notification IDs. # @param [Hash] opts the optional parameters # @return [Array<(DomainNotificationDetailsResponseV1, Integer, Hash)>] DomainNotificationDetailsResponseV1 data, response status code and response headers @@ -1482,6 +1486,7 @@ def query_notifications_v1_with_http_info(opts = {}) # @option opts [String] :sort Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. # @option opts [String] :filter FQL query to filter rules by. Possible filter properties are: [id cid user_uuid topic priority permissions status filter breach_monitoring_enabled substring_matching_enabled created_timestamp last_updated_timestamp]. # @option opts [String] :q Free text search across all indexed fields. + # @option opts [String] :secondary_sort Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. # @return [DomainRuleQueryResponseV1] def query_rules_v1(opts = {}) data, _status_code, _headers = query_rules_v1_with_http_info(opts) @@ -1495,6 +1500,7 @@ def query_rules_v1(opts = {}) # @option opts [String] :sort Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. # @option opts [String] :filter FQL query to filter rules by. Possible filter properties are: [id cid user_uuid topic priority permissions status filter breach_monitoring_enabled substring_matching_enabled created_timestamp last_updated_timestamp]. # @option opts [String] :q Free text search across all indexed fields. + # @option opts [String] :secondary_sort Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. # @return [Array<(DomainRuleQueryResponseV1, Integer, Hash)>] DomainRuleQueryResponseV1 data, response status code and response headers def query_rules_v1_with_http_info(opts = {}) if @api_client.config.debugging @@ -1518,6 +1524,7 @@ def query_rules_v1_with_http_info(opts = {}) query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil? + query_params[:'secondarySort'] = opts[:'secondary_sort'] if !opts[:'secondary_sort'].nil? # header parameters header_params = opts[:header_params] || {} diff --git a/lib/crimson-falcon/api/report_executions_api.rb b/lib/crimson-falcon/api/report_executions_api.rb index da04363e..fcd0cf02 100644 --- a/lib/crimson-falcon/api/report_executions_api.rb +++ b/lib/crimson-falcon/api/report_executions_api.rb @@ -36,19 +36,19 @@ class ReportExecutionsApi def initialize(api_client = ApiClient.default) @api_client = api_client end - # Get report entity download + # Get report entity download. Returns either a JSON object or a CSV string. # @param ids [String] The report_execution id to download # @param [Hash] opts the optional parameters - # @return [Array] + # @return [Object] def report_executions_download_get(ids, opts = {}) data, _status_code, _headers = report_executions_download_get_with_http_info(ids, opts) data end - # Get report entity download + # Get report entity download. Returns either a JSON object or a CSV string. # @param ids [String] The report_execution id to download # @param [Hash] opts the optional parameters - # @return [Array<(Array, Integer, Hash)>] Array data, response status code and response headers + # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers def report_executions_download_get_with_http_info(ids, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: ReportExecutionsApi.report_executions_download_get ...' @@ -67,7 +67,7 @@ def report_executions_download_get_with_http_info(ids, opts = {}) # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['*/*']) + header_params['Accept'] = @api_client.select_header_accept(['*/*', 'application/json', 'text/csv']) # form parameters form_params = opts[:form_params] || {} @@ -76,7 +76,7 @@ def report_executions_download_get_with_http_info(ids, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'Array' + return_type = opts[:debug_return_type] || 'Object' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] diff --git a/lib/crimson-falcon/api/sensor_download_api.rb b/lib/crimson-falcon/api/sensor_download_api.rb index d1043001..bc80e74e 100644 --- a/lib/crimson-falcon/api/sensor_download_api.rb +++ b/lib/crimson-falcon/api/sensor_download_api.rb @@ -39,7 +39,7 @@ def initialize(api_client = ApiClient.default) # Download sensor installer by SHA256 ID # @param id [String] SHA256 of the installer to download # @param [Hash] opts the optional parameters - # @return [Object] + # @return [File] def download_sensor_installer_by_id(id, opts = {}) data, _status_code, _headers = download_sensor_installer_by_id_with_http_info(id, opts) data @@ -48,7 +48,7 @@ def download_sensor_installer_by_id(id, opts = {}) # Download sensor installer by SHA256 ID # @param id [String] SHA256 of the installer to download # @param [Hash] opts the optional parameters - # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers + # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers def download_sensor_installer_by_id_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: SensorDownloadApi.download_sensor_installer_by_id ...' @@ -76,7 +76,7 @@ def download_sensor_installer_by_id_with_http_info(id, opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'Object' + return_type = opts[:debug_return_type] || 'File' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] @@ -98,6 +98,68 @@ def download_sensor_installer_by_id_with_http_info(id, opts = {}) return data, status_code, headers end + # Download sensor installer by SHA256 ID + # @param id [String] SHA256 of the installer to download + # @param [Hash] opts the optional parameters + # @return [File] + def download_sensor_installer_by_id_v2(id, opts = {}) + data, _status_code, _headers = download_sensor_installer_by_id_v2_with_http_info(id, opts) + data + end + + # Download sensor installer by SHA256 ID + # @param id [String] SHA256 of the installer to download + # @param [Hash] opts the optional parameters + # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers + def download_sensor_installer_by_id_v2_with_http_info(id, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: SensorDownloadApi.download_sensor_installer_by_id_v2 ...' + end + # verify the required parameter 'id' is set + if @api_client.config.client_side_validation && id.nil? + fail ArgumentError, "Missing the required parameter 'id' when calling SensorDownloadApi.download_sensor_installer_by_id_v2" + end + # resource path + local_var_path = '/sensors/entities/download-installer/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'id'] = id + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/octet-stream']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'File' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"SensorDownloadApi.download_sensor_installer_by_id_v2", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: SensorDownloadApi#download_sensor_installer_by_id_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Get sensor installer details by provided query # @param [Hash] opts the optional parameters # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. @@ -165,6 +227,73 @@ def get_combined_sensor_installers_by_query_with_http_info(opts = {}) return data, status_code, headers end + # Get sensor installer details by provided query + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + # @option opts [String] :sort Sort items using their properties. Common sort options include: <ul><li>version|asc</li><li>release_date|desc</li></ul> + # @option opts [String] :filter Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include: <ul><li>platform:\"windows\"</li><li>version:>\"5.2\"</li></ul> + # @return [DomainSensorInstallersV2] + def get_combined_sensor_installers_by_query_v2(opts = {}) + data, _status_code, _headers = get_combined_sensor_installers_by_query_v2_with_http_info(opts) + data + end + + # Get sensor installer details by provided query + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + # @option opts [String] :sort Sort items using their properties. Common sort options include: <ul><li>version|asc</li><li>release_date|desc</li></ul> + # @option opts [String] :filter Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include: <ul><li>platform:\"windows\"</li><li>version:>\"5.2\"</li></ul> + # @return [Array<(DomainSensorInstallersV2, Integer, Hash)>] DomainSensorInstallersV2 data, response status code and response headers + def get_combined_sensor_installers_by_query_v2_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: SensorDownloadApi.get_combined_sensor_installers_by_query_v2 ...' + end + # resource path + local_var_path = '/sensors/combined/installers/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainSensorInstallersV2' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"SensorDownloadApi.get_combined_sensor_installers_by_query_v2", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: SensorDownloadApi#get_combined_sensor_installers_by_query_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Get sensor installer IDs by provided query # @param [Hash] opts the optional parameters # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. @@ -232,6 +361,73 @@ def get_sensor_installers_by_query_with_http_info(opts = {}) return data, status_code, headers end + # Get sensor installer IDs by provided query + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + # @option opts [String] :sort Sort items using their properties. Common sort options include: <ul><li>version|asc</li><li>release_date|desc</li></ul> + # @option opts [String] :filter Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include: <ul><li>platform:\"windows\"</li><li>version:>\"5.2\"</li></ul> + # @return [MsaspecQueryResponse] + def get_sensor_installers_by_query_v2(opts = {}) + data, _status_code, _headers = get_sensor_installers_by_query_v2_with_http_info(opts) + data + end + + # Get sensor installer IDs by provided query + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + # @option opts [String] :sort Sort items using their properties. Common sort options include: <ul><li>version|asc</li><li>release_date|desc</li></ul> + # @option opts [String] :filter Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include: <ul><li>platform:\"windows\"</li><li>version:>\"5.2\"</li></ul> + # @return [Array<(MsaspecQueryResponse, Integer, Hash)>] MsaspecQueryResponse data, response status code and response headers + def get_sensor_installers_by_query_v2_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: SensorDownloadApi.get_sensor_installers_by_query_v2 ...' + end + # resource path + local_var_path = '/sensors/queries/installers/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'MsaspecQueryResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"SensorDownloadApi.get_sensor_installers_by_query_v2", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: SensorDownloadApi#get_sensor_installers_by_query_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Get CCID to use with sensor installers # @param [Hash] opts the optional parameters # @return [MsaspecQueryResponse] @@ -348,5 +544,67 @@ def get_sensor_installers_entities_with_http_info(ids, opts = {}) end return data, status_code, headers end + + # Get sensor installer details by provided SHA256 IDs + # @param ids [Array] The IDs of the installers + # @param [Hash] opts the optional parameters + # @return [DomainSensorInstallersV2] + def get_sensor_installers_entities_v2(ids, opts = {}) + data, _status_code, _headers = get_sensor_installers_entities_v2_with_http_info(ids, opts) + data + end + + # Get sensor installer details by provided SHA256 IDs + # @param ids [Array] The IDs of the installers + # @param [Hash] opts the optional parameters + # @return [Array<(DomainSensorInstallersV2, Integer, Hash)>] DomainSensorInstallersV2 data, response status code and response headers + def get_sensor_installers_entities_v2_with_http_info(ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: SensorDownloadApi.get_sensor_installers_entities_v2 ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling SensorDownloadApi.get_sensor_installers_entities_v2" + end + # resource path + local_var_path = '/sensors/entities/installers/v2' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'DomainSensorInstallersV2' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"SensorDownloadApi.get_sensor_installers_entities_v2", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: SensorDownloadApi#get_sensor_installers_entities_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end end end diff --git a/lib/crimson-falcon/api/sensor_update_policies_api.rb b/lib/crimson-falcon/api/sensor_update_policies_api.rb index 59673815..d4d7db26 100644 --- a/lib/crimson-falcon/api/sensor_update_policies_api.rb +++ b/lib/crimson-falcon/api/sensor_update_policies_api.rb @@ -865,7 +865,7 @@ def query_sensor_update_kernels_distinct_with_http_info(distinct_field, opts = { end # resource path - local_var_path = '/policy/queries/sensor-update-kernels/{distinct-field}/v1'.sub('{' + 'distinct-field' + '}', CGI.escape(distinct_field.to_s)) + local_var_path = '/policy/queries/sensor-update-kernels/{distinct_field}/v1'.sub('{' + 'distinct_field' + '}', CGI.escape(distinct_field.to_s)) # query parameters query_params = opts[:query_params] || {} diff --git a/lib/crimson-falcon/api/sensor_usage_api_api.rb b/lib/crimson-falcon/api/sensor_usage_api_api.rb new file mode 100644 index 00000000..f933167c --- /dev/null +++ b/lib/crimson-falcon/api/sensor_usage_api_api.rb @@ -0,0 +1,97 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class SensorUsageApiApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Fetches weekly average. Each data point represents the average of how many unique AIDs were seen per week for the previous 28 days. + # @param [Hash] opts the optional parameters + # @option opts [String] :filter The FQL search filter. Allowed fields: \"event_date\" : A specified date that will be final date of the results returned. Specified date cannot be after the default. Format: '2024-06-11' Default: the current date, minus 2 days, in UTC \"period\" : An integer surrounded by single quotes representing the number of days to return. Format: '30' Default: '28' Minimum: '1' Maximum: '395' \"selected_cids\" : A comma separated list of CIDs to return data for. Caller must be a parent CID or have special access enabled. Format: 'cid_1,cid_2,cid_3' Default: for parent CIDs the default is the parent and all children, otherwise the current CID + # @return [ApiWeeklyAverageResponse] + def get_sensor_usage_weekly(opts = {}) + data, _status_code, _headers = get_sensor_usage_weekly_with_http_info(opts) + data + end + + # Fetches weekly average. Each data point represents the average of how many unique AIDs were seen per week for the previous 28 days. + # @param [Hash] opts the optional parameters + # @option opts [String] :filter The FQL search filter. Allowed fields: \"event_date\" : A specified date that will be final date of the results returned. Specified date cannot be after the default. Format: '2024-06-11' Default: the current date, minus 2 days, in UTC \"period\" : An integer surrounded by single quotes representing the number of days to return. Format: '30' Default: '28' Minimum: '1' Maximum: '395' \"selected_cids\" : A comma separated list of CIDs to return data for. Caller must be a parent CID or have special access enabled. Format: 'cid_1,cid_2,cid_3' Default: for parent CIDs the default is the parent and all children, otherwise the current CID + # @return [Array<(ApiWeeklyAverageResponse, Integer, Hash)>] ApiWeeklyAverageResponse data, response status code and response headers + def get_sensor_usage_weekly_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: SensorUsageApiApi.get_sensor_usage_weekly ...' + end + # resource path + local_var_path = '/billing-dashboards-usage/aggregates/weekly-average/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ApiWeeklyAverageResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"SensorUsageApiApi.get_sensor_usage_weekly", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: SensorUsageApiApi#get_sensor_usage_weekly\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/spotlight_vulnerabilities_api.rb b/lib/crimson-falcon/api/spotlight_vulnerabilities_api.rb index d5b32fea..9c68e3af 100644 --- a/lib/crimson-falcon/api/spotlight_vulnerabilities_api.rb +++ b/lib/crimson-falcon/api/spotlight_vulnerabilities_api.rb @@ -184,8 +184,8 @@ def get_remediations_v2_with_http_info(ids, opts = {}) # @param ids [Array] One or more vulnerability IDs (max: 400). Find vulnerability IDs with GET /spotlight/queries/vulnerabilities/v1 # @param [Hash] opts the optional parameters # @return [DomainSPAPIVulnerabilitiesEntitiesResponseV2] - def get_vulnerabilities(ids, opts = {}) - data, _status_code, _headers = get_vulnerabilities_with_http_info(ids, opts) + def get_vulnerabilities_0(ids, opts = {}) + data, _status_code, _headers = get_vulnerabilities_0_with_http_info(ids, opts) data end @@ -193,13 +193,13 @@ def get_vulnerabilities(ids, opts = {}) # @param ids [Array] One or more vulnerability IDs (max: 400). Find vulnerability IDs with GET /spotlight/queries/vulnerabilities/v1 # @param [Hash] opts the optional parameters # @return [Array<(DomainSPAPIVulnerabilitiesEntitiesResponseV2, Integer, Hash)>] DomainSPAPIVulnerabilitiesEntitiesResponseV2 data, response status code and response headers - def get_vulnerabilities_with_http_info(ids, opts = {}) + def get_vulnerabilities_0_with_http_info(ids, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: SpotlightVulnerabilitiesApi.get_vulnerabilities ...' + @api_client.config.logger.debug 'Calling API: SpotlightVulnerabilitiesApi.get_vulnerabilities_0 ...' end # verify the required parameter 'ids' is set if @api_client.config.client_side_validation && ids.nil? - fail ArgumentError, "Missing the required parameter 'ids' when calling SpotlightVulnerabilitiesApi.get_vulnerabilities" + fail ArgumentError, "Missing the required parameter 'ids' when calling SpotlightVulnerabilitiesApi.get_vulnerabilities_0" end # resource path local_var_path = '/spotlight/entities/vulnerabilities/v2' @@ -226,7 +226,7 @@ def get_vulnerabilities_with_http_info(ids, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"SpotlightVulnerabilitiesApi.get_vulnerabilities", + :operation => :"SpotlightVulnerabilitiesApi.get_vulnerabilities_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -237,7 +237,7 @@ def get_vulnerabilities_with_http_info(ids, opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: SpotlightVulnerabilitiesApi#get_vulnerabilities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: SpotlightVulnerabilitiesApi#get_vulnerabilities_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -249,8 +249,8 @@ def get_vulnerabilities_with_http_info(ids, opts = {}) # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 400). Use with the after parameter to manage pagination of results. # @option opts [String] :sort Sort vulnerabilities by their properties. Available sort options: <ul><li>updated_timestamp|asc/desc</li><li>closed_timestamp|asc</li><li>updated_timestamp|asc/desc</li></ul>. Can be used in a format <field>|asc for ascending order or <field>|desc for descending order. # @return [DomainSPAPIQueryResponse] - def query_vulnerabilities(filter, opts = {}) - data, _status_code, _headers = query_vulnerabilities_with_http_info(filter, opts) + def query_vulnerabilities_0(filter, opts = {}) + data, _status_code, _headers = query_vulnerabilities_0_with_http_info(filter, opts) data end @@ -261,20 +261,20 @@ def query_vulnerabilities(filter, opts = {}) # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 400). Use with the after parameter to manage pagination of results. # @option opts [String] :sort Sort vulnerabilities by their properties. Available sort options: <ul><li>updated_timestamp|asc/desc</li><li>closed_timestamp|asc</li><li>updated_timestamp|asc/desc</li></ul>. Can be used in a format <field>|asc for ascending order or <field>|desc for descending order. # @return [Array<(DomainSPAPIQueryResponse, Integer, Hash)>] DomainSPAPIQueryResponse data, response status code and response headers - def query_vulnerabilities_with_http_info(filter, opts = {}) + def query_vulnerabilities_0_with_http_info(filter, opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: SpotlightVulnerabilitiesApi.query_vulnerabilities ...' + @api_client.config.logger.debug 'Calling API: SpotlightVulnerabilitiesApi.query_vulnerabilities_0 ...' end # verify the required parameter 'filter' is set if @api_client.config.client_side_validation && filter.nil? - fail ArgumentError, "Missing the required parameter 'filter' when calling SpotlightVulnerabilitiesApi.query_vulnerabilities" + fail ArgumentError, "Missing the required parameter 'filter' when calling SpotlightVulnerabilitiesApi.query_vulnerabilities_0" end if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 400 - fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling SpotlightVulnerabilitiesApi.query_vulnerabilities, must be smaller than or equal to 400.' + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling SpotlightVulnerabilitiesApi.query_vulnerabilities_0, must be smaller than or equal to 400.' end if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] < 1 - fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling SpotlightVulnerabilitiesApi.query_vulnerabilities, must be greater than or equal to 1.' + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling SpotlightVulnerabilitiesApi.query_vulnerabilities_0, must be greater than or equal to 1.' end # resource path @@ -305,7 +305,7 @@ def query_vulnerabilities_with_http_info(filter, opts = {}) auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"SpotlightVulnerabilitiesApi.query_vulnerabilities", + :operation => :"SpotlightVulnerabilitiesApi.query_vulnerabilities_0", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -316,7 +316,7 @@ def query_vulnerabilities_with_http_info(filter, opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: SpotlightVulnerabilitiesApi#query_vulnerabilities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: SpotlightVulnerabilitiesApi#query_vulnerabilities_0\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end diff --git a/lib/crimson-falcon/api/tailored_intelligence_api.rb b/lib/crimson-falcon/api/tailored_intelligence_api.rb deleted file mode 100644 index 86a59154..00000000 --- a/lib/crimson-falcon/api/tailored_intelligence_api.rb +++ /dev/null @@ -1,373 +0,0 @@ -=begin -Crimson Falcon - Ruby Client SDK - -Code auto-generated by OpenAPI Generator; DO NOT EDIT. - -MIT License - -Copyright (c) 2023 Crowdstrike - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -=end - -require 'cgi' - -module Falcon - class TailoredIntelligenceApi - attr_accessor :api_client - - def initialize(api_client = ApiClient.default) - @api_client = api_client - end - # Get event body for the provided event ID - # @param id [String] Return the event body for event id. - # @param [Hash] opts the optional parameters - # @return [Array] - def get_events_body(id, opts = {}) - data, _status_code, _headers = get_events_body_with_http_info(id, opts) - data - end - - # Get event body for the provided event ID - # @param id [String] Return the event body for event id. - # @param [Hash] opts the optional parameters - # @return [Array<(Array, Integer, Hash)>] Array data, response status code and response headers - def get_events_body_with_http_info(id, opts = {}) - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: TailoredIntelligenceApi.get_events_body ...' - end - # verify the required parameter 'id' is set - if @api_client.config.client_side_validation && id.nil? - fail ArgumentError, "Missing the required parameter 'id' when calling TailoredIntelligenceApi.get_events_body" - end - # resource path - local_var_path = '/ti/events/entities/events-full-body/v2' - - # query parameters - query_params = opts[:query_params] || {} - query_params[:'id'] = id - - # header parameters - header_params = opts[:header_params] || {} - # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/octet-stream']) - - # form parameters - form_params = opts[:form_params] || {} - - # http body (model) - post_body = opts[:debug_body] - - # return_type - return_type = opts[:debug_return_type] || 'Array' - - # auth_names - auth_names = opts[:debug_auth_names] || ['oauth2'] - - new_options = opts.merge( - :operation => :"TailoredIntelligenceApi.get_events_body", - :header_params => header_params, - :query_params => query_params, - :form_params => form_params, - :body => post_body, - :auth_names => auth_names, - :return_type => return_type - ) - - data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) - if @api_client.config.debugging - @api_client.config.logger.debug "API called: TailoredIntelligenceApi#get_events_body\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - - # Get events entities for specified ids. - # @param body [MsaIdsRequest] - # @param [Hash] opts the optional parameters - # @return [DomainEventEntitiesResponse] - def get_events_entities(body, opts = {}) - data, _status_code, _headers = get_events_entities_with_http_info(body, opts) - data - end - - # Get events entities for specified ids. - # @param body [MsaIdsRequest] - # @param [Hash] opts the optional parameters - # @return [Array<(DomainEventEntitiesResponse, Integer, Hash)>] DomainEventEntitiesResponse data, response status code and response headers - def get_events_entities_with_http_info(body, opts = {}) - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: TailoredIntelligenceApi.get_events_entities ...' - end - # verify the required parameter 'body' is set - if @api_client.config.client_side_validation && body.nil? - fail ArgumentError, "Missing the required parameter 'body' when calling TailoredIntelligenceApi.get_events_entities" - end - # resource path - local_var_path = '/ti/events/entities/events/GET/v2' - - # query parameters - query_params = opts[:query_params] || {} - - # header parameters - header_params = opts[:header_params] || {} - # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) - # HTTP header 'Content-Type' - content_type = @api_client.select_header_content_type(['application/json']) - if !content_type.nil? - header_params['Content-Type'] = content_type - end - - # form parameters - form_params = opts[:form_params] || {} - - # http body (model) - post_body = opts[:debug_body] || @api_client.object_to_http_body(body) - - # return_type - return_type = opts[:debug_return_type] || 'DomainEventEntitiesResponse' - - # auth_names - auth_names = opts[:debug_auth_names] || ['oauth2'] - - new_options = opts.merge( - :operation => :"TailoredIntelligenceApi.get_events_entities", - :header_params => header_params, - :query_params => query_params, - :form_params => form_params, - :body => post_body, - :auth_names => auth_names, - :return_type => return_type - ) - - data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) - if @api_client.config.debugging - @api_client.config.logger.debug "API called: TailoredIntelligenceApi#get_events_entities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - - # Get rules entities for specified ids. - # @param body [MsaIdsRequest] - # @param [Hash] opts the optional parameters - # @return [DomainRuleEntitiesResponse] - def get_rules_entities(body, opts = {}) - data, _status_code, _headers = get_rules_entities_with_http_info(body, opts) - data - end - - # Get rules entities for specified ids. - # @param body [MsaIdsRequest] - # @param [Hash] opts the optional parameters - # @return [Array<(DomainRuleEntitiesResponse, Integer, Hash)>] DomainRuleEntitiesResponse data, response status code and response headers - def get_rules_entities_with_http_info(body, opts = {}) - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: TailoredIntelligenceApi.get_rules_entities ...' - end - # verify the required parameter 'body' is set - if @api_client.config.client_side_validation && body.nil? - fail ArgumentError, "Missing the required parameter 'body' when calling TailoredIntelligenceApi.get_rules_entities" - end - # resource path - local_var_path = '/ti/rules/entities/rules/GET/v2' - - # query parameters - query_params = opts[:query_params] || {} - - # header parameters - header_params = opts[:header_params] || {} - # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) - # HTTP header 'Content-Type' - content_type = @api_client.select_header_content_type(['application/json']) - if !content_type.nil? - header_params['Content-Type'] = content_type - end - - # form parameters - form_params = opts[:form_params] || {} - - # http body (model) - post_body = opts[:debug_body] || @api_client.object_to_http_body(body) - - # return_type - return_type = opts[:debug_return_type] || 'DomainRuleEntitiesResponse' - - # auth_names - auth_names = opts[:debug_auth_names] || ['oauth2'] - - new_options = opts.merge( - :operation => :"TailoredIntelligenceApi.get_rules_entities", - :header_params => header_params, - :query_params => query_params, - :form_params => form_params, - :body => post_body, - :auth_names => auth_names, - :return_type => return_type - ) - - data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) - if @api_client.config.debugging - @api_client.config.logger.debug "API called: TailoredIntelligenceApi#get_rules_entities\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - - # Get events ids that match the provided filter criteria. - # @param [Hash] opts the optional parameters - # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @option opts [Integer] :limit Number of ids to return. - # @option opts [String] :sort Possible order by fields: source_type, created_date, updated_date. Ex: 'updated_date|desc'. - # @option opts [String] :filter FQL query specifying the filter parameters. Special value '*' means to not filter on anything. - # @option opts [String] :q Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). - # @return [DomainQueryResponse] - def query_events(opts = {}) - data, _status_code, _headers = query_events_with_http_info(opts) - data - end - - # Get events ids that match the provided filter criteria. - # @param [Hash] opts the optional parameters - # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @option opts [Integer] :limit Number of ids to return. - # @option opts [String] :sort Possible order by fields: source_type, created_date, updated_date. Ex: 'updated_date|desc'. - # @option opts [String] :filter FQL query specifying the filter parameters. Special value '*' means to not filter on anything. - # @option opts [String] :q Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). - # @return [Array<(DomainQueryResponse, Integer, Hash)>] DomainQueryResponse data, response status code and response headers - def query_events_with_http_info(opts = {}) - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: TailoredIntelligenceApi.query_events ...' - end - # resource path - local_var_path = '/ti/events/queries/events/v2' - - # query parameters - query_params = opts[:query_params] || {} - query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? - query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? - query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? - query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? - query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil? - - # header parameters - header_params = opts[:header_params] || {} - # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) - - # form parameters - form_params = opts[:form_params] || {} - - # http body (model) - post_body = opts[:debug_body] - - # return_type - return_type = opts[:debug_return_type] || 'DomainQueryResponse' - - # auth_names - auth_names = opts[:debug_auth_names] || ['oauth2'] - - new_options = opts.merge( - :operation => :"TailoredIntelligenceApi.query_events", - :header_params => header_params, - :query_params => query_params, - :form_params => form_params, - :body => post_body, - :auth_names => auth_names, - :return_type => return_type - ) - - data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) - if @api_client.config.debugging - @api_client.config.logger.debug "API called: TailoredIntelligenceApi#query_events\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - - # Get rules ids that match the provided filter criteria. - # @param [Hash] opts the optional parameters - # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @option opts [Integer] :limit Number of ids to return. - # @option opts [String] :sort Possible order by fields: name, value, rule_type, customer_id, created_date, updated_date. Ex: 'updated_date|asc'. - # @option opts [String] :filter FQL query specifying the filter parameters. Special value '*' means to not filter on anything. - # @option opts [String] :q Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). - # @return [DomainQueryResponse] - def query_rules(opts = {}) - data, _status_code, _headers = query_rules_with_http_info(opts) - data - end - - # Get rules ids that match the provided filter criteria. - # @param [Hash] opts the optional parameters - # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @option opts [Integer] :limit Number of ids to return. - # @option opts [String] :sort Possible order by fields: name, value, rule_type, customer_id, created_date, updated_date. Ex: 'updated_date|asc'. - # @option opts [String] :filter FQL query specifying the filter parameters. Special value '*' means to not filter on anything. - # @option opts [String] :q Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). - # @return [Array<(DomainQueryResponse, Integer, Hash)>] DomainQueryResponse data, response status code and response headers - def query_rules_with_http_info(opts = {}) - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: TailoredIntelligenceApi.query_rules ...' - end - # resource path - local_var_path = '/ti/rules/queries/rules/v2' - - # query parameters - query_params = opts[:query_params] || {} - query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? - query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? - query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? - query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? - query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil? - - # header parameters - header_params = opts[:header_params] || {} - # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) - - # form parameters - form_params = opts[:form_params] || {} - - # http body (model) - post_body = opts[:debug_body] - - # return_type - return_type = opts[:debug_return_type] || 'DomainQueryResponse' - - # auth_names - auth_names = opts[:debug_auth_names] || ['oauth2'] - - new_options = opts.merge( - :operation => :"TailoredIntelligenceApi.query_rules", - :header_params => header_params, - :query_params => query_params, - :form_params => form_params, - :body => post_body, - :auth_names => auth_names, - :return_type => return_type - ) - - data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) - if @api_client.config.debugging - @api_client.config.logger.debug "API called: TailoredIntelligenceApi#query_rules\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - end -end diff --git a/lib/crimson-falcon/api/threatgraph_api.rb b/lib/crimson-falcon/api/threatgraph_api.rb new file mode 100644 index 00000000..86a5fe8a --- /dev/null +++ b/lib/crimson-falcon/api/threatgraph_api.rb @@ -0,0 +1,539 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'cgi' + +module Falcon + class ThreatgraphApi + attr_accessor :api_client + + def initialize(api_client = ApiClient.default) + @api_client = api_client + end + # Retrieve edges for a given vertex id. One edge type must be specified + # @param ids [String] Vertex ID to get details for. Only one value is supported + # @param edge_type [String] The type of edges that you would like to retrieve + # @param [Hash] opts the optional parameters + # @option opts [Integer] :limit How many edges to return in a single request [1-100] (default to 100) + # @option opts [String] :offset The offset to use to retrieve the next page of results + # @option opts [String] :direction The direction of edges that you would like to retrieve. + # @option opts [String] :scope Scope of the request (default to 'device') + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [nil] + def combined_edges_get(ids, edge_type, opts = {}) + combined_edges_get_with_http_info(ids, edge_type, opts) + nil + end + + # Retrieve edges for a given vertex id. One edge type must be specified + # @param ids [String] Vertex ID to get details for. Only one value is supported + # @param edge_type [String] The type of edges that you would like to retrieve + # @param [Hash] opts the optional parameters + # @option opts [Integer] :limit How many edges to return in a single request [1-100] (default to 100) + # @option opts [String] :offset The offset to use to retrieve the next page of results + # @option opts [String] :direction The direction of edges that you would like to retrieve. + # @option opts [String] :scope Scope of the request (default to 'device') + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def combined_edges_get_with_http_info(ids, edge_type, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ThreatgraphApi.combined_edges_get ...' + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling ThreatgraphApi.combined_edges_get" + end + # verify the required parameter 'edge_type' is set + if @api_client.config.client_side_validation && edge_type.nil? + fail ArgumentError, "Missing the required parameter 'edge_type' when calling ThreatgraphApi.combined_edges_get" + end + # verify enum value + allowable_values = ["accessed_ad_computer", "accessed_adfs_application", "accessed_azure_application", "accessed_by_kerberos_ticket", "accessed_by_session", "accessed_okta_application", "accessed_ping_fed_application", "accessed_service_account", "agent_to_self_diagnostic", "allowed_by_process", "allowed_firewall_rule", "app_uninstalled_from_host", "asep_file_change", "asep_key_update", "asep_value_update", "assigned_ipv4_address", "assigned_ipv6_address", "assigned_to_sensor", "associated_by_ad_computer", "associated_by_ad_group", "associated_by_ad_user", "associated_by_aggregate_indicator", "associated_by_app", "associated_by_azure_ad_user", "associated_by_azure_app", "associated_by_certificate", "associated_by_control_graph", "associated_by_domain", "associated_by_host", "associated_by_host_name", "associated_by_idp_session", "associated_by_incident", "associated_by_indicator", "associated_by_ip", "associated_by_ip4", "associated_by_ip6", "associated_by_okta_user", "associated_by_service_ticket", "associated_control_graph", "associated_firewall_rule", "associated_idp_indicator", "associated_incident", "associated_indicator", "associated_k8s_cluster", "associated_k8s_sensor", "associated_mobile_forensics_report", "associated_mobile_indicator", "associated_module", "associated_primary_module", "associated_quarantined_file", "associated_quarantined_module", "associated_root_process", "associated_to_ad_computer", "associated_to_sensor", "associated_user_session", "associated_with_process", "associated_with_sensor", "attributed_by_process", "attributed_from_domain", "attributed_from_module", "attributed_on", "attributed_on_domain", "attributed_on_module", "attributed_to", "attributed_to_actor", "authenticated_from_incident", "authenticated_host", "blocked_by_app", "blocked_by_process", "blocked_by_sensor", "blocked_dns", "blocked_ip4", "blocked_ip6", "blocked_module", "bundled_in_app", "bundles_module", "cert_is_presented_by", "cert_presented", "child_process", "closed_ip4_socket", "closed_ip6_socket", "command_history", "command_line_parent_process", "connected_from_app", "connected_from_host", "connected_from_process", "connected_ip4", "connected_ip6", "connected_on_customer", "connected_on_sensor", "connected_to_accessory", "connected_to_wifi_ap", "connection_killed_by_app", "connection_killed_by_process", "containerized_app", "containerized_by_sensor", "control_graph", "created_by_incident", "created_by_process", "created_by_user", "created_quarantined_file", "created_service", "critical_file_accessed", "critical_file_modified", "customer_agent_has_user", "customer_has_sensor", "customer_ioc", "customer_sensor_to_sensor", "customer_user_to_sensor_user", "deleted_by_process", "deleted_rule", "denied_by_firewall_rule", "denied_by_process", "denied_firewall_rule", "detected_module", "detection", "device", "disconnect_from_wifi_ap", "disconnected_from_accessory", "disconnected_from_host", "dns", "dns_request", "duplicated_by_app", "duplicates_app", "elf_file_written", "established_on_ad_computer", "established_on_host_name", "established_on_ip4", "established_on_ip6", "established_on_sensor", "established_session", "established_user_session", "executed_app", "executed_by_process", "executed_macro_script", "executed_script", "extracted_file", "failed_to_authenticate_ad_user", "failed_to_authenticate_to_ad_computer", "failed_to_authenticate_to_adfs_app", "failed_to_authenticate_to_azure_app", "failed_to_authenticate_to_okta_app", "failed_to_authenticate_to_ping_app", "failed_to_authenticate_to_service_account", "file_create_info", "file_open_info", "fs_post_create", "fs_post_open", "generated_by_renewing", "generated_by_session", "generated_dce_rpc_epm_request_against_dc", "generated_dce_rpc_request_against_dc", "generated_failed_authentication_to_ad_computer", "generated_failed_authentication_to_adfs_app", "generated_failed_authentication_to_azure_app", "generated_failed_authentication_to_okta_app", "generated_failed_authentication_to_ping_app", "generated_failed_authentication_to_service_account", "generated_ldap_search_against_dc", "generated_service_ticket", "had_code_injected_by_process", "has_app_installed", "has_attributed_process", "has_attribution", "has_firmware", "hunting_lead", "implicated_by_incident", "implicated_sensor", "included_by_hunting_lead", "includes_process", "indexed", "initiated_by_ad_computer", "initiated_by_azure_ad_user", "initiated_by_okta_user", "initiated_by_user", "initiated_session", "injected_code_into_process", "injected_thread", "injected_thread_from_process", "installed_app", "installed_by_app", "installed_on_host", "invalid_firewall_rule", "invalid_from_process", "invalidated_by_process", "invalidated_firewall_rule", "involved_ad_computer", "involved_service_account", "ip4_socket_closed_by_app", "ip4_socket_closed_by_process", "ip4_socket_opened_by_process", "ip6_socket_closed_by_app", "ip6_socket_closed_by_process", "ip6_socket_opened_by_process", "ipv4", "ipv4_close", "ipv4_listen", "ipv6", "ipv6_close", "ipv6_listen", "jar_file_written", "killed_ip4_connection", "killed_ip6_connection", "known_by_md5", "known_by_sha256", "linking_event", "loaded_by_process", "loaded_module", "macho_file_written", "macro_executed_by_process", "member_of_full_command_line", "module", "module_written", "mounted_on_host", "mounted_to_host", "network_close_ip4", "network_close_ip6", "network_connect_ip4", "network_connect_ip6", "network_listen_ip4", "network_listen_ip6", "new_executable_written", "new_script_written", "opened_ip4_socket", "opened_ip6_socket", "parent_of_command_line", "parent_process", "parented_by_process", "participating_process", "pe_file_written", "performed_psexec_against_dc", "presented_by_cloud", "primary_module", "primary_module_of_process", "protected_by_shield", "quarantined_file", "queried_by_process", "queried_by_sensor", "queried_dns", "queried_on_customer", "queried_on_sensor", "received_from_cloud", "registered_by_incident", "registered_scheduledtask", "renewed_to_generate", "reports_aggregate_indicator", "resolved_from_domain", "resolved_to_ip4", "resolved_to_ip6", "rooted_control_graph", "rule_set_by_process", "script", "self_diagnostic_to_agent", "set_by_process", "set_firewall_rule", "set_rule", "shell_io_redirect", "shield_activated_on_host", "suspicious_dns_request", "trigger_process", "triggered_by_control_graph", "triggered_by_process", "triggered_control_graph", "triggered_detection", "triggered_indicator", "triggered_mobile_indicator", "triggered_xdr", "triggering_domain", "triggering_network", "uncontainerized_app", "uncontainerized_by_sensor", "uninstalled_app", "unmounted_from_host", "unmounted_on_host", "user", "user_session", "witnessed_by_sensor", "witnessed_process", "wmicreated_by_incident", "wmicreated_process", "written_by_process", "wrote_module"] + if @api_client.config.client_side_validation && !allowable_values.include?(edge_type) + fail ArgumentError, "invalid value for \"edge_type\", must be one of #{allowable_values}" + end + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ThreatgraphApi.combined_edges_get, must be smaller than or equal to 100.' + end + + allowable_values = ["cspm", "customer", "cwpp", "device", "global"] + if @api_client.config.client_side_validation && opts[:'scope'] && !allowable_values.include?(opts[:'scope']) + fail ArgumentError, "invalid value for \"scope\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/threatgraph/combined/edges/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = ids + query_params[:'edge_type'] = edge_type + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'direction'] = opts[:'direction'] if !opts[:'direction'].nil? + query_params[:'scope'] = opts[:'scope'] if !opts[:'scope'].nil? + query_params[:'nano'] = opts[:'nano'] if !opts[:'nano'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ThreatgraphApi.combined_edges_get", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ThreatgraphApi#combined_edges_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Look up instances of indicators such as hashes, domain names, and ip addresses that have been seen on devices in your environment. + # @param value [String] The value of the indicator to search by. + # @param type [String] The type of indicator that you would like to retrieve + # @param [Hash] opts the optional parameters + # @option opts [Integer] :limit How many edges to return in a single request [1-100] (default to 100) + # @option opts [String] :offset The offset to use to retrieve the next page of results + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [nil] + def combined_ran_on_get(value, type, opts = {}) + combined_ran_on_get_with_http_info(value, type, opts) + nil + end + + # Look up instances of indicators such as hashes, domain names, and ip addresses that have been seen on devices in your environment. + # @param value [String] The value of the indicator to search by. + # @param type [String] The type of indicator that you would like to retrieve + # @param [Hash] opts the optional parameters + # @option opts [Integer] :limit How many edges to return in a single request [1-100] (default to 100) + # @option opts [String] :offset The offset to use to retrieve the next page of results + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def combined_ran_on_get_with_http_info(value, type, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ThreatgraphApi.combined_ran_on_get ...' + end + # verify the required parameter 'value' is set + if @api_client.config.client_side_validation && value.nil? + fail ArgumentError, "Missing the required parameter 'value' when calling ThreatgraphApi.combined_ran_on_get" + end + # verify the required parameter 'type' is set + if @api_client.config.client_side_validation && type.nil? + fail ArgumentError, "Missing the required parameter 'type' when calling ThreatgraphApi.combined_ran_on_get" + end + # verify enum value + allowable_values = ["domain", "ipv4", "ipv6", "md5", "sha1", "sha256"] + if @api_client.config.client_side_validation && !allowable_values.include?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{allowable_values}" + end + if @api_client.config.client_side_validation && !opts[:'limit'].nil? && opts[:'limit'] > 100 + fail ArgumentError, 'invalid value for "opts[:"limit"]" when calling ThreatgraphApi.combined_ran_on_get, must be smaller than or equal to 100.' + end + + # resource path + local_var_path = '/threatgraph/combined/ran-on/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'value'] = value + query_params[:'type'] = type + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'nano'] = opts[:'nano'] if !opts[:'nano'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ThreatgraphApi.combined_ran_on_get", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ThreatgraphApi#combined_ran_on_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieve summary for a given vertex ID + # @param vertex_type [String] Type of vertex to get properties for + # @param ids [Array] Vertex ID to get details for + # @param [Hash] opts the optional parameters + # @option opts [String] :scope Scope of the request (default to 'device') + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [nil] + def combined_summary_get(vertex_type, ids, opts = {}) + combined_summary_get_with_http_info(vertex_type, ids, opts) + nil + end + + # Retrieve summary for a given vertex ID + # @param vertex_type [String] Type of vertex to get properties for + # @param ids [Array] Vertex ID to get details for + # @param [Hash] opts the optional parameters + # @option opts [String] :scope Scope of the request (default to 'device') + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def combined_summary_get_with_http_info(vertex_type, ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ThreatgraphApi.combined_summary_get ...' + end + # verify the required parameter 'vertex_type' is set + if @api_client.config.client_side_validation && vertex_type.nil? + fail ArgumentError, "Missing the required parameter 'vertex_type' when calling ThreatgraphApi.combined_summary_get" + end + # verify enum value + allowable_values = ["accessories", "accessory", "actor", "ad-computers", "ad-groups", "ad_computer", "ad_group", "adfs-applications", "adfs_application", "aggregate-indicators", "aggregate_indicator", "any-vertex", "azure-ad-users", "azure-applications", "azure_ad_user", "azure_application", "certificate", "certificates", "command-lines", "command_line", "containerized-apps", "containerized_app", "control-graphs", "control_graph", "customer", "customers", "detection", "detection-indices", "detection_index", "detections", "devices", "direct", "directs", "domain", "domains", "extracted-files", "extracted_file", "firewall", "firewall_rule_match", "firewall_rule_matches", "firewalls", "firmware", "firmwares", "host-names", "host_name", "hunting-leads", "hunting_lead", "idp-indicators", "idp-sessions", "idp_indicator", "idp_session", "incident", "incidents", "indicator", "indicators", "ipv4", "ipv6", "k8s_cluster", "k8s_clusters", "kerberos-tickets", "kerberos_ticket", "legacy-detections", "legacy_detection", "macro_script", "macro_scripts", "mobile-apps", "mobile-fs-volumes", "mobile-indicators", "mobile_app", "mobile_fs_volume", "mobile_indicator", "mobile_os_forensics_report", "mobile_os_forensics_reports", "module", "modules", "okta-applications", "okta-users", "okta_application", "okta_user", "ping-fed-applications", "ping_fed_application", "process", "processes", "quarantined-files", "quarantined_file", "script", "scripts", "sensor", "sensor-self-diagnostics", "sensor_self_diagnostic", "shield", "shields", "tag", "tags", "user-sessions", "user_id", "user_session", "users", "wifi-access-points", "wifi_access_point", "xdr"] + if @api_client.config.client_side_validation && !allowable_values.include?(vertex_type) + fail ArgumentError, "invalid value for \"vertex_type\", must be one of #{allowable_values}" + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling ThreatgraphApi.combined_summary_get" + end + if @api_client.config.client_side_validation && ids.length > 100 + fail ArgumentError, 'invalid value for "ids" when calling ThreatgraphApi.combined_summary_get, number of items must be less than or equal to 100.' + end + + allowable_values = ["cspm", "customer", "cwpp", "device", "global"] + if @api_client.config.client_side_validation && opts[:'scope'] && !allowable_values.include?(opts[:'scope']) + fail ArgumentError, "invalid value for \"scope\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/threatgraph/combined/{vertex-type}/summary/v1'.sub('{' + 'vertex-type' + '}', CGI.escape(vertex_type.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + query_params[:'scope'] = opts[:'scope'] if !opts[:'scope'].nil? + query_params[:'nano'] = opts[:'nano'] if !opts[:'nano'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ThreatgraphApi.combined_summary_get", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ThreatgraphApi#combined_summary_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieve metadata for a given vertex ID. Note: This is a legacy endpoint used by CrowdStrike Store partners prior to release of the ThreatGraph OAuth 2.0 APIs. If you’re not currently using this endpoint, use the /v2 endpoint instead. + # @param vertex_type [String] Type of vertex to get properties for + # @param ids [Array] Vertex ID to get details for + # @param [Hash] opts the optional parameters + # @option opts [String] :scope Scope of the request (default to 'device') + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [ThreatgraphVertexDetailsResponse] + def entities_vertices_get(vertex_type, ids, opts = {}) + data, _status_code, _headers = entities_vertices_get_with_http_info(vertex_type, ids, opts) + data + end + + # Retrieve metadata for a given vertex ID. Note: This is a legacy endpoint used by CrowdStrike Store partners prior to release of the ThreatGraph OAuth 2.0 APIs. If you’re not currently using this endpoint, use the /v2 endpoint instead. + # @param vertex_type [String] Type of vertex to get properties for + # @param ids [Array] Vertex ID to get details for + # @param [Hash] opts the optional parameters + # @option opts [String] :scope Scope of the request (default to 'device') + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [Array<(ThreatgraphVertexDetailsResponse, Integer, Hash)>] ThreatgraphVertexDetailsResponse data, response status code and response headers + def entities_vertices_get_with_http_info(vertex_type, ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ThreatgraphApi.entities_vertices_get ...' + end + # verify the required parameter 'vertex_type' is set + if @api_client.config.client_side_validation && vertex_type.nil? + fail ArgumentError, "Missing the required parameter 'vertex_type' when calling ThreatgraphApi.entities_vertices_get" + end + # verify enum value + allowable_values = ["accessories", "accessory", "actor", "ad-computers", "ad-groups", "ad_computer", "ad_group", "adfs-applications", "adfs_application", "aggregate-indicators", "aggregate_indicator", "any-vertex", "azure-ad-users", "azure-applications", "azure_ad_user", "azure_application", "certificate", "certificates", "command-lines", "command_line", "containerized-apps", "containerized_app", "control-graphs", "control_graph", "customer", "customers", "detection", "detection-indices", "detection_index", "detections", "devices", "direct", "directs", "domain", "domains", "extracted-files", "extracted_file", "firewall", "firewall_rule_match", "firewall_rule_matches", "firewalls", "firmware", "firmwares", "host-names", "host_name", "hunting-leads", "hunting_lead", "idp-indicators", "idp-sessions", "idp_indicator", "idp_session", "incident", "incidents", "indicator", "indicators", "ipv4", "ipv6", "k8s_cluster", "k8s_clusters", "kerberos-tickets", "kerberos_ticket", "legacy-detections", "legacy_detection", "macro_script", "macro_scripts", "mobile-apps", "mobile-fs-volumes", "mobile-indicators", "mobile_app", "mobile_fs_volume", "mobile_indicator", "mobile_os_forensics_report", "mobile_os_forensics_reports", "module", "modules", "okta-applications", "okta-users", "okta_application", "okta_user", "ping-fed-applications", "ping_fed_application", "process", "processes", "quarantined-files", "quarantined_file", "script", "scripts", "sensor", "sensor-self-diagnostics", "sensor_self_diagnostic", "shield", "shields", "tag", "tags", "user-sessions", "user_id", "user_session", "users", "wifi-access-points", "wifi_access_point", "xdr"] + if @api_client.config.client_side_validation && !allowable_values.include?(vertex_type) + fail ArgumentError, "invalid value for \"vertex_type\", must be one of #{allowable_values}" + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling ThreatgraphApi.entities_vertices_get" + end + if @api_client.config.client_side_validation && ids.length > 100 + fail ArgumentError, 'invalid value for "ids" when calling ThreatgraphApi.entities_vertices_get, number of items must be less than or equal to 100.' + end + + allowable_values = ["cspm", "customer", "cwpp", "device", "global"] + if @api_client.config.client_side_validation && opts[:'scope'] && !allowable_values.include?(opts[:'scope']) + fail ArgumentError, "invalid value for \"scope\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/threatgraph/entities/{vertex-type}/v1'.sub('{' + 'vertex-type' + '}', CGI.escape(vertex_type.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + query_params[:'scope'] = opts[:'scope'] if !opts[:'scope'].nil? + query_params[:'nano'] = opts[:'nano'] if !opts[:'nano'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ThreatgraphVertexDetailsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ThreatgraphApi.entities_vertices_get", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ThreatgraphApi#entities_vertices_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Retrieve metadata for a given vertex ID + # @param vertex_type [String] Type of vertex to get properties for + # @param ids [Array] Vertex ID to get details for + # @param [Hash] opts the optional parameters + # @option opts [String] :scope Scope of the request (default to 'device') + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [ThreatgraphVertexDetailsResponse] + def entities_vertices_getv2(vertex_type, ids, opts = {}) + data, _status_code, _headers = entities_vertices_getv2_with_http_info(vertex_type, ids, opts) + data + end + + # Retrieve metadata for a given vertex ID + # @param vertex_type [String] Type of vertex to get properties for + # @param ids [Array] Vertex ID to get details for + # @param [Hash] opts the optional parameters + # @option opts [String] :scope Scope of the request (default to 'device') + # @option opts [Boolean] :nano Return nano-precision entity timestamps (default to false) + # @return [Array<(ThreatgraphVertexDetailsResponse, Integer, Hash)>] ThreatgraphVertexDetailsResponse data, response status code and response headers + def entities_vertices_getv2_with_http_info(vertex_type, ids, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ThreatgraphApi.entities_vertices_getv2 ...' + end + # verify the required parameter 'vertex_type' is set + if @api_client.config.client_side_validation && vertex_type.nil? + fail ArgumentError, "Missing the required parameter 'vertex_type' when calling ThreatgraphApi.entities_vertices_getv2" + end + # verify enum value + allowable_values = ["accessories", "accessory", "actor", "ad-computers", "ad-groups", "ad_computer", "ad_group", "adfs-applications", "adfs_application", "aggregate-indicators", "aggregate_indicator", "any-vertex", "azure-ad-users", "azure-applications", "azure_ad_user", "azure_application", "certificate", "certificates", "command-lines", "command_line", "containerized-apps", "containerized_app", "control-graphs", "control_graph", "customer", "customers", "detection", "detection-indices", "detection_index", "detections", "devices", "direct", "directs", "domain", "domains", "extracted-files", "extracted_file", "firewall", "firewall_rule_match", "firewall_rule_matches", "firewalls", "firmware", "firmwares", "host-names", "host_name", "hunting-leads", "hunting_lead", "idp-indicators", "idp-sessions", "idp_indicator", "idp_session", "incident", "incidents", "indicator", "indicators", "ipv4", "ipv6", "k8s_cluster", "k8s_clusters", "kerberos-tickets", "kerberos_ticket", "legacy-detections", "legacy_detection", "macro_script", "macro_scripts", "mobile-apps", "mobile-fs-volumes", "mobile-indicators", "mobile_app", "mobile_fs_volume", "mobile_indicator", "mobile_os_forensics_report", "mobile_os_forensics_reports", "module", "modules", "okta-applications", "okta-users", "okta_application", "okta_user", "ping-fed-applications", "ping_fed_application", "process", "processes", "quarantined-files", "quarantined_file", "script", "scripts", "sensor", "sensor-self-diagnostics", "sensor_self_diagnostic", "shield", "shields", "tag", "tags", "user-sessions", "user_id", "user_session", "users", "wifi-access-points", "wifi_access_point", "xdr"] + if @api_client.config.client_side_validation && !allowable_values.include?(vertex_type) + fail ArgumentError, "invalid value for \"vertex_type\", must be one of #{allowable_values}" + end + # verify the required parameter 'ids' is set + if @api_client.config.client_side_validation && ids.nil? + fail ArgumentError, "Missing the required parameter 'ids' when calling ThreatgraphApi.entities_vertices_getv2" + end + if @api_client.config.client_side_validation && ids.length > 100 + fail ArgumentError, 'invalid value for "ids" when calling ThreatgraphApi.entities_vertices_getv2, number of items must be less than or equal to 100.' + end + + allowable_values = ["cspm", "customer", "cwpp", "device", "global"] + if @api_client.config.client_side_validation && opts[:'scope'] && !allowable_values.include?(opts[:'scope']) + fail ArgumentError, "invalid value for \"scope\", must be one of #{allowable_values}" + end + # resource path + local_var_path = '/threatgraph/entities/{vertex-type}/v2'.sub('{' + 'vertex-type' + '}', CGI.escape(vertex_type.to_s)) + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'ids'] = @api_client.build_collection_param(ids, :multi) + query_params[:'scope'] = opts[:'scope'] if !opts[:'scope'].nil? + query_params[:'nano'] = opts[:'nano'] if !opts[:'nano'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'ThreatgraphVertexDetailsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ThreatgraphApi.entities_vertices_getv2", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ThreatgraphApi#entities_vertices_getv2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Show all available edge types + # @param [Hash] opts the optional parameters + # @return [nil] + def queries_edgetypes_get(opts = {}) + queries_edgetypes_get_with_http_info(opts) + nil + end + + # Show all available edge types + # @param [Hash] opts the optional parameters + # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers + def queries_edgetypes_get_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: ThreatgraphApi.queries_edgetypes_get ...' + end + # resource path + local_var_path = '/threatgraph/queries/edge-types/v1' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"ThreatgraphApi.queries_edgetypes_get", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: ThreatgraphApi#queries_edgetypes_get\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + end +end diff --git a/lib/crimson-falcon/api/workflows_api.rb b/lib/crimson-falcon/api/workflows_api.rb index 3db0cd86..15332236 100644 --- a/lib/crimson-falcon/api/workflows_api.rb +++ b/lib/crimson-falcon/api/workflows_api.rb @@ -36,36 +36,36 @@ class WorkflowsApi def initialize(api_client = ApiClient.default) @api_client = api_client end - # Search workflow definitions based on the provided filter + # Search for activities by name. Returns all supported activities if no filter specified # @param [Hash] opts the optional parameters # @option opts [String] :filter FQL query specifying filter parameters. # @option opts [String] :offset Starting pagination offset of records to return. # @option opts [Integer] :limit Maximum number of records to return. # @option opts [String] :sort Sort items by providing a comma separated list of property and direction (eg name.desc,time.asc). If direction is omitted, defaults to descending. - # @return [DefinitionsDefinitionExternalResponse] - def workflow_definitions_combined(opts = {}) - data, _status_code, _headers = workflow_definitions_combined_with_http_info(opts) + # @return [ActivitiesActivityExternalResponse] + def workflow_activities_combined(opts = {}) + data, _status_code, _headers = workflow_activities_combined_with_http_info(opts) data end - # Search workflow definitions based on the provided filter + # Search for activities by name. Returns all supported activities if no filter specified # @param [Hash] opts the optional parameters # @option opts [String] :filter FQL query specifying filter parameters. # @option opts [String] :offset Starting pagination offset of records to return. # @option opts [Integer] :limit Maximum number of records to return. # @option opts [String] :sort Sort items by providing a comma separated list of property and direction (eg name.desc,time.asc). If direction is omitted, defaults to descending. - # @return [Array<(DefinitionsDefinitionExternalResponse, Integer, Hash)>] DefinitionsDefinitionExternalResponse data, response status code and response headers - def workflow_definitions_combined_with_http_info(opts = {}) + # @return [Array<(ActivitiesActivityExternalResponse, Integer, Hash)>] ActivitiesActivityExternalResponse data, response status code and response headers + def workflow_activities_combined_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: WorkflowsApi.workflow_definitions_combined ...' + @api_client.config.logger.debug 'Calling API: WorkflowsApi.workflow_activities_combined ...' end pattern = Regexp.new(/^\w+(\.asc|\.desc)?(,\w+(\.asc|\.desc)?)*$/) if @api_client.config.client_side_validation && !opts[:'sort'].nil? && opts[:'sort'] !~ pattern - fail ArgumentError, "invalid value for 'opts[:\"sort\"]' when calling WorkflowsApi.workflow_definitions_combined, must conform to the pattern #{pattern}." + fail ArgumentError, "invalid value for 'opts[:\"sort\"]' when calling WorkflowsApi.workflow_activities_combined, must conform to the pattern #{pattern}." end # resource path - local_var_path = '/workflows/combined/definitions/v1' + local_var_path = '/workflows/combined/activities/v1' # query parameters query_params = opts[:query_params] || {} @@ -86,13 +86,13 @@ def workflow_definitions_combined_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'DefinitionsDefinitionExternalResponse' + return_type = opts[:debug_return_type] || 'ActivitiesActivityExternalResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"WorkflowsApi.workflow_definitions_combined", + :operation => :"WorkflowsApi.workflow_activities_combined", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -103,65 +103,68 @@ def workflow_definitions_combined_with_http_info(opts = {}) data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: WorkflowsApi#workflow_definitions_combined\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: WorkflowsApi#workflow_activities_combined\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end - # Creates a workflow definition based on the provided model - # @param body [ModelsDefinitionCreateRequestV2] + # Search workflow definitions based on the provided filter # @param [Hash] opts the optional parameters - # @option opts [Boolean] :validate_only When enabled, prevents saving workflow after validating (default to false) - # @return [ApiResourceIDsResponse] - def workflow_definitions_create(body, opts = {}) - data, _status_code, _headers = workflow_definitions_create_with_http_info(body, opts) + # @option opts [String] :filter FQL query specifying filter parameters. + # @option opts [String] :offset Starting pagination offset of records to return. + # @option opts [Integer] :limit Maximum number of records to return. + # @option opts [String] :sort Sort items by providing a comma separated list of property and direction (eg name.desc,time.asc). If direction is omitted, defaults to descending. + # @return [DefinitionsDefinitionExternalResponse] + def workflow_definitions_combined(opts = {}) + data, _status_code, _headers = workflow_definitions_combined_with_http_info(opts) data end - # Creates a workflow definition based on the provided model - # @param body [ModelsDefinitionCreateRequestV2] + # Search workflow definitions based on the provided filter # @param [Hash] opts the optional parameters - # @option opts [Boolean] :validate_only When enabled, prevents saving workflow after validating (default to false) - # @return [Array<(ApiResourceIDsResponse, Integer, Hash)>] ApiResourceIDsResponse data, response status code and response headers - def workflow_definitions_create_with_http_info(body, opts = {}) + # @option opts [String] :filter FQL query specifying filter parameters. + # @option opts [String] :offset Starting pagination offset of records to return. + # @option opts [Integer] :limit Maximum number of records to return. + # @option opts [String] :sort Sort items by providing a comma separated list of property and direction (eg name.desc,time.asc). If direction is omitted, defaults to descending. + # @return [Array<(DefinitionsDefinitionExternalResponse, Integer, Hash)>] DefinitionsDefinitionExternalResponse data, response status code and response headers + def workflow_definitions_combined_with_http_info(opts = {}) if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: WorkflowsApi.workflow_definitions_create ...' + @api_client.config.logger.debug 'Calling API: WorkflowsApi.workflow_definitions_combined ...' end - # verify the required parameter 'body' is set - if @api_client.config.client_side_validation && body.nil? - fail ArgumentError, "Missing the required parameter 'body' when calling WorkflowsApi.workflow_definitions_create" + pattern = Regexp.new(/^\w+(\.asc|\.desc)?(,\w+(\.asc|\.desc)?)*$/) + if @api_client.config.client_side_validation && !opts[:'sort'].nil? && opts[:'sort'] !~ pattern + fail ArgumentError, "invalid value for 'opts[:\"sort\"]' when calling WorkflowsApi.workflow_definitions_combined, must conform to the pattern #{pattern}." end + # resource path - local_var_path = '/workflows/entities/definitions/v1' + local_var_path = '/workflows/combined/definitions/v1' # query parameters query_params = opts[:query_params] || {} - query_params[:'validate_only'] = opts[:'validate_only'] if !opts[:'validate_only'].nil? + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + query_params[:'offset'] = opts[:'offset'] if !opts[:'offset'].nil? + query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/json']) - # HTTP header 'Content-Type' - content_type = @api_client.select_header_content_type(['application/json', 'application/yaml']) - if !content_type.nil? - header_params['Content-Type'] = content_type - end + header_params['Accept'] = @api_client.select_header_accept(['application/json', 'application/yaml']) # form parameters form_params = opts[:form_params] || {} # http body (model) - post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'ApiResourceIDsResponse' + return_type = opts[:debug_return_type] || 'DefinitionsDefinitionExternalResponse' # auth_names auth_names = opts[:debug_auth_names] || ['oauth2'] new_options = opts.merge( - :operation => :"WorkflowsApi.workflow_definitions_create", + :operation => :"WorkflowsApi.workflow_definitions_combined", :header_params => header_params, :query_params => query_params, :form_params => form_params, @@ -170,9 +173,9 @@ def workflow_definitions_create_with_http_info(body, opts = {}) :return_type => return_type ) - data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) if @api_client.config.debugging - @api_client.config.logger.debug "API called: WorkflowsApi#workflow_definitions_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + @api_client.config.logger.debug "API called: WorkflowsApi#workflow_definitions_combined\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end @@ -180,6 +183,7 @@ def workflow_definitions_create_with_http_info(body, opts = {}) # Exports a workflow definition for the given definition ID # @param id [String] ID of workflow definitions to return details for # @param [Hash] opts the optional parameters + # @option opts [Boolean] :sanitize whether or not to sanitize PII from workflow before it's exported (default to true) # @return [Array] def workflow_definitions_export(id, opts = {}) data, _status_code, _headers = workflow_definitions_export_with_http_info(id, opts) @@ -189,6 +193,7 @@ def workflow_definitions_export(id, opts = {}) # Exports a workflow definition for the given definition ID # @param id [String] ID of workflow definitions to return details for # @param [Hash] opts the optional parameters + # @option opts [Boolean] :sanitize whether or not to sanitize PII from workflow before it's exported (default to true) # @return [Array<(Array, Integer, Hash)>] Array data, response status code and response headers def workflow_definitions_export_with_http_info(id, opts = {}) if @api_client.config.debugging @@ -212,11 +217,12 @@ def workflow_definitions_export_with_http_info(id, opts = {}) # query parameters query_params = opts[:query_params] || {} query_params[:'id'] = id + query_params[:'sanitize'] = opts[:'sanitize'] if !opts[:'sanitize'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) - header_params['Accept'] = @api_client.select_header_accept(['application/yaml']) + header_params['Accept'] = @api_client.select_header_accept(['application/yaml', 'application/json']) # form parameters form_params = opts[:form_params] || {} @@ -473,6 +479,93 @@ def workflow_execute_with_http_info(body, opts = {}) return data, status_code, headers end + # Executes an on-demand Workflow - internal workflows permitted, the body is JSON used to trigger the execution, the response the execution ID(s) + # @param body [Object] + # @param [Hash] opts the optional parameters + # @option opts [Array] :execution_cid CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. + # @option opts [Array] :definition_id Definition ID to execute, either a name or an ID can be specified. + # @option opts [String] :name Workflow name to execute, either a name or an ID can be specified. + # @option opts [String] :key Key used to help deduplicate executions, if unset a new UUID is used + # @option opts [Integer] :depth Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. + # @option opts [Integer] :batch_size Used to set the batchSize, if unset the default batchSize is used + # @option opts [String] :source_event_url Used to record a URL to the source that led to triggering this workflow + # @return [ApiResourceIDsResponse] + def workflow_execute_internal(body, opts = {}) + data, _status_code, _headers = workflow_execute_internal_with_http_info(body, opts) + data + end + + # Executes an on-demand Workflow - internal workflows permitted, the body is JSON used to trigger the execution, the response the execution ID(s) + # @param body [Object] + # @param [Hash] opts the optional parameters + # @option opts [Array] :execution_cid CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. + # @option opts [Array] :definition_id Definition ID to execute, either a name or an ID can be specified. + # @option opts [String] :name Workflow name to execute, either a name or an ID can be specified. + # @option opts [String] :key Key used to help deduplicate executions, if unset a new UUID is used + # @option opts [Integer] :depth Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. + # @option opts [Integer] :batch_size Used to set the batchSize, if unset the default batchSize is used + # @option opts [String] :source_event_url Used to record a URL to the source that led to triggering this workflow + # @return [Array<(ApiResourceIDsResponse, Integer, Hash)>] ApiResourceIDsResponse data, response status code and response headers + def workflow_execute_internal_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: WorkflowsApi.workflow_execute_internal ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling WorkflowsApi.workflow_execute_internal" + end + # resource path + local_var_path = '/workflows/entities/execute/internal/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'execution_cid'] = @api_client.build_collection_param(opts[:'execution_cid'], :csv) if !opts[:'execution_cid'].nil? + query_params[:'definition_id'] = @api_client.build_collection_param(opts[:'definition_id'], :csv) if !opts[:'definition_id'].nil? + query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil? + query_params[:'key'] = opts[:'key'] if !opts[:'key'].nil? + query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil? + query_params[:'batch_size'] = opts[:'batch_size'] if !opts[:'batch_size'].nil? + query_params[:'source_event_url'] = opts[:'source_event_url'] if !opts[:'source_event_url'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ApiResourceIDsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"WorkflowsApi.workflow_execute_internal", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: WorkflowsApi#workflow_execute_internal\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Get execution result of a given execution # @param ids [Array] workflow execution id to return results for. # @param [Hash] opts the optional parameters @@ -755,6 +848,93 @@ def workflow_get_human_input_v1_with_http_info(ids, opts = {}) return data, status_code, headers end + # Executes a workflow definition with mocks + # @param body [ModelsMockExecutionCreateRequestV1] + # @param [Hash] opts the optional parameters + # @option opts [Array] :execution_cid CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. + # @option opts [String] :definition_id Definition ID to execute, either a name or an ID, or the definition itself in the request body, can be specified. + # @option opts [String] :name Workflow name to execute, either a name or an ID, or the definition itself in the request body, can be specified. + # @option opts [String] :key Key used to help deduplicate executions, if unset a new UUID is used + # @option opts [Integer] :depth Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. + # @option opts [String] :source_event_url Used to record a URL to the source that led to triggering this workflow + # @option opts [Boolean] :validate_only When enabled, prevents execution after validating mocks against definition (default to false) + # @return [ApiResourceIDsResponse] + def workflow_mock_execute(body, opts = {}) + data, _status_code, _headers = workflow_mock_execute_with_http_info(body, opts) + data + end + + # Executes a workflow definition with mocks + # @param body [ModelsMockExecutionCreateRequestV1] + # @param [Hash] opts the optional parameters + # @option opts [Array] :execution_cid CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. + # @option opts [String] :definition_id Definition ID to execute, either a name or an ID, or the definition itself in the request body, can be specified. + # @option opts [String] :name Workflow name to execute, either a name or an ID, or the definition itself in the request body, can be specified. + # @option opts [String] :key Key used to help deduplicate executions, if unset a new UUID is used + # @option opts [Integer] :depth Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. + # @option opts [String] :source_event_url Used to record a URL to the source that led to triggering this workflow + # @option opts [Boolean] :validate_only When enabled, prevents execution after validating mocks against definition (default to false) + # @return [Array<(ApiResourceIDsResponse, Integer, Hash)>] ApiResourceIDsResponse data, response status code and response headers + def workflow_mock_execute_with_http_info(body, opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: WorkflowsApi.workflow_mock_execute ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling WorkflowsApi.workflow_mock_execute" + end + # resource path + local_var_path = '/workflows/entities/mock-executions/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'execution_cid'] = @api_client.build_collection_param(opts[:'execution_cid'], :csv) if !opts[:'execution_cid'].nil? + query_params[:'definition_id'] = opts[:'definition_id'] if !opts[:'definition_id'].nil? + query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil? + query_params[:'key'] = opts[:'key'] if !opts[:'key'].nil? + query_params[:'depth'] = opts[:'depth'] if !opts[:'depth'].nil? + query_params[:'source_event_url'] = opts[:'source_event_url'] if !opts[:'source_event_url'].nil? + query_params[:'validate_only'] = opts[:'validate_only'] if !opts[:'validate_only'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + content_type = @api_client.select_header_content_type(['application/json']) + if !content_type.nil? + header_params['Content-Type'] = content_type + end + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'ApiResourceIDsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"WorkflowsApi.workflow_mock_execute", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: WorkflowsApi#workflow_mock_execute\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Deprovisions a system definition that was previously provisioned on the target CID # @param body [ClientSystemDefinitionDeProvisionRequest] # @param [Hash] opts the optional parameters @@ -953,6 +1133,64 @@ def workflow_system_definitions_provision_with_http_info(body, opts = {}) return data, status_code, headers end + # Search for triggers by namespaced identifier, i.e. FalconAudit, Detection, or FalconAudit/Detection/Status. Returns all triggers if no filter specified + # @param [Hash] opts the optional parameters + # @option opts [String] :filter FQL query specifying filter parameters. + # @return [TriggersTriggerExternalResponse] + def workflow_triggers_combined(opts = {}) + data, _status_code, _headers = workflow_triggers_combined_with_http_info(opts) + data + end + + # Search for triggers by namespaced identifier, i.e. FalconAudit, Detection, or FalconAudit/Detection/Status. Returns all triggers if no filter specified + # @param [Hash] opts the optional parameters + # @option opts [String] :filter FQL query specifying filter parameters. + # @return [Array<(TriggersTriggerExternalResponse, Integer, Hash)>] TriggersTriggerExternalResponse data, response status code and response headers + def workflow_triggers_combined_with_http_info(opts = {}) + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: WorkflowsApi.workflow_triggers_combined ...' + end + # resource path + local_var_path = '/workflows/combined/triggers/v1' + + # query parameters + query_params = opts[:query_params] || {} + query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'TriggersTriggerExternalResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || ['oauth2'] + + new_options = opts.merge( + :operation => :"WorkflowsApi.workflow_triggers_combined", + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type + ) + + data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: WorkflowsApi#workflow_triggers_combined\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Provides an input in response to a human input action. Depending on action configuration, one or more of Approve, Decline, and/or Escalate are permitted. # @param id [String] ID of human input to provide an input to # @param body [ModelUserInputUpdateRequest] diff --git a/lib/crimson-falcon/models/actions_action.rb b/lib/crimson-falcon/models/actions_action.rb new file mode 100644 index 00000000..65ef247c --- /dev/null +++ b/lib/crimson-falcon/models/actions_action.rb @@ -0,0 +1,348 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ActionsAction + attr_accessor :expected_change_count + + attr_accessor :id + + # Possible values: SUPPRESS, PURGE, UNSUPPRESS. + attr_accessor :operation_type + + attr_accessor :previous_change_count + + attr_accessor :reason + + # Possible values: RUNNING, DONE, FAILED + attr_accessor :status + + attr_accessor :total_change_count + + attr_accessor :updated_by + + attr_accessor :updated_date + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'expected_change_count' => :'expected_change_count', + :'id' => :'id', + :'operation_type' => :'operation_type', + :'previous_change_count' => :'previous_change_count', + :'reason' => :'reason', + :'status' => :'status', + :'total_change_count' => :'total_change_count', + :'updated_by' => :'updated_by', + :'updated_date' => :'updated_date' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'expected_change_count' => :'Integer', + :'id' => :'String', + :'operation_type' => :'String', + :'previous_change_count' => :'Integer', + :'reason' => :'String', + :'status' => :'String', + :'total_change_count' => :'Integer', + :'updated_by' => :'String', + :'updated_date' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ActionsAction` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ActionsAction`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'expected_change_count') + self.expected_change_count = attributes[:'expected_change_count'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'operation_type') + self.operation_type = attributes[:'operation_type'] + end + + if attributes.key?(:'previous_change_count') + self.previous_change_count = attributes[:'previous_change_count'] + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'total_change_count') + self.total_change_count = attributes[:'total_change_count'] + end + + if attributes.key?(:'updated_by') + self.updated_by = attributes[:'updated_by'] + end + + if attributes.key?(:'updated_date') + self.updated_date = attributes[:'updated_date'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @expected_change_count.nil? + invalid_properties.push('invalid value for "expected_change_count", expected_change_count cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @operation_type.nil? + invalid_properties.push('invalid value for "operation_type", operation_type cannot be nil.') + end + + if @previous_change_count.nil? + invalid_properties.push('invalid value for "previous_change_count", previous_change_count cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @total_change_count.nil? + invalid_properties.push('invalid value for "total_change_count", total_change_count cannot be nil.') + end + + if @updated_by.nil? + invalid_properties.push('invalid value for "updated_by", updated_by cannot be nil.') + end + + if @updated_date.nil? + invalid_properties.push('invalid value for "updated_date", updated_date cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @expected_change_count.nil? + return false if @id.nil? + return false if @operation_type.nil? + return false if @previous_change_count.nil? + return false if @status.nil? + return false if @total_change_count.nil? + return false if @updated_by.nil? + return false if @updated_date.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + expected_change_count == o.expected_change_count && + id == o.id && + operation_type == o.operation_type && + previous_change_count == o.previous_change_count && + reason == o.reason && + status == o.status && + total_change_count == o.total_change_count && + updated_by == o.updated_by && + updated_date == o.updated_date + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [expected_change_count, id, operation_type, previous_change_count, reason, status, total_change_count, updated_by, updated_date].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/actions_action_response.rb b/lib/crimson-falcon/models/actions_action_response.rb new file mode 100644 index 00000000..85aa82f4 --- /dev/null +++ b/lib/crimson-falcon/models/actions_action_response.rb @@ -0,0 +1,259 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ActionsActionResponse + attr_accessor :action_id + + attr_accessor :errors + + attr_accessor :meta + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'action_id' => :'action_id', + :'errors' => :'errors', + :'meta' => :'meta' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'action_id' => :'String', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ActionsActionResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ActionsActionResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'action_id') + self.action_id = attributes[:'action_id'] + end + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @action_id.nil? + invalid_properties.push('invalid value for "action_id", action_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @action_id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + action_id == o.action_id && + errors == o.errors && + meta == o.meta + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [action_id, errors, meta].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/actions_create_action_request.rb b/lib/crimson-falcon/models/actions_create_action_request.rb new file mode 100644 index 00000000..a7dfab01 --- /dev/null +++ b/lib/crimson-falcon/models/actions_create_action_request.rb @@ -0,0 +1,264 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ActionsCreateActionRequest + attr_accessor :change_ids + + attr_accessor :comment + + attr_accessor :operation + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'change_ids' => :'change_ids', + :'comment' => :'comment', + :'operation' => :'operation' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'change_ids' => :'Array', + :'comment' => :'String', + :'operation' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ActionsCreateActionRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ActionsCreateActionRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'change_ids') + if (value = attributes[:'change_ids']).is_a?(Array) + self.change_ids = value + end + end + + if attributes.key?(:'comment') + self.comment = attributes[:'comment'] + end + + if attributes.key?(:'operation') + self.operation = attributes[:'operation'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @change_ids.nil? + invalid_properties.push('invalid value for "change_ids", change_ids cannot be nil.') + end + + if @operation.nil? + invalid_properties.push('invalid value for "operation", operation cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @change_ids.nil? + return false if @operation.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + change_ids == o.change_ids && + comment == o.comment && + operation == o.operation + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [change_ids, comment, operation].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/actions_get_action_response.rb b/lib/crimson-falcon/models/actions_get_action_response.rb new file mode 100644 index 00000000..f4ad45bf --- /dev/null +++ b/lib/crimson-falcon/models/actions_get_action_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ActionsGetActionResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ActionsGetActionResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ActionsGetActionResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/activities_activity.rb b/lib/crimson-falcon/models/activities_activity.rb new file mode 100644 index 00000000..484f0893 --- /dev/null +++ b/lib/crimson-falcon/models/activities_activity.rb @@ -0,0 +1,460 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ActivitiesActivity + # Required api scope to use this activity. + attr_accessor :api_scope + + # Optional ID if the activity is exposed through an app from Store + attr_accessor :app_id + + # The CID that owns this activity, if this is empty it is a global activity + attr_accessor :cid + + # Activity class to identify how it should be orchestrated. E.g. External, Break, CreateVariable and UpdateVariable + attr_accessor :_class + + # A detailed description of what this action does + attr_accessor :description + + # A flag indicating whether the activity is potentially disruptive/destructive + attr_accessor :disruptive + + # Indicates whether an activity is available for the caller + attr_accessor :has_permission + + # Unique ID of the activity, auto-generated by the API service + attr_accessor :id + + # Input fields required for configuring activity + attr_accessor :input_fields + + attr_accessor :input_schema + + attr_accessor :mock_output + + # UI name for displaying the activity to a user + attr_accessor :name + + # Unique namespace for the activity. + attr_accessor :namespace + + # Output fields of the activity once executed + attr_accessor :output_fields + + attr_accessor :output_schema + + # Tag IDs assigned to this activity + attr_accessor :tag_ids + + # Timestamp of when the activity was last updated + attr_accessor :updated + + # UseCases used by this activity + attr_accessor :use_cases + + # Vendors used by this activity + attr_accessor :vendor + + # An incrementing version number + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'api_scope' => :'api_scope', + :'app_id' => :'app_id', + :'cid' => :'cid', + :'_class' => :'class', + :'description' => :'description', + :'disruptive' => :'disruptive', + :'has_permission' => :'has_permission', + :'id' => :'id', + :'input_fields' => :'input_fields', + :'input_schema' => :'input_schema', + :'mock_output' => :'mock_output', + :'name' => :'name', + :'namespace' => :'namespace', + :'output_fields' => :'output_fields', + :'output_schema' => :'output_schema', + :'tag_ids' => :'tag_ids', + :'updated' => :'updated', + :'use_cases' => :'use_cases', + :'vendor' => :'vendor', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'api_scope' => :'String', + :'app_id' => :'String', + :'cid' => :'String', + :'_class' => :'String', + :'description' => :'String', + :'disruptive' => :'Boolean', + :'has_permission' => :'Boolean', + :'id' => :'String', + :'input_fields' => :'Array', + :'input_schema' => :'JsonschemaSchema', + :'mock_output' => :'Object', + :'name' => :'String', + :'namespace' => :'String', + :'output_fields' => :'Array', + :'output_schema' => :'JsonschemaSchema', + :'tag_ids' => :'Array', + :'updated' => :'Time', + :'use_cases' => :'Array', + :'vendor' => :'String', + :'version' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ActivitiesActivity` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ActivitiesActivity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'api_scope') + self.api_scope = attributes[:'api_scope'] + end + + if attributes.key?(:'app_id') + self.app_id = attributes[:'app_id'] + end + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'_class') + self._class = attributes[:'_class'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'disruptive') + self.disruptive = attributes[:'disruptive'] + end + + if attributes.key?(:'has_permission') + self.has_permission = attributes[:'has_permission'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'input_fields') + if (value = attributes[:'input_fields']).is_a?(Array) + self.input_fields = value + end + end + + if attributes.key?(:'input_schema') + self.input_schema = attributes[:'input_schema'] + end + + if attributes.key?(:'mock_output') + self.mock_output = attributes[:'mock_output'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'namespace') + self.namespace = attributes[:'namespace'] + end + + if attributes.key?(:'output_fields') + if (value = attributes[:'output_fields']).is_a?(Array) + self.output_fields = value + end + end + + if attributes.key?(:'output_schema') + self.output_schema = attributes[:'output_schema'] + end + + if attributes.key?(:'tag_ids') + if (value = attributes[:'tag_ids']).is_a?(Array) + self.tag_ids = value + end + end + + if attributes.key?(:'updated') + self.updated = attributes[:'updated'] + end + + if attributes.key?(:'use_cases') + if (value = attributes[:'use_cases']).is_a?(Array) + self.use_cases = value + end + end + + if attributes.key?(:'vendor') + self.vendor = attributes[:'vendor'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @description.nil? + invalid_properties.push('invalid value for "description", description cannot be nil.') + end + + if @disruptive.nil? + invalid_properties.push('invalid value for "disruptive", disruptive cannot be nil.') + end + + if @has_permission.nil? + invalid_properties.push('invalid value for "has_permission", has_permission cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cid.nil? + return false if @description.nil? + return false if @disruptive.nil? + return false if @has_permission.nil? + return false if @id.nil? + return false if @name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + api_scope == o.api_scope && + app_id == o.app_id && + cid == o.cid && + _class == o._class && + description == o.description && + disruptive == o.disruptive && + has_permission == o.has_permission && + id == o.id && + input_fields == o.input_fields && + input_schema == o.input_schema && + mock_output == o.mock_output && + name == o.name && + namespace == o.namespace && + output_fields == o.output_fields && + output_schema == o.output_schema && + tag_ids == o.tag_ids && + updated == o.updated && + use_cases == o.use_cases && + vendor == o.vendor && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [api_scope, app_id, cid, _class, description, disruptive, has_permission, id, input_fields, input_schema, mock_output, name, namespace, output_fields, output_schema, tag_ids, updated, use_cases, vendor, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/activities_activity_ext_field.rb b/lib/crimson-falcon/models/activities_activity_ext_field.rb new file mode 100644 index 00000000..b4e76ce1 --- /dev/null +++ b/lib/crimson-falcon/models/activities_activity_ext_field.rb @@ -0,0 +1,315 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ActivitiesActivityExtField + # Description for the field. + attr_accessor :description + + # User friendly display name for the field + attr_accessor :display + + attr_accessor :example + + # Nested fields of this object, only set when field type is complex + attr_accessor :fields + + # Name of the field as it should be passed back to the API through conditions or data mapping. + attr_accessor :name + + attr_accessor :source + + # Underlying type for the field, can be a primitive json schema type or signal field type. + attr_accessor :type + + # This property is set if the notPramaterizable is set to true. + attr_accessor :x_cs_not_parameterizable + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'description' => :'description', + :'display' => :'display', + :'example' => :'example', + :'fields' => :'fields', + :'name' => :'name', + :'source' => :'source', + :'type' => :'type', + :'x_cs_not_parameterizable' => :'x-cs-not-parameterizable' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'description' => :'String', + :'display' => :'String', + :'example' => :'Object', + :'fields' => :'Array', + :'name' => :'String', + :'source' => :'FielddataFieldSource', + :'type' => :'String', + :'x_cs_not_parameterizable' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ActivitiesActivityExtField` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ActivitiesActivityExtField`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'display') + self.display = attributes[:'display'] + end + + if attributes.key?(:'example') + self.example = attributes[:'example'] + end + + if attributes.key?(:'fields') + if (value = attributes[:'fields']).is_a?(Array) + self.fields = value + end + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'x_cs_not_parameterizable') + self.x_cs_not_parameterizable = attributes[:'x_cs_not_parameterizable'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @display.nil? + invalid_properties.push('invalid value for "display", display cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @display.nil? + return false if @name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + description == o.description && + display == o.display && + example == o.example && + fields == o.fields && + name == o.name && + source == o.source && + type == o.type && + x_cs_not_parameterizable == o.x_cs_not_parameterizable + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [description, display, example, fields, name, source, type, x_cs_not_parameterizable].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/activities_activity_external_response.rb b/lib/crimson-falcon/models/activities_activity_external_response.rb new file mode 100644 index 00000000..3ff20ce6 --- /dev/null +++ b/lib/crimson-falcon/models/activities_activity_external_response.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ActivitiesActivityExternalResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ActivitiesActivityExternalResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ActivitiesActivityExternalResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/activity.rb b/lib/crimson-falcon/models/activity.rb new file mode 100644 index 00000000..a1a2a5a6 --- /dev/null +++ b/lib/crimson-falcon/models/activity.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class Activity + attr_accessor :access_type + + attr_accessor :access_type_custom + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'access_type' => :'accessType', + :'access_type_custom' => :'accessTypeCustom' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'access_type' => :'TypesPolicyRulesCondition', + :'access_type_custom' => :'TypesPolicyRulesCondition' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::Activity` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::Activity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'access_type') + self.access_type = attributes[:'access_type'] + end + + if attributes.key?(:'access_type_custom') + self.access_type_custom = attributes[:'access_type_custom'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + access_type == o.access_type && + access_type_custom == o.access_type_custom + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [access_type, access_type_custom].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/alerts_container_alerts_count_value.rb b/lib/crimson-falcon/models/alerts_container_alerts_count_value.rb index a830ca26..c1ef358b 100644 --- a/lib/crimson-falcon/models/alerts_container_alerts_count_value.rb +++ b/lib/crimson-falcon/models/alerts_container_alerts_count_value.rb @@ -32,18 +32,18 @@ module Falcon class AlertsContainerAlertsCountValue - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/alerts_container_alerts_entity_response.rb b/lib/crimson-falcon/models/alerts_container_alerts_entity_response.rb index 53f8dff5..91c182d5 100644 --- a/lib/crimson-falcon/models/alerts_container_alerts_entity_response.rb +++ b/lib/crimson-falcon/models/alerts_container_alerts_entity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_action_resp_v1.rb b/lib/crimson-falcon/models/api_action_resp_v1.rb index afd4e0f5..106175bb 100644 --- a/lib/crimson-falcon/models/api_action_resp_v1.rb +++ b/lib/crimson-falcon/models/api_action_resp_v1.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'ApiIndicatorsQueryMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/api_audit_event_details_response_v1.rb b/lib/crimson-falcon/models/api_audit_event_details_response_v1.rb index 9eec90a8..72f27cd6 100644 --- a/lib/crimson-falcon/models/api_audit_event_details_response_v1.rb +++ b/lib/crimson-falcon/models/api_audit_event_details_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_cert_based_exclusion_create_req_v1.rb b/lib/crimson-falcon/models/api_cert_based_exclusion_create_req_v1.rb new file mode 100644 index 00000000..3a3bb41b --- /dev/null +++ b/lib/crimson-falcon/models/api_cert_based_exclusion_create_req_v1.rb @@ -0,0 +1,342 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCertBasedExclusionCreateReqV1 + attr_accessor :applied_globally + + attr_accessor :certificate + + attr_accessor :children_cids + + attr_accessor :comment + + attr_accessor :created_by + + attr_accessor :created_on + + attr_accessor :description + + attr_accessor :host_groups + + attr_accessor :modified_by + + attr_accessor :modified_on + + attr_accessor :name + + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'applied_globally' => :'applied_globally', + :'certificate' => :'certificate', + :'children_cids' => :'children_cids', + :'comment' => :'comment', + :'created_by' => :'created_by', + :'created_on' => :'created_on', + :'description' => :'description', + :'host_groups' => :'host_groups', + :'modified_by' => :'modified_by', + :'modified_on' => :'modified_on', + :'name' => :'name', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'applied_globally' => :'Boolean', + :'certificate' => :'ApiCertificateReqV1', + :'children_cids' => :'Array', + :'comment' => :'String', + :'created_by' => :'String', + :'created_on' => :'Time', + :'description' => :'String', + :'host_groups' => :'Array', + :'modified_by' => :'String', + :'modified_on' => :'Time', + :'name' => :'String', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCertBasedExclusionCreateReqV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCertBasedExclusionCreateReqV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'applied_globally') + self.applied_globally = attributes[:'applied_globally'] + end + + if attributes.key?(:'certificate') + self.certificate = attributes[:'certificate'] + end + + if attributes.key?(:'children_cids') + if (value = attributes[:'children_cids']).is_a?(Array) + self.children_cids = value + end + end + + if attributes.key?(:'comment') + self.comment = attributes[:'comment'] + end + + if attributes.key?(:'created_by') + self.created_by = attributes[:'created_by'] + end + + if attributes.key?(:'created_on') + self.created_on = attributes[:'created_on'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'host_groups') + if (value = attributes[:'host_groups']).is_a?(Array) + self.host_groups = value + end + end + + if attributes.key?(:'modified_by') + self.modified_by = attributes[:'modified_by'] + end + + if attributes.key?(:'modified_on') + self.modified_on = attributes[:'modified_on'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + applied_globally == o.applied_globally && + certificate == o.certificate && + children_cids == o.children_cids && + comment == o.comment && + created_by == o.created_by && + created_on == o.created_on && + description == o.description && + host_groups == o.host_groups && + modified_by == o.modified_by && + modified_on == o.modified_on && + name == o.name && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [applied_globally, certificate, children_cids, comment, created_by, created_on, description, host_groups, modified_by, modified_on, name, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_cert_based_exclusion_resp_v1.rb b/lib/crimson-falcon/models/api_cert_based_exclusion_resp_v1.rb new file mode 100644 index 00000000..7024d0aa --- /dev/null +++ b/lib/crimson-falcon/models/api_cert_based_exclusion_resp_v1.rb @@ -0,0 +1,261 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCertBasedExclusionRespV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCertBasedExclusionRespV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCertBasedExclusionRespV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_cert_based_exclusion_update_req_v1.rb b/lib/crimson-falcon/models/api_cert_based_exclusion_update_req_v1.rb new file mode 100644 index 00000000..1381c7c8 --- /dev/null +++ b/lib/crimson-falcon/models/api_cert_based_exclusion_update_req_v1.rb @@ -0,0 +1,351 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCertBasedExclusionUpdateReqV1 + attr_accessor :applied_globally + + attr_accessor :certificate + + attr_accessor :children_cids + + attr_accessor :comment + + attr_accessor :created_by + + attr_accessor :created_on + + attr_accessor :description + + attr_accessor :host_groups + + attr_accessor :id + + attr_accessor :modified_by + + attr_accessor :modified_on + + attr_accessor :name + + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'applied_globally' => :'applied_globally', + :'certificate' => :'certificate', + :'children_cids' => :'children_cids', + :'comment' => :'comment', + :'created_by' => :'created_by', + :'created_on' => :'created_on', + :'description' => :'description', + :'host_groups' => :'host_groups', + :'id' => :'id', + :'modified_by' => :'modified_by', + :'modified_on' => :'modified_on', + :'name' => :'name', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'applied_globally' => :'Boolean', + :'certificate' => :'ApiCertificateReqV1', + :'children_cids' => :'Array', + :'comment' => :'String', + :'created_by' => :'String', + :'created_on' => :'Time', + :'description' => :'String', + :'host_groups' => :'Array', + :'id' => :'String', + :'modified_by' => :'String', + :'modified_on' => :'Time', + :'name' => :'String', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCertBasedExclusionUpdateReqV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCertBasedExclusionUpdateReqV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'applied_globally') + self.applied_globally = attributes[:'applied_globally'] + end + + if attributes.key?(:'certificate') + self.certificate = attributes[:'certificate'] + end + + if attributes.key?(:'children_cids') + if (value = attributes[:'children_cids']).is_a?(Array) + self.children_cids = value + end + end + + if attributes.key?(:'comment') + self.comment = attributes[:'comment'] + end + + if attributes.key?(:'created_by') + self.created_by = attributes[:'created_by'] + end + + if attributes.key?(:'created_on') + self.created_on = attributes[:'created_on'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'host_groups') + if (value = attributes[:'host_groups']).is_a?(Array) + self.host_groups = value + end + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'modified_by') + self.modified_by = attributes[:'modified_by'] + end + + if attributes.key?(:'modified_on') + self.modified_on = attributes[:'modified_on'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + applied_globally == o.applied_globally && + certificate == o.certificate && + children_cids == o.children_cids && + comment == o.comment && + created_by == o.created_by && + created_on == o.created_on && + description == o.description && + host_groups == o.host_groups && + id == o.id && + modified_by == o.modified_by && + modified_on == o.modified_on && + name == o.name && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [applied_globally, certificate, children_cids, comment, created_by, created_on, description, host_groups, id, modified_by, modified_on, name, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_cert_based_exclusion_v1.rb b/lib/crimson-falcon/models/api_cert_based_exclusion_v1.rb new file mode 100644 index 00000000..aea3eed9 --- /dev/null +++ b/lib/crimson-falcon/models/api_cert_based_exclusion_v1.rb @@ -0,0 +1,365 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCertBasedExclusionV1 + attr_accessor :applied_globally + + attr_accessor :certificate + + attr_accessor :children_cids + + attr_accessor :cid + + attr_accessor :comment + + attr_accessor :created_by + + attr_accessor :created_on + + attr_accessor :description + + attr_accessor :host_groups + + attr_accessor :id + + attr_accessor :modified_by + + attr_accessor :modified_on + + attr_accessor :name + + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'applied_globally' => :'applied_globally', + :'certificate' => :'certificate', + :'children_cids' => :'children_cids', + :'cid' => :'cid', + :'comment' => :'comment', + :'created_by' => :'created_by', + :'created_on' => :'created_on', + :'description' => :'description', + :'host_groups' => :'host_groups', + :'id' => :'id', + :'modified_by' => :'modified_by', + :'modified_on' => :'modified_on', + :'name' => :'name', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'applied_globally' => :'Boolean', + :'certificate' => :'ApiCertificateV1', + :'children_cids' => :'Array', + :'cid' => :'String', + :'comment' => :'String', + :'created_by' => :'String', + :'created_on' => :'Time', + :'description' => :'String', + :'host_groups' => :'Array', + :'id' => :'String', + :'modified_by' => :'String', + :'modified_on' => :'Time', + :'name' => :'String', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCertBasedExclusionV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCertBasedExclusionV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'applied_globally') + self.applied_globally = attributes[:'applied_globally'] + end + + if attributes.key?(:'certificate') + self.certificate = attributes[:'certificate'] + end + + if attributes.key?(:'children_cids') + if (value = attributes[:'children_cids']).is_a?(Array) + self.children_cids = value + end + end + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'comment') + self.comment = attributes[:'comment'] + end + + if attributes.key?(:'created_by') + self.created_by = attributes[:'created_by'] + end + + if attributes.key?(:'created_on') + self.created_on = attributes[:'created_on'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'host_groups') + if (value = attributes[:'host_groups']).is_a?(Array) + self.host_groups = value + end + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'modified_by') + self.modified_by = attributes[:'modified_by'] + end + + if attributes.key?(:'modified_on') + self.modified_on = attributes[:'modified_on'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cid.nil? + return false if @id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + applied_globally == o.applied_globally && + certificate == o.certificate && + children_cids == o.children_cids && + cid == o.cid && + comment == o.comment && + created_by == o.created_by && + created_on == o.created_on && + description == o.description && + host_groups == o.host_groups && + id == o.id && + modified_by == o.modified_by && + modified_on == o.modified_on && + name == o.name && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [applied_globally, certificate, children_cids, cid, comment, created_by, created_on, description, host_groups, id, modified_by, modified_on, name, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_cert_based_exclusions_create_req_v1.rb b/lib/crimson-falcon/models/api_cert_based_exclusions_create_req_v1.rb new file mode 100644 index 00000000..44508146 --- /dev/null +++ b/lib/crimson-falcon/models/api_cert_based_exclusions_create_req_v1.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCertBasedExclusionsCreateReqV1 + attr_accessor :exclusions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'exclusions' => :'exclusions' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'exclusions' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCertBasedExclusionsCreateReqV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCertBasedExclusionsCreateReqV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'exclusions') + if (value = attributes[:'exclusions']).is_a?(Array) + self.exclusions = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @exclusions.nil? + invalid_properties.push('invalid value for "exclusions", exclusions cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @exclusions.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + exclusions == o.exclusions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [exclusions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_cert_based_exclusions_update_req_v1.rb b/lib/crimson-falcon/models/api_cert_based_exclusions_update_req_v1.rb new file mode 100644 index 00000000..dcd8c245 --- /dev/null +++ b/lib/crimson-falcon/models/api_cert_based_exclusions_update_req_v1.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCertBasedExclusionsUpdateReqV1 + attr_accessor :exclusions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'exclusions' => :'exclusions' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'exclusions' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCertBasedExclusionsUpdateReqV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCertBasedExclusionsUpdateReqV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'exclusions') + if (value = attributes[:'exclusions']).is_a?(Array) + self.exclusions = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @exclusions.nil? + invalid_properties.push('invalid value for "exclusions", exclusions cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @exclusions.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + exclusions == o.exclusions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [exclusions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_certificate_req_v1.rb b/lib/crimson-falcon/models/api_certificate_req_v1.rb new file mode 100644 index 00000000..2d149e4e --- /dev/null +++ b/lib/crimson-falcon/models/api_certificate_req_v1.rb @@ -0,0 +1,309 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCertificateReqV1 + attr_accessor :issuer + + attr_accessor :serial + + attr_accessor :subject + + attr_accessor :thumbprint + + attr_accessor :valid_from + + attr_accessor :valid_to + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'issuer' => :'issuer', + :'serial' => :'serial', + :'subject' => :'subject', + :'thumbprint' => :'thumbprint', + :'valid_from' => :'valid_from', + :'valid_to' => :'valid_to' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'issuer' => :'String', + :'serial' => :'String', + :'subject' => :'String', + :'thumbprint' => :'String', + :'valid_from' => :'Time', + :'valid_to' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCertificateReqV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCertificateReqV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'issuer') + self.issuer = attributes[:'issuer'] + end + + if attributes.key?(:'serial') + self.serial = attributes[:'serial'] + end + + if attributes.key?(:'subject') + self.subject = attributes[:'subject'] + end + + if attributes.key?(:'thumbprint') + self.thumbprint = attributes[:'thumbprint'] + end + + if attributes.key?(:'valid_from') + self.valid_from = attributes[:'valid_from'] + end + + if attributes.key?(:'valid_to') + self.valid_to = attributes[:'valid_to'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @issuer.nil? + invalid_properties.push('invalid value for "issuer", issuer cannot be nil.') + end + + if @serial.nil? + invalid_properties.push('invalid value for "serial", serial cannot be nil.') + end + + if @subject.nil? + invalid_properties.push('invalid value for "subject", subject cannot be nil.') + end + + if @thumbprint.nil? + invalid_properties.push('invalid value for "thumbprint", thumbprint cannot be nil.') + end + + if @valid_from.nil? + invalid_properties.push('invalid value for "valid_from", valid_from cannot be nil.') + end + + if @valid_to.nil? + invalid_properties.push('invalid value for "valid_to", valid_to cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @issuer.nil? + return false if @serial.nil? + return false if @subject.nil? + return false if @thumbprint.nil? + return false if @valid_from.nil? + return false if @valid_to.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + issuer == o.issuer && + serial == o.serial && + subject == o.subject && + thumbprint == o.thumbprint && + valid_from == o.valid_from && + valid_to == o.valid_to + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [issuer, serial, subject, thumbprint, valid_from, valid_to].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_certificate_v1.rb b/lib/crimson-falcon/models/api_certificate_v1.rb new file mode 100644 index 00000000..13f6f570 --- /dev/null +++ b/lib/crimson-falcon/models/api_certificate_v1.rb @@ -0,0 +1,309 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCertificateV1 + attr_accessor :issuer + + attr_accessor :serial + + attr_accessor :subject + + attr_accessor :thumbprint + + attr_accessor :valid_from + + attr_accessor :valid_to + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'issuer' => :'issuer', + :'serial' => :'serial', + :'subject' => :'subject', + :'thumbprint' => :'thumbprint', + :'valid_from' => :'valid_from', + :'valid_to' => :'valid_to' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'issuer' => :'String', + :'serial' => :'String', + :'subject' => :'String', + :'thumbprint' => :'String', + :'valid_from' => :'Time', + :'valid_to' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCertificateV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCertificateV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'issuer') + self.issuer = attributes[:'issuer'] + end + + if attributes.key?(:'serial') + self.serial = attributes[:'serial'] + end + + if attributes.key?(:'subject') + self.subject = attributes[:'subject'] + end + + if attributes.key?(:'thumbprint') + self.thumbprint = attributes[:'thumbprint'] + end + + if attributes.key?(:'valid_from') + self.valid_from = attributes[:'valid_from'] + end + + if attributes.key?(:'valid_to') + self.valid_to = attributes[:'valid_to'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @issuer.nil? + invalid_properties.push('invalid value for "issuer", issuer cannot be nil.') + end + + if @serial.nil? + invalid_properties.push('invalid value for "serial", serial cannot be nil.') + end + + if @subject.nil? + invalid_properties.push('invalid value for "subject", subject cannot be nil.') + end + + if @thumbprint.nil? + invalid_properties.push('invalid value for "thumbprint", thumbprint cannot be nil.') + end + + if @valid_from.nil? + invalid_properties.push('invalid value for "valid_from", valid_from cannot be nil.') + end + + if @valid_to.nil? + invalid_properties.push('invalid value for "valid_to", valid_to cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @issuer.nil? + return false if @serial.nil? + return false if @subject.nil? + return false if @thumbprint.nil? + return false if @valid_from.nil? + return false if @valid_to.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + issuer == o.issuer && + serial == o.serial && + subject == o.subject && + thumbprint == o.thumbprint && + valid_from == o.valid_from && + valid_to == o.valid_to + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [issuer, serial, subject, thumbprint, valid_from, valid_to].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_certificates_response_v1.rb b/lib/crimson-falcon/models/api_certificates_response_v1.rb new file mode 100644 index 00000000..f180b919 --- /dev/null +++ b/lib/crimson-falcon/models/api_certificates_response_v1.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCertificatesResponseV1 + attr_accessor :certificates + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'certificates' => :'certificates' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'certificates' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCertificatesResponseV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCertificatesResponseV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'certificates') + if (value = attributes[:'certificates']).is_a?(Array) + self.certificates = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @certificates.nil? + invalid_properties.push('invalid value for "certificates", certificates cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @certificates.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + certificates == o.certificates + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [certificates].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_create_migration_request_v1.rb b/lib/crimson-falcon/models/api_create_migration_request_v1.rb new file mode 100644 index 00000000..d54f0fc0 --- /dev/null +++ b/lib/crimson-falcon/models/api_create_migration_request_v1.rb @@ -0,0 +1,283 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCreateMigrationRequestV1 + attr_accessor :device_ids + + attr_accessor :filter + + attr_accessor :name + + attr_accessor :target_cid + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'device_ids' => :'device_ids', + :'filter' => :'filter', + :'name' => :'name', + :'target_cid' => :'target_cid' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'device_ids' => :'Array', + :'filter' => :'String', + :'name' => :'String', + :'target_cid' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCreateMigrationRequestV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCreateMigrationRequestV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'device_ids') + if (value = attributes[:'device_ids']).is_a?(Array) + self.device_ids = value + end + end + + if attributes.key?(:'filter') + self.filter = attributes[:'filter'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'target_cid') + self.target_cid = attributes[:'target_cid'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @device_ids.nil? + invalid_properties.push('invalid value for "device_ids", device_ids cannot be nil.') + end + + if @filter.nil? + invalid_properties.push('invalid value for "filter", filter cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @target_cid.nil? + invalid_properties.push('invalid value for "target_cid", target_cid cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @device_ids.nil? + return false if @filter.nil? + return false if @name.nil? + return false if @target_cid.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + device_ids == o.device_ids && + filter == o.filter && + name == o.name && + target_cid == o.target_cid + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [device_ids, filter, name, target_cid].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_create_migration_response_v1.rb b/lib/crimson-falcon/models/api_create_migration_response_v1.rb new file mode 100644 index 00000000..d2e119eb --- /dev/null +++ b/lib/crimson-falcon/models/api_create_migration_response_v1.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiCreateMigrationResponseV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiCreateMigrationResponseV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiCreateMigrationResponseV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_customer_settings_response_v1.rb b/lib/crimson-falcon/models/api_customer_settings_response_v1.rb index 7b75b3f6..077a4ee2 100644 --- a/lib/crimson-falcon/models/api_customer_settings_response_v1.rb +++ b/lib/crimson-falcon/models/api_customer_settings_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_device_count_resp_v1.rb b/lib/crimson-falcon/models/api_device_count_resp_v1.rb index f5318f85..388a58c5 100644 --- a/lib/crimson-falcon/models/api_device_count_resp_v1.rb +++ b/lib/crimson-falcon/models/api_device_count_resp_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_devices_ran_on_resp_v1.rb b/lib/crimson-falcon/models/api_devices_ran_on_resp_v1.rb index 03d01636..f774843c 100644 --- a/lib/crimson-falcon/models/api_devices_ran_on_resp_v1.rb +++ b/lib/crimson-falcon/models/api_devices_ran_on_resp_v1.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'ApiDetectsQueryMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/api_entities_response.rb b/lib/crimson-falcon/models/api_entities_response.rb index 2c04a489..df78aeec 100644 --- a/lib/crimson-falcon/models/api_entities_response.rb +++ b/lib/crimson-falcon/models/api_entities_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Object' } end diff --git a/lib/crimson-falcon/models/api_event.rb b/lib/crimson-falcon/models/api_event.rb new file mode 100644 index 00000000..be9a4399 --- /dev/null +++ b/lib/crimson-falcon/models/api_event.rb @@ -0,0 +1,277 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiEvent + attr_accessor :action + + attr_accessor :ids + + attr_accessor :reason + + attr_accessor :time + + attr_accessor :user + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'action' => :'action', + :'ids' => :'ids', + :'reason' => :'reason', + :'time' => :'time', + :'user' => :'user' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'action' => :'String', + :'ids' => :'Array', + :'reason' => :'String', + :'time' => :'Time', + :'user' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiEvent` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiEvent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'action') + self.action = attributes[:'action'] + end + + if attributes.key?(:'ids') + if (value = attributes[:'ids']).is_a?(Array) + self.ids = value + end + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.key?(:'time') + self.time = attributes[:'time'] + end + + if attributes.key?(:'user') + self.user = attributes[:'user'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @time.nil? + invalid_properties.push('invalid value for "time", time cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @time.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + action == o.action && + ids == o.ids && + reason == o.reason && + time == o.time && + user == o.user + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [action, ids, reason, time, user].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_execution_results_response.rb b/lib/crimson-falcon/models/api_execution_results_response.rb index 18d3a2e3..8158b0ea 100644 --- a/lib/crimson-falcon/models/api_execution_results_response.rb +++ b/lib/crimson-falcon/models/api_execution_results_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_get_host_migration_response_v1.rb b/lib/crimson-falcon/models/api_get_host_migration_response_v1.rb new file mode 100644 index 00000000..f5787d34 --- /dev/null +++ b/lib/crimson-falcon/models/api_get_host_migration_response_v1.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiGetHostMigrationResponseV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiGetHostMigrationResponseV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiGetHostMigrationResponseV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_get_migration_destinations_request_body_v1.rb b/lib/crimson-falcon/models/api_get_migration_destinations_request_body_v1.rb new file mode 100644 index 00000000..c63d487f --- /dev/null +++ b/lib/crimson-falcon/models/api_get_migration_destinations_request_body_v1.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiGetMigrationDestinationsRequestBodyV1 + attr_accessor :device_ids + + attr_accessor :filter + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'device_ids' => :'device_ids', + :'filter' => :'filter' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'device_ids' => :'Array', + :'filter' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiGetMigrationDestinationsRequestBodyV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiGetMigrationDestinationsRequestBodyV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'device_ids') + if (value = attributes[:'device_ids']).is_a?(Array) + self.device_ids = value + end + end + + if attributes.key?(:'filter') + self.filter = attributes[:'filter'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @device_ids.nil? + invalid_properties.push('invalid value for "device_ids", device_ids cannot be nil.') + end + + if @filter.nil? + invalid_properties.push('invalid value for "filter", filter cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @device_ids.nil? + return false if @filter.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + device_ids == o.device_ids && + filter == o.filter + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [device_ids, filter].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_get_migration_destinations_response_v1.rb b/lib/crimson-falcon/models/api_get_migration_destinations_response_v1.rb new file mode 100644 index 00000000..4e5c05de --- /dev/null +++ b/lib/crimson-falcon/models/api_get_migration_destinations_response_v1.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiGetMigrationDestinationsResponseV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiGetMigrationDestinationsResponseV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiGetMigrationDestinationsResponseV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_rule_entities_response.rb b/lib/crimson-falcon/models/api_get_migrations_response_v1.rb similarity index 96% rename from lib/crimson-falcon/models/domain_rule_entities_response.rb rename to lib/crimson-falcon/models/api_get_migrations_response_v1.rb index 61b0a71e..1f457881 100644 --- a/lib/crimson-falcon/models/domain_rule_entities_response.rb +++ b/lib/crimson-falcon/models/api_get_migrations_response_v1.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class DomainRuleEntitiesResponse + class ApiGetMigrationsResponseV1 attr_accessor :errors attr_accessor :meta @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', - :'resources' => :'Array' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -71,13 +71,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainRuleEntitiesResponse` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiGetMigrationsResponseV1` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainRuleEntitiesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiGetMigrationsResponseV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/domain_ddos_attack_source.rb b/lib/crimson-falcon/models/api_host_migration.rb similarity index 52% rename from lib/crimson-falcon/models/domain_ddos_attack_source.rb rename to lib/crimson-falcon/models/api_host_migration.rb index 34c4d0f8..493e351e 100644 --- a/lib/crimson-falcon/models/domain_ddos_attack_source.rb +++ b/lib/crimson-falcon/models/api_host_migration.rb @@ -31,61 +31,58 @@ require 'time' module Falcon - class DomainDDOSAttackSource - # The type of attack. One of `Amplification`, `Botnet`, `Other` - attr_accessor :attack_type + class ApiHostMigration + attr_accessor :created_time - # The confidence level. One of `Low`, `Medium`, `High` - attr_accessor :confidence + attr_accessor :events - # The duration of the attack in seconds - attr_accessor :duration + attr_accessor :host_migration_id - # The hash over target and date - attr_accessor :key + # assigned static hostgroups, may need more details here + attr_accessor :hostgroups - # The network protocol used. One of `TCP`, `UDP`, `ICMP`, `Other` - attr_accessor :network_protocol + # hostname at the time of migration + attr_accessor :hostname - # The protocols used in the attack - attr_accessor :protocols + attr_accessor :migration_id - # The number of requests against the target - attr_accessor :requests + # platform at the time of migration + attr_accessor :platform - # The ISO-8601 date for the attack start time - attr_accessor :start_time + attr_accessor :source_cid - # The target's IPv4/6 address or hostname - attr_accessor :target + # device_id in the source cid + attr_accessor :source_device_id - attr_accessor :target_details + attr_accessor :status - # The target's domain - attr_accessor :target_domain + attr_accessor :status_details - # The target's IPv4/6 address - attr_accessor :target_ip + # not sure if this is necessary since it's common + attr_accessor :target_cid - # List of ports where the attack took place - attr_accessor :target_ports + # device_id in the target cid. This may change while the migration is incomplete. + attr_accessor :target_device_id + + attr_accessor :updated_time # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'attack_type' => :'attack_type', - :'confidence' => :'confidence', - :'duration' => :'duration', - :'key' => :'key', - :'network_protocol' => :'network_protocol', - :'protocols' => :'protocols', - :'requests' => :'requests', - :'start_time' => :'start_time', - :'target' => :'target', - :'target_details' => :'target_details', - :'target_domain' => :'target_domain', - :'target_ip' => :'target_ip', - :'target_ports' => :'target_ports' + :'created_time' => :'created_time', + :'events' => :'events', + :'host_migration_id' => :'host_migration_id', + :'hostgroups' => :'hostgroups', + :'hostname' => :'hostname', + :'migration_id' => :'migration_id', + :'platform' => :'platform', + :'source_cid' => :'source_cid', + :'source_device_id' => :'source_device_id', + :'status' => :'status', + :'status_details' => :'status_details', + :'target_cid' => :'target_cid', + :'target_device_id' => :'target_device_id', + :'updated_time' => :'updated_time' } end @@ -97,19 +94,20 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'attack_type' => :'String', - :'confidence' => :'String', - :'duration' => :'Integer', - :'key' => :'String', - :'network_protocol' => :'String', - :'protocols' => :'Array', - :'requests' => :'Integer', - :'start_time' => :'String', - :'target' => :'String', - :'target_details' => :'DomainDDOSTargetDetails', - :'target_domain' => :'String', - :'target_ip' => :'String', - :'target_ports' => :'Array' + :'created_time' => :'Time', + :'events' => :'Array', + :'host_migration_id' => :'String', + :'hostgroups' => :'Array', + :'hostname' => :'String', + :'migration_id' => :'String', + :'platform' => :'String', + :'source_cid' => :'String', + :'source_device_id' => :'String', + :'status' => :'String', + :'status_details' => :'String', + :'target_cid' => :'String', + :'target_device_id' => :'String', + :'updated_time' => :'Time' } end @@ -123,71 +121,75 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDDOSAttackSource` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiHostMigration` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDDOSAttackSource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiHostMigration`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'attack_type') - self.attack_type = attributes[:'attack_type'] + if attributes.key?(:'created_time') + self.created_time = attributes[:'created_time'] end - if attributes.key?(:'confidence') - self.confidence = attributes[:'confidence'] + if attributes.key?(:'events') + if (value = attributes[:'events']).is_a?(Array) + self.events = value + end end - if attributes.key?(:'duration') - self.duration = attributes[:'duration'] + if attributes.key?(:'host_migration_id') + self.host_migration_id = attributes[:'host_migration_id'] end - if attributes.key?(:'key') - self.key = attributes[:'key'] + if attributes.key?(:'hostgroups') + if (value = attributes[:'hostgroups']).is_a?(Array) + self.hostgroups = value + end end - if attributes.key?(:'network_protocol') - self.network_protocol = attributes[:'network_protocol'] + if attributes.key?(:'hostname') + self.hostname = attributes[:'hostname'] end - if attributes.key?(:'protocols') - if (value = attributes[:'protocols']).is_a?(Array) - self.protocols = value - end + if attributes.key?(:'migration_id') + self.migration_id = attributes[:'migration_id'] end - if attributes.key?(:'requests') - self.requests = attributes[:'requests'] + if attributes.key?(:'platform') + self.platform = attributes[:'platform'] end - if attributes.key?(:'start_time') - self.start_time = attributes[:'start_time'] + if attributes.key?(:'source_cid') + self.source_cid = attributes[:'source_cid'] end - if attributes.key?(:'target') - self.target = attributes[:'target'] + if attributes.key?(:'source_device_id') + self.source_device_id = attributes[:'source_device_id'] end - if attributes.key?(:'target_details') - self.target_details = attributes[:'target_details'] + if attributes.key?(:'status') + self.status = attributes[:'status'] end - if attributes.key?(:'target_domain') - self.target_domain = attributes[:'target_domain'] + if attributes.key?(:'status_details') + self.status_details = attributes[:'status_details'] end - if attributes.key?(:'target_ip') - self.target_ip = attributes[:'target_ip'] + if attributes.key?(:'target_cid') + self.target_cid = attributes[:'target_cid'] end - if attributes.key?(:'target_ports') - if (value = attributes[:'target_ports']).is_a?(Array) - self.target_ports = value - end + if attributes.key?(:'target_device_id') + self.target_device_id = attributes[:'target_device_id'] + end + + if attributes.key?(:'updated_time') + self.updated_time = attributes[:'updated_time'] end end @@ -195,56 +197,56 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @attack_type.nil? - invalid_properties.push('invalid value for "attack_type", attack_type cannot be nil.') + if @created_time.nil? + invalid_properties.push('invalid value for "created_time", created_time cannot be nil.') end - if @confidence.nil? - invalid_properties.push('invalid value for "confidence", confidence cannot be nil.') + if @host_migration_id.nil? + invalid_properties.push('invalid value for "host_migration_id", host_migration_id cannot be nil.') end - if @duration.nil? - invalid_properties.push('invalid value for "duration", duration cannot be nil.') + if @hostgroups.nil? + invalid_properties.push('invalid value for "hostgroups", hostgroups cannot be nil.') end - if @key.nil? - invalid_properties.push('invalid value for "key", key cannot be nil.') + if @hostname.nil? + invalid_properties.push('invalid value for "hostname", hostname cannot be nil.') end - if @network_protocol.nil? - invalid_properties.push('invalid value for "network_protocol", network_protocol cannot be nil.') + if @migration_id.nil? + invalid_properties.push('invalid value for "migration_id", migration_id cannot be nil.') end - if @protocols.nil? - invalid_properties.push('invalid value for "protocols", protocols cannot be nil.') + if @platform.nil? + invalid_properties.push('invalid value for "platform", platform cannot be nil.') end - if @requests.nil? - invalid_properties.push('invalid value for "requests", requests cannot be nil.') + if @source_cid.nil? + invalid_properties.push('invalid value for "source_cid", source_cid cannot be nil.') end - if @start_time.nil? - invalid_properties.push('invalid value for "start_time", start_time cannot be nil.') + if @source_device_id.nil? + invalid_properties.push('invalid value for "source_device_id", source_device_id cannot be nil.') end - if @target.nil? - invalid_properties.push('invalid value for "target", target cannot be nil.') + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') end - if @target_details.nil? - invalid_properties.push('invalid value for "target_details", target_details cannot be nil.') + if @status_details.nil? + invalid_properties.push('invalid value for "status_details", status_details cannot be nil.') end - if @target_domain.nil? - invalid_properties.push('invalid value for "target_domain", target_domain cannot be nil.') + if @target_cid.nil? + invalid_properties.push('invalid value for "target_cid", target_cid cannot be nil.') end - if @target_ip.nil? - invalid_properties.push('invalid value for "target_ip", target_ip cannot be nil.') + if @target_device_id.nil? + invalid_properties.push('invalid value for "target_device_id", target_device_id cannot be nil.') end - if @target_ports.nil? - invalid_properties.push('invalid value for "target_ports", target_ports cannot be nil.') + if @updated_time.nil? + invalid_properties.push('invalid value for "updated_time", updated_time cannot be nil.') end invalid_properties @@ -253,19 +255,19 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @attack_type.nil? - return false if @confidence.nil? - return false if @duration.nil? - return false if @key.nil? - return false if @network_protocol.nil? - return false if @protocols.nil? - return false if @requests.nil? - return false if @start_time.nil? - return false if @target.nil? - return false if @target_details.nil? - return false if @target_domain.nil? - return false if @target_ip.nil? - return false if @target_ports.nil? + return false if @created_time.nil? + return false if @host_migration_id.nil? + return false if @hostgroups.nil? + return false if @hostname.nil? + return false if @migration_id.nil? + return false if @platform.nil? + return false if @source_cid.nil? + return false if @source_device_id.nil? + return false if @status.nil? + return false if @status_details.nil? + return false if @target_cid.nil? + return false if @target_device_id.nil? + return false if @updated_time.nil? true end @@ -274,19 +276,20 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - attack_type == o.attack_type && - confidence == o.confidence && - duration == o.duration && - key == o.key && - network_protocol == o.network_protocol && - protocols == o.protocols && - requests == o.requests && - start_time == o.start_time && - target == o.target && - target_details == o.target_details && - target_domain == o.target_domain && - target_ip == o.target_ip && - target_ports == o.target_ports + created_time == o.created_time && + events == o.events && + host_migration_id == o.host_migration_id && + hostgroups == o.hostgroups && + hostname == o.hostname && + migration_id == o.migration_id && + platform == o.platform && + source_cid == o.source_cid && + source_device_id == o.source_device_id && + status == o.status && + status_details == o.status_details && + target_cid == o.target_cid && + target_device_id == o.target_device_id && + updated_time == o.updated_time end # @see the `==` method @@ -298,7 +301,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [attack_type, confidence, duration, key, network_protocol, protocols, requests, start_time, target, target_details, target_domain, target_ip, target_ports].hash + [created_time, events, host_migration_id, hostgroups, hostname, migration_id, platform, source_cid, source_device_id, status, status_details, target_cid, target_device_id, updated_time].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/api_hourly_average_response.rb b/lib/crimson-falcon/models/api_hourly_average_response.rb new file mode 100644 index 00000000..5c69822b --- /dev/null +++ b/lib/crimson-falcon/models/api_hourly_average_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiHourlyAverageResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiHourlyAverageResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiHourlyAverageResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_indicator_create_req_v1.rb b/lib/crimson-falcon/models/api_indicator_create_req_v1.rb index b1df20b1..e99bea3c 100644 --- a/lib/crimson-falcon/models/api_indicator_create_req_v1.rb +++ b/lib/crimson-falcon/models/api_indicator_create_req_v1.rb @@ -104,6 +104,7 @@ def self.openapi_types # List of attributes with nullable: true def self.openapi_nullable Set.new([ + :'expiration', ]) end diff --git a/lib/crimson-falcon/models/api_indicator_query_resp_v1.rb b/lib/crimson-falcon/models/api_indicator_query_resp_v1.rb index 58d3368e..b03cdc18 100644 --- a/lib/crimson-falcon/models/api_indicator_query_resp_v1.rb +++ b/lib/crimson-falcon/models/api_indicator_query_resp_v1.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'ApiIndicatorsQueryMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/api_indicator_resp_v1.rb b/lib/crimson-falcon/models/api_indicator_resp_v1.rb index c384223c..fe1e8de7 100644 --- a/lib/crimson-falcon/models/api_indicator_resp_v1.rb +++ b/lib/crimson-falcon/models/api_indicator_resp_v1.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'ApiIndicatorsQueryMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/api_message_center_activity_response.rb b/lib/crimson-falcon/models/api_message_center_activity_response.rb index 9d1b291b..992855bd 100644 --- a/lib/crimson-falcon/models/api_message_center_activity_response.rb +++ b/lib/crimson-falcon/models/api_message_center_activity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_message_center_attachment_upload_response.rb b/lib/crimson-falcon/models/api_message_center_attachment_upload_response.rb index 082f63c6..8ea768d7 100644 --- a/lib/crimson-falcon/models/api_message_center_attachment_upload_response.rb +++ b/lib/crimson-falcon/models/api_message_center_attachment_upload_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_message_center_cases_response.rb b/lib/crimson-falcon/models/api_message_center_cases_response.rb index 3dde9201..3042038f 100644 --- a/lib/crimson-falcon/models/api_message_center_cases_response.rb +++ b/lib/crimson-falcon/models/api_message_center_cases_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_mfa_resource_ids_response.rb b/lib/crimson-falcon/models/api_mfa_resource_ids_response.rb new file mode 100644 index 00000000..831f821a --- /dev/null +++ b/lib/crimson-falcon/models/api_mfa_resource_ids_response.rb @@ -0,0 +1,275 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiMFAResourceIDsResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :_next + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'_next' => :'next', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'_next' => :'Object', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiMFAResourceIDsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiMFAResourceIDsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'_next') + self._next = attributes[:'_next'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + _next == o._next && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, _next, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_migrate_hosts_info.rb b/lib/crimson-falcon/models/api_migrate_hosts_info.rb new file mode 100644 index 00000000..68741202 --- /dev/null +++ b/lib/crimson-falcon/models/api_migrate_hosts_info.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiMigrateHostsInfo + attr_accessor :hosts_errored + + attr_accessor :hosts_queued + + attr_accessor :migration_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'hosts_errored' => :'hosts_errored', + :'hosts_queued' => :'hosts_queued', + :'migration_id' => :'migration_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'hosts_errored' => :'Integer', + :'hosts_queued' => :'Integer', + :'migration_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiMigrateHostsInfo` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiMigrateHostsInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'hosts_errored') + self.hosts_errored = attributes[:'hosts_errored'] + end + + if attributes.key?(:'hosts_queued') + self.hosts_queued = attributes[:'hosts_queued'] + end + + if attributes.key?(:'migration_id') + self.migration_id = attributes[:'migration_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @hosts_errored.nil? + invalid_properties.push('invalid value for "hosts_errored", hosts_errored cannot be nil.') + end + + if @hosts_queued.nil? + invalid_properties.push('invalid value for "hosts_queued", hosts_queued cannot be nil.') + end + + if @migration_id.nil? + invalid_properties.push('invalid value for "migration_id", migration_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @hosts_errored.nil? + return false if @hosts_queued.nil? + return false if @migration_id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + hosts_errored == o.hosts_errored && + hosts_queued == o.hosts_queued && + migration_id == o.migration_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [hosts_errored, hosts_queued, migration_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_migration.rb b/lib/crimson-falcon/models/api_migration.rb new file mode 100644 index 00000000..b221669e --- /dev/null +++ b/lib/crimson-falcon/models/api_migration.rb @@ -0,0 +1,378 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiMigration + attr_accessor :canceled_by + + attr_accessor :completed_time + + attr_accessor :created_by + + attr_accessor :created_time + + attr_accessor :migration_id + + attr_accessor :migration_status + + attr_accessor :name + + attr_accessor :started_time + + attr_accessor :target_cid + + attr_accessor :total_hosts + + attr_accessor :updated_by + + attr_accessor :updated_time + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'canceled_by' => :'canceled_by', + :'completed_time' => :'completed_time', + :'created_by' => :'created_by', + :'created_time' => :'created_time', + :'migration_id' => :'migration_id', + :'migration_status' => :'migration_status', + :'name' => :'name', + :'started_time' => :'started_time', + :'target_cid' => :'target_cid', + :'total_hosts' => :'total_hosts', + :'updated_by' => :'updated_by', + :'updated_time' => :'updated_time' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'canceled_by' => :'String', + :'completed_time' => :'Time', + :'created_by' => :'String', + :'created_time' => :'Time', + :'migration_id' => :'String', + :'migration_status' => :'String', + :'name' => :'String', + :'started_time' => :'Time', + :'target_cid' => :'String', + :'total_hosts' => :'Integer', + :'updated_by' => :'String', + :'updated_time' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiMigration` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiMigration`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'canceled_by') + self.canceled_by = attributes[:'canceled_by'] + end + + if attributes.key?(:'completed_time') + self.completed_time = attributes[:'completed_time'] + end + + if attributes.key?(:'created_by') + self.created_by = attributes[:'created_by'] + end + + if attributes.key?(:'created_time') + self.created_time = attributes[:'created_time'] + end + + if attributes.key?(:'migration_id') + self.migration_id = attributes[:'migration_id'] + end + + if attributes.key?(:'migration_status') + self.migration_status = attributes[:'migration_status'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'started_time') + self.started_time = attributes[:'started_time'] + end + + if attributes.key?(:'target_cid') + self.target_cid = attributes[:'target_cid'] + end + + if attributes.key?(:'total_hosts') + self.total_hosts = attributes[:'total_hosts'] + end + + if attributes.key?(:'updated_by') + self.updated_by = attributes[:'updated_by'] + end + + if attributes.key?(:'updated_time') + self.updated_time = attributes[:'updated_time'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @created_by.nil? + invalid_properties.push('invalid value for "created_by", created_by cannot be nil.') + end + + if @created_time.nil? + invalid_properties.push('invalid value for "created_time", created_time cannot be nil.') + end + + if @migration_id.nil? + invalid_properties.push('invalid value for "migration_id", migration_id cannot be nil.') + end + + if @migration_status.nil? + invalid_properties.push('invalid value for "migration_status", migration_status cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @target_cid.nil? + invalid_properties.push('invalid value for "target_cid", target_cid cannot be nil.') + end + + if @total_hosts.nil? + invalid_properties.push('invalid value for "total_hosts", total_hosts cannot be nil.') + end + + if @updated_by.nil? + invalid_properties.push('invalid value for "updated_by", updated_by cannot be nil.') + end + + if @updated_time.nil? + invalid_properties.push('invalid value for "updated_time", updated_time cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @created_by.nil? + return false if @created_time.nil? + return false if @migration_id.nil? + return false if @migration_status.nil? + return false if @name.nil? + return false if @target_cid.nil? + return false if @total_hosts.nil? + return false if @updated_by.nil? + return false if @updated_time.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + canceled_by == o.canceled_by && + completed_time == o.completed_time && + created_by == o.created_by && + created_time == o.created_time && + migration_id == o.migration_id && + migration_status == o.migration_status && + name == o.name && + started_time == o.started_time && + target_cid == o.target_cid && + total_hosts == o.total_hosts && + updated_by == o.updated_by && + updated_time == o.updated_time + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [canceled_by, completed_time, created_by, created_time, migration_id, migration_status, name, started_time, target_cid, total_hosts, updated_by, updated_time].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_notification_exposed_data_record_entities_response_v1.rb b/lib/crimson-falcon/models/api_notification_exposed_data_record_entities_response_v1.rb index c6552126..133fcfa4 100644 --- a/lib/crimson-falcon/models/api_notification_exposed_data_record_entities_response_v1.rb +++ b/lib/crimson-falcon/models/api_notification_exposed_data_record_entities_response_v1.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_object_metadata.rb b/lib/crimson-falcon/models/api_object_metadata.rb index 8e361fd3..2246fbeb 100644 --- a/lib/crimson-falcon/models/api_object_metadata.rb +++ b/lib/crimson-falcon/models/api_object_metadata.rb @@ -34,6 +34,8 @@ module Falcon class ApiObjectMetadata attr_accessor :collection_name + attr_accessor :collection_version + attr_accessor :last_modified_time attr_accessor :namespace @@ -46,6 +48,7 @@ class ApiObjectMetadata def self.attribute_map { :'collection_name' => :'collection_name', + :'collection_version' => :'collection_version', :'last_modified_time' => :'last_modified_time', :'namespace' => :'namespace', :'object_key' => :'object_key', @@ -62,6 +65,7 @@ def self.acceptable_attributes def self.openapi_types { :'collection_name' => :'String', + :'collection_version' => :'String', :'last_modified_time' => :'Time', :'namespace' => :'String', :'object_key' => :'String', @@ -94,6 +98,10 @@ def initialize(attributes = {}) self.collection_name = attributes[:'collection_name'] end + if attributes.key?(:'collection_version') + self.collection_version = attributes[:'collection_version'] + end + if attributes.key?(:'last_modified_time') self.last_modified_time = attributes[:'last_modified_time'] end @@ -150,6 +158,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && collection_name == o.collection_name && + collection_version == o.collection_version && last_modified_time == o.last_modified_time && namespace == o.namespace && object_key == o.object_key && @@ -165,7 +174,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [collection_name, last_modified_time, namespace, object_key, schema_version].hash + [collection_name, collection_version, last_modified_time, namespace, object_key, schema_version].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/api_patterns_response.rb b/lib/crimson-falcon/models/api_patterns_response.rb index 159de905..bbe89a20 100644 --- a/lib/crimson-falcon/models/api_patterns_response.rb +++ b/lib/crimson-falcon/models/api_patterns_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_platforms_response.rb b/lib/crimson-falcon/models/api_platforms_response.rb index 900507e9..02767cc5 100644 --- a/lib/crimson-falcon/models/api_platforms_response.rb +++ b/lib/crimson-falcon/models/api_platforms_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_post_enrollment_details_response.rb b/lib/crimson-falcon/models/api_post_enrollment_details_response.rb index 04e4eb2d..dcce8916 100644 --- a/lib/crimson-falcon/models/api_post_enrollment_details_response.rb +++ b/lib/crimson-falcon/models/api_post_enrollment_details_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_post_enrollment_details_v4.rb b/lib/crimson-falcon/models/api_post_enrollment_details_v4.rb new file mode 100644 index 00000000..1c229881 --- /dev/null +++ b/lib/crimson-falcon/models/api_post_enrollment_details_v4.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiPostEnrollmentDetailsV4 + attr_accessor :email_addresses + + attr_accessor :enrollment_type + + attr_accessor :expires_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'email_addresses' => :'email_addresses', + :'enrollment_type' => :'enrollment_type', + :'expires_at' => :'expires_at' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'email_addresses' => :'Array', + :'enrollment_type' => :'String', + :'expires_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiPostEnrollmentDetailsV4` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiPostEnrollmentDetailsV4`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'email_addresses') + if (value = attributes[:'email_addresses']).is_a?(Array) + self.email_addresses = value + end + end + + if attributes.key?(:'enrollment_type') + self.enrollment_type = attributes[:'enrollment_type'] + end + + if attributes.key?(:'expires_at') + self.expires_at = attributes[:'expires_at'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @email_addresses.nil? + invalid_properties.push('invalid value for "email_addresses", email_addresses cannot be nil.') + end + + if @enrollment_type.nil? + invalid_properties.push('invalid value for "enrollment_type", enrollment_type cannot be nil.') + end + + if @expires_at.nil? + invalid_properties.push('invalid value for "expires_at", expires_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @email_addresses.nil? + return false if @enrollment_type.nil? + return false if @expires_at.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + email_addresses == o.email_addresses && + enrollment_type == o.enrollment_type && + expires_at == o.expires_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [email_addresses, enrollment_type, expires_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_processes_ran_on_resp_v1.rb b/lib/crimson-falcon/models/api_processes_ran_on_resp_v1.rb index 3aa19b84..9f73b46d 100644 --- a/lib/crimson-falcon/models/api_processes_ran_on_resp_v1.rb +++ b/lib/crimson-falcon/models/api_processes_ran_on_resp_v1.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'ApiDetectsQueryMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/api_resource_ids_response.rb b/lib/crimson-falcon/models/api_resource_ids_response.rb index e3cb1c7f..dc1fc8e9 100644 --- a/lib/crimson-falcon/models/api_resource_ids_response.rb +++ b/lib/crimson-falcon/models/api_resource_ids_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_resp_certificates_v1.rb b/lib/crimson-falcon/models/api_resp_certificates_v1.rb new file mode 100644 index 00000000..eb423741 --- /dev/null +++ b/lib/crimson-falcon/models/api_resp_certificates_v1.rb @@ -0,0 +1,261 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiRespCertificatesV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiRespCertificatesV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiRespCertificatesV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_response_pagination.rb b/lib/crimson-falcon/models/api_response_pagination.rb index 0ddac45d..e4b41d9a 100644 --- a/lib/crimson-falcon/models/api_response_pagination.rb +++ b/lib/crimson-falcon/models/api_response_pagination.rb @@ -32,6 +32,7 @@ module Falcon class ApiResponsePagination + # Encoded state used for pagination attr_accessor :offset # The total number of elements @@ -53,7 +54,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'offset' => :'Object', + :'offset' => :'String', :'total' => :'Integer' } end diff --git a/lib/crimson-falcon/models/api_rule_groups_response.rb b/lib/crimson-falcon/models/api_rule_groups_response.rb index f16967e1..80bb417b 100644 --- a/lib/crimson-falcon/models/api_rule_groups_response.rb +++ b/lib/crimson-falcon/models/api_rule_groups_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_rule_types_response.rb b/lib/crimson-falcon/models/api_rule_types_response.rb index e1306a92..d415f250 100644 --- a/lib/crimson-falcon/models/api_rule_types_response.rb +++ b/lib/crimson-falcon/models/api_rule_types_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_rule_update_v2.rb b/lib/crimson-falcon/models/api_rule_update_v2.rb new file mode 100644 index 00000000..0a56a89a --- /dev/null +++ b/lib/crimson-falcon/models/api_rule_update_v2.rb @@ -0,0 +1,339 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiRuleUpdateV2 + attr_accessor :description + + attr_accessor :disposition_id + + attr_accessor :enabled + + attr_accessor :field_values + + attr_accessor :instance_id + + attr_accessor :name + + attr_accessor :pattern_severity + + attr_accessor :rulegroup_version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'description' => :'description', + :'disposition_id' => :'disposition_id', + :'enabled' => :'enabled', + :'field_values' => :'field_values', + :'instance_id' => :'instance_id', + :'name' => :'name', + :'pattern_severity' => :'pattern_severity', + :'rulegroup_version' => :'rulegroup_version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'description' => :'String', + :'disposition_id' => :'Integer', + :'enabled' => :'Boolean', + :'field_values' => :'Array', + :'instance_id' => :'String', + :'name' => :'String', + :'pattern_severity' => :'String', + :'rulegroup_version' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiRuleUpdateV2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiRuleUpdateV2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'disposition_id') + self.disposition_id = attributes[:'disposition_id'] + end + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'field_values') + if (value = attributes[:'field_values']).is_a?(Array) + self.field_values = value + end + end + + if attributes.key?(:'instance_id') + self.instance_id = attributes[:'instance_id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'pattern_severity') + self.pattern_severity = attributes[:'pattern_severity'] + end + + if attributes.key?(:'rulegroup_version') + self.rulegroup_version = attributes[:'rulegroup_version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @description.nil? + invalid_properties.push('invalid value for "description", description cannot be nil.') + end + + if @disposition_id.nil? + invalid_properties.push('invalid value for "disposition_id", disposition_id cannot be nil.') + end + + if @enabled.nil? + invalid_properties.push('invalid value for "enabled", enabled cannot be nil.') + end + + if @field_values.nil? + invalid_properties.push('invalid value for "field_values", field_values cannot be nil.') + end + + if @instance_id.nil? + invalid_properties.push('invalid value for "instance_id", instance_id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @pattern_severity.nil? + invalid_properties.push('invalid value for "pattern_severity", pattern_severity cannot be nil.') + end + + if @rulegroup_version.nil? + invalid_properties.push('invalid value for "rulegroup_version", rulegroup_version cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @description.nil? + return false if @disposition_id.nil? + return false if @enabled.nil? + return false if @field_values.nil? + return false if @instance_id.nil? + return false if @name.nil? + return false if @pattern_severity.nil? + return false if @rulegroup_version.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + description == o.description && + disposition_id == o.disposition_id && + enabled == o.enabled && + field_values == o.field_values && + instance_id == o.instance_id && + name == o.name && + pattern_severity == o.pattern_severity && + rulegroup_version == o.rulegroup_version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [description, disposition_id, enabled, field_values, instance_id, name, pattern_severity, rulegroup_version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_rule_updates_request_v2.rb b/lib/crimson-falcon/models/api_rule_updates_request_v2.rb new file mode 100644 index 00000000..0089139e --- /dev/null +++ b/lib/crimson-falcon/models/api_rule_updates_request_v2.rb @@ -0,0 +1,283 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiRuleUpdatesRequestV2 + attr_accessor :comment + + attr_accessor :rule_updates + + attr_accessor :rulegroup_id + + attr_accessor :rulegroup_version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'comment' => :'comment', + :'rule_updates' => :'rule_updates', + :'rulegroup_id' => :'rulegroup_id', + :'rulegroup_version' => :'rulegroup_version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'comment' => :'String', + :'rule_updates' => :'Array', + :'rulegroup_id' => :'String', + :'rulegroup_version' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiRuleUpdatesRequestV2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiRuleUpdatesRequestV2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'comment') + self.comment = attributes[:'comment'] + end + + if attributes.key?(:'rule_updates') + if (value = attributes[:'rule_updates']).is_a?(Array) + self.rule_updates = value + end + end + + if attributes.key?(:'rulegroup_id') + self.rulegroup_id = attributes[:'rulegroup_id'] + end + + if attributes.key?(:'rulegroup_version') + self.rulegroup_version = attributes[:'rulegroup_version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @comment.nil? + invalid_properties.push('invalid value for "comment", comment cannot be nil.') + end + + if @rule_updates.nil? + invalid_properties.push('invalid value for "rule_updates", rule_updates cannot be nil.') + end + + if @rulegroup_id.nil? + invalid_properties.push('invalid value for "rulegroup_id", rulegroup_id cannot be nil.') + end + + if @rulegroup_version.nil? + invalid_properties.push('invalid value for "rulegroup_version", rulegroup_version cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @comment.nil? + return false if @rule_updates.nil? + return false if @rulegroup_id.nil? + return false if @rulegroup_version.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + comment == o.comment && + rule_updates == o.rule_updates && + rulegroup_id == o.rulegroup_id && + rulegroup_version == o.rulegroup_version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [comment, rule_updates, rulegroup_id, rulegroup_version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/api_rules_response.rb b/lib/crimson-falcon/models/api_rules_response.rb index c52f6537..876c6516 100644 --- a/lib/crimson-falcon/models/api_rules_response.rb +++ b/lib/crimson-falcon/models/api_rules_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_sensor_details_response_swagger.rb b/lib/crimson-falcon/models/api_sensor_details_response_swagger.rb index c78f791f..d09d33ab 100644 --- a/lib/crimson-falcon/models/api_sensor_details_response_swagger.rb +++ b/lib/crimson-falcon/models/api_sensor_details_response_swagger.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_token_details_response_v1.rb b/lib/crimson-falcon/models/api_token_details_response_v1.rb index 2c33eaae..7dfa6e41 100644 --- a/lib/crimson-falcon/models/api_token_details_response_v1.rb +++ b/lib/crimson-falcon/models/api_token_details_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_user_metadata_response.rb b/lib/crimson-falcon/models/api_user_metadata_response.rb index d5d68883..1b9635c9 100644 --- a/lib/crimson-falcon/models/api_user_metadata_response.rb +++ b/lib/crimson-falcon/models/api_user_metadata_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_user_role_ids_response.rb b/lib/crimson-falcon/models/api_user_role_ids_response.rb index 38fa0a0f..93d7c18a 100644 --- a/lib/crimson-falcon/models/api_user_role_ids_response.rb +++ b/lib/crimson-falcon/models/api_user_role_ids_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_user_role_response.rb b/lib/crimson-falcon/models/api_user_role_response.rb index 43c26649..65f3fa7e 100644 --- a/lib/crimson-falcon/models/api_user_role_response.rb +++ b/lib/crimson-falcon/models/api_user_role_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_validation_response_v1.rb b/lib/crimson-falcon/models/api_validation_response_v1.rb index 2a81c2bc..df70eb60 100644 --- a/lib/crimson-falcon/models/api_validation_response_v1.rb +++ b/lib/crimson-falcon/models/api_validation_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/api_weekly_average_response.rb b/lib/crimson-falcon/models/api_weekly_average_response.rb new file mode 100644 index 00000000..09ce268b --- /dev/null +++ b/lib/crimson-falcon/models/api_weekly_average_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ApiWeeklyAverageResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ApiWeeklyAverageResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ApiWeeklyAverageResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/apidomain_query_response_v1.rb b/lib/crimson-falcon/models/apidomain_query_response_v1.rb index 90b58540..5200a218 100644 --- a/lib/crimson-falcon/models/apidomain_query_response_v1.rb +++ b/lib/crimson-falcon/models/apidomain_query_response_v1.rb @@ -38,6 +38,8 @@ class ApidomainQueryResponseV1 attr_accessor :fields + attr_accessor :filtered_event_count + attr_accessor :job_status attr_accessor :meta_data @@ -50,6 +52,7 @@ def self.attribute_map :'event_count' => :'event_count', :'events' => :'events', :'fields' => :'fields', + :'filtered_event_count' => :'filtered_event_count', :'job_status' => :'job_status', :'meta_data' => :'meta_data', :'schemas' => :'schemas' @@ -67,6 +70,7 @@ def self.openapi_types :'event_count' => :'Integer', :'events' => :'Array', :'fields' => :'Array', + :'filtered_event_count' => :'Integer', :'job_status' => :'ClientJobStatus', :'meta_data' => :'ClientQueryResultMetadata', :'schemas' => :'ClientQueryResponseSchemasV1' @@ -110,6 +114,10 @@ def initialize(attributes = {}) end end + if attributes.key?(:'filtered_event_count') + self.filtered_event_count = attributes[:'filtered_event_count'] + end + if attributes.key?(:'job_status') self.job_status = attributes[:'job_status'] end @@ -135,6 +143,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "events", events cannot be nil.') end + if @filtered_event_count.nil? + invalid_properties.push('invalid value for "filtered_event_count", filtered_event_count cannot be nil.') + end + invalid_properties end @@ -143,6 +155,7 @@ def list_invalid_properties def valid? return false if @event_count.nil? return false if @events.nil? + return false if @filtered_event_count.nil? true end @@ -154,6 +167,7 @@ def ==(o) event_count == o.event_count && events == o.events && fields == o.fields && + filtered_event_count == o.filtered_event_count && job_status == o.job_status && meta_data == o.meta_data && schemas == o.schemas @@ -168,7 +182,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [event_count, events, fields, job_status, meta_data, schemas].hash + [event_count, events, fields, filtered_event_count, job_status, meta_data, schemas].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/apidomain_query_response_wrapper_v1.rb b/lib/crimson-falcon/models/apidomain_query_response_wrapper_v1.rb index 763c7f47..2691c6b7 100644 --- a/lib/crimson-falcon/models/apidomain_query_response_wrapper_v1.rb +++ b/lib/crimson-falcon/models/apidomain_query_response_wrapper_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/apidomain_repo_view_list_item_wrapper_v1.rb b/lib/crimson-falcon/models/apidomain_repo_view_list_item_wrapper_v1.rb index 71cc2548..5ca4b705 100644 --- a/lib/crimson-falcon/models/apidomain_repo_view_list_item_wrapper_v1.rb +++ b/lib/crimson-falcon/models/apidomain_repo_view_list_item_wrapper_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/apidomain_saved_search_execute_request_v1.rb b/lib/crimson-falcon/models/apidomain_saved_search_execute_request_v1.rb index 7ce1d266..9674871d 100644 --- a/lib/crimson-falcon/models/apidomain_saved_search_execute_request_v1.rb +++ b/lib/crimson-falcon/models/apidomain_saved_search_execute_request_v1.rb @@ -32,16 +32,26 @@ module Falcon class ApidomainSavedSearchExecuteRequestV1 + attr_accessor :extra_rename + + attr_accessor :extra_search + + attr_accessor :extra_sort + + attr_accessor :extra_where + + attr_accessor :parameters + attr_accessor :_end + attr_accessor :fql_statements + attr_accessor :id attr_accessor :mode attr_accessor :name - attr_accessor :parameters - attr_accessor :start attr_accessor :version @@ -57,11 +67,16 @@ class ApidomainSavedSearchExecuteRequestV1 # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'extra_rename' => :'ExtraRename', + :'extra_search' => :'ExtraSearch', + :'extra_sort' => :'ExtraSort', + :'extra_where' => :'ExtraWhere', + :'parameters' => :'Parameters', :'_end' => :'end', + :'fql_statements' => :'fql_statements', :'id' => :'id', :'mode' => :'mode', :'name' => :'name', - :'parameters' => :'parameters', :'start' => :'start', :'version' => :'version', :'with_in' => :'with_in', @@ -79,11 +94,16 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'extra_rename' => :'String', + :'extra_search' => :'String', + :'extra_sort' => :'String', + :'extra_where' => :'String', + :'parameters' => :'Hash', :'_end' => :'String', + :'fql_statements' => :'Hash', :'id' => :'String', :'mode' => :'String', :'name' => :'String', - :'parameters' => :'Object', :'start' => :'String', :'version' => :'String', :'with_in' => :'ClientExtraIn', @@ -114,10 +134,38 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'extra_rename') + self.extra_rename = attributes[:'extra_rename'] + end + + if attributes.key?(:'extra_search') + self.extra_search = attributes[:'extra_search'] + end + + if attributes.key?(:'extra_sort') + self.extra_sort = attributes[:'extra_sort'] + end + + if attributes.key?(:'extra_where') + self.extra_where = attributes[:'extra_where'] + end + + if attributes.key?(:'parameters') + if (value = attributes[:'parameters']).is_a?(Hash) + self.parameters = value + end + end + if attributes.key?(:'_end') self._end = attributes[:'_end'] end + if attributes.key?(:'fql_statements') + if (value = attributes[:'fql_statements']).is_a?(Hash) + self.fql_statements = value + end + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -130,10 +178,6 @@ def initialize(attributes = {}) self.name = attributes[:'name'] end - if attributes.key?(:'parameters') - self.parameters = attributes[:'parameters'] - end - if attributes.key?(:'start') self.start = attributes[:'start'] end @@ -165,12 +209,42 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @extra_rename.nil? + invalid_properties.push('invalid value for "extra_rename", extra_rename cannot be nil.') + end + + if @extra_search.nil? + invalid_properties.push('invalid value for "extra_search", extra_search cannot be nil.') + end + + if @extra_sort.nil? + invalid_properties.push('invalid value for "extra_sort", extra_sort cannot be nil.') + end + + if @extra_where.nil? + invalid_properties.push('invalid value for "extra_where", extra_where cannot be nil.') + end + + if @parameters.nil? + invalid_properties.push('invalid value for "parameters", parameters cannot be nil.') + end + + if @fql_statements.nil? + invalid_properties.push('invalid value for "fql_statements", fql_statements cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @extra_rename.nil? + return false if @extra_search.nil? + return false if @extra_sort.nil? + return false if @extra_where.nil? + return false if @parameters.nil? + return false if @fql_statements.nil? true end @@ -179,11 +253,16 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + extra_rename == o.extra_rename && + extra_search == o.extra_search && + extra_sort == o.extra_sort && + extra_where == o.extra_where && + parameters == o.parameters && _end == o._end && + fql_statements == o.fql_statements && id == o.id && mode == o.mode && name == o.name && - parameters == o.parameters && start == o.start && version == o.version && with_in == o.with_in && @@ -201,7 +280,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [_end, id, mode, name, parameters, start, version, with_in, with_limit, with_renames, with_sort].hash + [extra_rename, extra_search, extra_sort, extra_where, parameters, _end, fql_statements, id, mode, name, start, version, with_in, with_limit, with_renames, with_sort].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/base_policy_members_resp_v1.rb b/lib/crimson-falcon/models/base_policy_members_resp_v1.rb index 0536bf4f..a9429c5a 100644 --- a/lib/crimson-falcon/models/base_policy_members_resp_v1.rb +++ b/lib/crimson-falcon/models/base_policy_members_resp_v1.rb @@ -57,8 +57,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/binservapi_msa_put_file_response.rb b/lib/crimson-falcon/models/binservapi_msa_put_file_response.rb index ceed6c90..0e5e0657 100644 --- a/lib/crimson-falcon/models/binservapi_msa_put_file_response.rb +++ b/lib/crimson-falcon/models/binservapi_msa_put_file_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/changes_change.rb b/lib/crimson-falcon/models/changes_change.rb index f3996183..479d2440 100644 --- a/lib/crimson-falcon/models/changes_change.rb +++ b/lib/crimson-falcon/models/changes_change.rb @@ -54,6 +54,8 @@ class ChangesChange # Possible values: UNKNOWN, FILE, DIR, REGKEY, REGVAL. attr_accessor :entity_type + attr_accessor :file_size + attr_accessor :grandparent_process_image_file_name attr_accessor :host @@ -74,6 +76,8 @@ class ChangesChange attr_accessor :permissions_lin + attr_accessor :permissions_mac + attr_accessor :platform_name attr_accessor :policy @@ -108,6 +112,7 @@ def self.attribute_map :'entity_path' => :'entity_path', :'entity_path_new' => :'entity_path_new', :'entity_type' => :'entity_type', + :'file_size' => :'file_size', :'grandparent_process_image_file_name' => :'grandparent_process_image_file_name', :'host' => :'host', :'id' => :'id', @@ -118,6 +123,7 @@ def self.attribute_map :'parent_process_image_file_name' => :'parent_process_image_file_name', :'permissions' => :'permissions', :'permissions_lin' => :'permissions_lin', + :'permissions_mac' => :'permissions_mac', :'platform_name' => :'platform_name', :'policy' => :'policy', :'prevalence' => :'prevalence', @@ -149,6 +155,7 @@ def self.openapi_types :'entity_path' => :'String', :'entity_path_new' => :'String', :'entity_type' => :'String', + :'file_size' => :'Integer', :'grandparent_process_image_file_name' => :'String', :'host' => :'ChangesHost', :'id' => :'String', @@ -159,6 +166,7 @@ def self.openapi_types :'parent_process_image_file_name' => :'String', :'permissions' => :'ChangesPermissions', :'permissions_lin' => :'ChangesPermissionsLin', + :'permissions_mac' => :'ChangesPermissionsMac', :'platform_name' => :'String', :'policy' => :'ChangesPolicy', :'prevalence' => :'ChangesPrevalence', @@ -235,6 +243,10 @@ def initialize(attributes = {}) self.entity_type = attributes[:'entity_type'] end + if attributes.key?(:'file_size') + self.file_size = attributes[:'file_size'] + end + if attributes.key?(:'grandparent_process_image_file_name') self.grandparent_process_image_file_name = attributes[:'grandparent_process_image_file_name'] end @@ -275,6 +287,10 @@ def initialize(attributes = {}) self.permissions_lin = attributes[:'permissions_lin'] end + if attributes.key?(:'permissions_mac') + self.permissions_mac = attributes[:'permissions_mac'] + end + if attributes.key?(:'platform_name') self.platform_name = attributes[:'platform_name'] end @@ -350,6 +366,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "entity_type", entity_type cannot be nil.') end + if @file_size.nil? + invalid_properties.push('invalid value for "file_size", file_size cannot be nil.') + end + if @id.nil? invalid_properties.push('invalid value for "id", id cannot be nil.') end @@ -358,6 +378,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "ingestion_timestamp", ingestion_timestamp cannot be nil.') end + if @is_from_different_mount_namespace.nil? + invalid_properties.push('invalid value for "is_from_different_mount_namespace", is_from_different_mount_namespace cannot be nil.') + end + if @is_suppressed.nil? invalid_properties.push('invalid value for "is_suppressed", is_suppressed cannot be nil.') end @@ -399,8 +423,10 @@ def valid? return false if @command_line.nil? return false if @entity_path.nil? return false if @entity_type.nil? + return false if @file_size.nil? return false if @id.nil? return false if @ingestion_timestamp.nil? + return false if @is_from_different_mount_namespace.nil? return false if @is_suppressed.nil? return false if @platform_name.nil? return false if @process_id.nil? @@ -426,6 +452,7 @@ def ==(o) entity_path == o.entity_path && entity_path_new == o.entity_path_new && entity_type == o.entity_type && + file_size == o.file_size && grandparent_process_image_file_name == o.grandparent_process_image_file_name && host == o.host && id == o.id && @@ -436,6 +463,7 @@ def ==(o) parent_process_image_file_name == o.parent_process_image_file_name && permissions == o.permissions && permissions_lin == o.permissions_lin && + permissions_mac == o.permissions_mac && platform_name == o.platform_name && policy == o.policy && prevalence == o.prevalence && @@ -457,7 +485,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [action_timestamp, action_type, aid, attributes, cid, command_line, diff, entity_path, entity_path_new, entity_type, grandparent_process_image_file_name, host, id, ingestion_timestamp, is_from_different_mount_namespace, is_suppressed, oci_container_id, parent_process_image_file_name, permissions, permissions_lin, platform_name, policy, prevalence, process_id, process_image_file_name, real_user_id, severity, tags, user_id, user_name].hash + [action_timestamp, action_type, aid, attributes, cid, command_line, diff, entity_path, entity_path_new, entity_type, file_size, grandparent_process_image_file_name, host, id, ingestion_timestamp, is_from_different_mount_namespace, is_suppressed, oci_container_id, parent_process_image_file_name, permissions, permissions_lin, permissions_mac, platform_name, policy, prevalence, process_id, process_image_file_name, real_user_id, severity, tags, user_id, user_name].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/changes_high_volume_query_response.rb b/lib/crimson-falcon/models/changes_high_volume_query_response.rb index 637ea752..5ab7e80d 100644 --- a/lib/crimson-falcon/models/changes_high_volume_query_response.rb +++ b/lib/crimson-falcon/models/changes_high_volume_query_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'ChangesHighVolumeQueryMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/changes_host.rb b/lib/crimson-falcon/models/changes_host.rb index 48fac3a3..6c9ac5b7 100644 --- a/lib/crimson-falcon/models/changes_host.rb +++ b/lib/crimson-falcon/models/changes_host.rb @@ -46,6 +46,8 @@ class ChangesHost attr_accessor :os_version + attr_accessor :tags + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -55,7 +57,8 @@ def self.attribute_map :'groups' => :'groups', :'local_ip' => :'local_ip', :'name' => :'name', - :'os_version' => :'os_version' + :'os_version' => :'os_version', + :'tags' => :'tags' } end @@ -73,7 +76,8 @@ def self.openapi_types :'groups' => :'Array', :'local_ip' => :'String', :'name' => :'String', - :'os_version' => :'String' + :'os_version' => :'String', + :'tags' => :'Array' } end @@ -127,6 +131,12 @@ def initialize(attributes = {}) if attributes.key?(:'os_version') self.os_version = attributes[:'os_version'] end + + if attributes.key?(:'tags') + if (value = attributes[:'tags']).is_a?(Array) + self.tags = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -153,7 +163,8 @@ def ==(o) groups == o.groups && local_ip == o.local_ip && name == o.name && - os_version == o.os_version + os_version == o.os_version && + tags == o.tags end # @see the `==` method @@ -165,7 +176,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [agent_version, containment_status, external_ip, groups, local_ip, name, os_version].hash + [agent_version, containment_status, external_ip, groups, local_ip, name, os_version, tags].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/changes_permissions_mac.rb b/lib/crimson-falcon/models/changes_permissions_mac.rb new file mode 100644 index 00000000..c5b9baa2 --- /dev/null +++ b/lib/crimson-falcon/models/changes_permissions_mac.rb @@ -0,0 +1,283 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ChangesPermissionsMac + attr_accessor :acl + + attr_accessor :basic + + attr_accessor :common_attributes + + attr_accessor :group + + attr_accessor :owner + + attr_accessor :security_info + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'acl' => :'acl', + :'basic' => :'basic', + :'common_attributes' => :'common_attributes', + :'group' => :'group', + :'owner' => :'owner', + :'security_info' => :'security_info' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'acl' => :'Boolean', + :'basic' => :'Array', + :'common_attributes' => :'Array', + :'group' => :'ChangesGroup', + :'owner' => :'ChangesOwner', + :'security_info' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ChangesPermissionsMac` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ChangesPermissionsMac`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'acl') + self.acl = attributes[:'acl'] + end + + if attributes.key?(:'basic') + if (value = attributes[:'basic']).is_a?(Array) + self.basic = value + end + end + + if attributes.key?(:'common_attributes') + if (value = attributes[:'common_attributes']).is_a?(Array) + self.common_attributes = value + end + end + + if attributes.key?(:'group') + self.group = attributes[:'group'] + end + + if attributes.key?(:'owner') + self.owner = attributes[:'owner'] + end + + if attributes.key?(:'security_info') + self.security_info = attributes[:'security_info'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + acl == o.acl && + basic == o.basic && + common_attributes == o.common_attributes && + group == o.group && + owner == o.owner && + security_info == o.security_info + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [acl, basic, common_attributes, group, owner, security_info].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/client_archive_create_response_v1.rb b/lib/crimson-falcon/models/client_archive_create_response_v1.rb index 3b04ddc4..5a7d4de0 100644 --- a/lib/crimson-falcon/models/client_archive_create_response_v1.rb +++ b/lib/crimson-falcon/models/client_archive_create_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/client_archive_list_files_response_v1.rb b/lib/crimson-falcon/models/client_archive_list_files_response_v1.rb index ec45370d..6f09cb1d 100644 --- a/lib/crimson-falcon/models/client_archive_list_files_response_v1.rb +++ b/lib/crimson-falcon/models/client_archive_list_files_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/client_data_ingest_response_wrapper_v1.rb b/lib/crimson-falcon/models/client_data_ingest_response_wrapper_v1.rb index fd9e5732..933a2872 100644 --- a/lib/crimson-falcon/models/client_data_ingest_response_wrapper_v1.rb +++ b/lib/crimson-falcon/models/client_data_ingest_response_wrapper_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/client_extraction_create_response_v1.rb b/lib/crimson-falcon/models/client_extraction_create_response_v1.rb index 4300919f..e375c7a4 100644 --- a/lib/crimson-falcon/models/client_extraction_create_response_v1.rb +++ b/lib/crimson-falcon/models/client_extraction_create_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/client_extraction_list_files_response_v1.rb b/lib/crimson-falcon/models/client_extraction_list_files_response_v1.rb index 8736297c..670d012b 100644 --- a/lib/crimson-falcon/models/client_extraction_list_files_response_v1.rb +++ b/lib/crimson-falcon/models/client_extraction_list_files_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/client_fql_statement.rb b/lib/crimson-falcon/models/client_fql_statement.rb new file mode 100644 index 00000000..086b99c3 --- /dev/null +++ b/lib/crimson-falcon/models/client_fql_statement.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ClientFQLStatement + attr_accessor :op + + attr_accessor :prop + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'op' => :'op', + :'prop' => :'prop', + :'value' => :'value' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'op' => :'String', + :'prop' => :'String', + :'value' => :'Object' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ClientFQLStatement` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ClientFQLStatement`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'op') + self.op = attributes[:'op'] + end + + if attributes.key?(:'prop') + self.prop = attributes[:'prop'] + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @op.nil? + invalid_properties.push('invalid value for "op", op cannot be nil.') + end + + if @prop.nil? + invalid_properties.push('invalid value for "prop", prop cannot be nil.') + end + + if @value.nil? + invalid_properties.push('invalid value for "value", value cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @op.nil? + return false if @prop.nil? + return false if @value.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + op == o.op && + prop == o.prop && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [op, prop, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/client_job_status.rb b/lib/crimson-falcon/models/client_job_status.rb index 6209657d..a6c3ba92 100644 --- a/lib/crimson-falcon/models/client_job_status.rb +++ b/lib/crimson-falcon/models/client_job_status.rb @@ -42,6 +42,8 @@ class ClientJobStatus attr_accessor :file_link + attr_accessor :filtered_event_count + attr_accessor :job_id attr_accessor :job_url @@ -64,6 +66,7 @@ def self.attribute_map :'digest_hex' => :'digest_hex', :'event_count' => :'event_count', :'file_link' => :'file_link', + :'filtered_event_count' => :'filtered_event_count', :'job_id' => :'job_id', :'job_url' => :'job_url', :'message' => :'message', @@ -87,6 +90,7 @@ def self.openapi_types :'digest_hex' => :'String', :'event_count' => :'Integer', :'file_link' => :'String', + :'filtered_event_count' => :'Integer', :'job_id' => :'String', :'job_url' => :'String', :'message' => :'String', @@ -138,6 +142,10 @@ def initialize(attributes = {}) self.file_link = attributes[:'file_link'] end + if attributes.key?(:'filtered_event_count') + self.filtered_event_count = attributes[:'filtered_event_count'] + end + if attributes.key?(:'job_id') self.job_id = attributes[:'job_id'] end @@ -195,6 +203,7 @@ def ==(o) digest_hex == o.digest_hex && event_count == o.event_count && file_link == o.file_link && + filtered_event_count == o.filtered_event_count && job_id == o.job_id && job_url == o.job_url && message == o.message && @@ -213,7 +222,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [content_length, digest_algo, digest_hex, event_count, file_link, job_id, job_url, message, percent_complete, result_count, run_duration, status].hash + [content_length, digest_algo, digest_hex, event_count, file_link, filtered_event_count, job_id, job_url, message, percent_complete, result_count, run_duration, status].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/client_sample_metadata_response_v2.rb b/lib/crimson-falcon/models/client_sample_metadata_response_v2.rb index db590c8f..0c0a3739 100644 --- a/lib/crimson-falcon/models/client_sample_metadata_response_v2.rb +++ b/lib/crimson-falcon/models/client_sample_metadata_response_v2.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/client_system_definition_create_response.rb b/lib/crimson-falcon/models/client_system_definition_create_response.rb index acb26ffb..d2f34d27 100644 --- a/lib/crimson-falcon/models/client_system_definition_create_response.rb +++ b/lib/crimson-falcon/models/client_system_definition_create_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/common_count_as_resource.rb b/lib/crimson-falcon/models/common_count_as_resource.rb index e5cc66ea..e9b6d063 100644 --- a/lib/crimson-falcon/models/common_count_as_resource.rb +++ b/lib/crimson-falcon/models/common_count_as_resource.rb @@ -34,13 +34,10 @@ module Falcon class CommonCountAsResource attr_accessor :count - attr_accessor :label - # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'count' => :'count', - :'label' => :'label' + :'count' => :'count' } end @@ -52,8 +49,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'count' => :'Integer', - :'label' => :'String' + :'count' => :'Integer' } end @@ -81,10 +77,6 @@ def initialize(attributes = {}) if attributes.key?(:'count') self.count = attributes[:'count'] end - - if attributes.key?(:'label') - self.label = attributes[:'label'] - end end # Show invalid properties with the reasons. Usually used together with valid? @@ -95,10 +87,6 @@ def list_invalid_properties invalid_properties.push('invalid value for "count", count cannot be nil.') end - if @label.nil? - invalid_properties.push('invalid value for "label", label cannot be nil.') - end - invalid_properties end @@ -106,7 +94,6 @@ def list_invalid_properties # @return true if the model is valid def valid? return false if @count.nil? - return false if @label.nil? true end @@ -115,8 +102,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - count == o.count && - label == o.label + count == o.count end # @see the `==` method @@ -128,7 +114,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [count, label].hash + [count].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/common_count_response.rb b/lib/crimson-falcon/models/common_count_response.rb index 71479810..278f5d41 100644 --- a/lib/crimson-falcon/models/common_count_response.rb +++ b/lib/crimson-falcon/models/common_count_response.rb @@ -32,18 +32,18 @@ module Falcon class CommonCountResponse - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/common_credentials.rb b/lib/crimson-falcon/models/common_credentials.rb new file mode 100644 index 00000000..03f181cc --- /dev/null +++ b/lib/crimson-falcon/models/common_credentials.rb @@ -0,0 +1,239 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class CommonCredentials + attr_accessor :token + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'token' => :'token' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'token' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::CommonCredentials` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::CommonCredentials`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'token') + self.token = attributes[:'token'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @token.nil? + invalid_properties.push('invalid value for "token", token cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @token.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + token == o.token + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [token].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/common_entities_response.rb b/lib/crimson-falcon/models/common_entities_response.rb new file mode 100644 index 00000000..9fc947c5 --- /dev/null +++ b/lib/crimson-falcon/models/common_entities_response.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class CommonEntitiesResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Object' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::CommonEntitiesResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::CommonEntitiesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + self.resources = attributes[:'resources'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/common_generic_entity_response_string.rb b/lib/crimson-falcon/models/common_generic_entity_response_string.rb index 0d378942..b835afc0 100644 --- a/lib/crimson-falcon/models/common_generic_entity_response_string.rb +++ b/lib/crimson-falcon/models/common_generic_entity_response_string.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/common_registry_credentials_response.rb b/lib/crimson-falcon/models/common_registry_credentials_response.rb new file mode 100644 index 00000000..49ccc927 --- /dev/null +++ b/lib/crimson-falcon/models/common_registry_credentials_response.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class CommonRegistryCredentialsResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'CommonCredentials' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::CommonRegistryCredentialsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::CommonRegistryCredentialsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + self.resources = attributes[:'resources'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/contentchanges_change_contents_response.rb b/lib/crimson-falcon/models/contentchanges_change_contents_response.rb new file mode 100644 index 00000000..a2ca658f --- /dev/null +++ b/lib/crimson-falcon/models/contentchanges_change_contents_response.rb @@ -0,0 +1,264 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ContentchangesChangeContentsResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'ContentchangesContentDiff' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ContentchangesChangeContentsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ContentchangesChangeContentsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + self.resources = attributes[:'resources'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/contentchanges_content.rb b/lib/crimson-falcon/models/contentchanges_content.rb new file mode 100644 index 00000000..4e70f7d8 --- /dev/null +++ b/lib/crimson-falcon/models/contentchanges_content.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ContentchangesContent + attr_accessor :data + + attr_accessor :path + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'data' => :'data', + :'path' => :'path' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'data' => :'String', + :'path' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ContentchangesContent` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ContentchangesContent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @data.nil? + invalid_properties.push('invalid value for "data", data cannot be nil.') + end + + if @path.nil? + invalid_properties.push('invalid value for "path", path cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @data.nil? + return false if @path.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data == o.data && + path == o.path + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [data, path].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/contentchanges_content_diff.rb b/lib/crimson-falcon/models/contentchanges_content_diff.rb new file mode 100644 index 00000000..9520bfd7 --- /dev/null +++ b/lib/crimson-falcon/models/contentchanges_content_diff.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ContentchangesContentDiff + attr_accessor :after + + attr_accessor :before + + attr_accessor :cid + + attr_accessor :id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'after' => :'after', + :'before' => :'before', + :'cid' => :'cid', + :'id' => :'id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'after' => :'ContentchangesContent', + :'before' => :'ContentchangesContent', + :'cid' => :'String', + :'id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ContentchangesContentDiff` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ContentchangesContentDiff`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'after') + self.after = attributes[:'after'] + end + + if attributes.key?(:'before') + self.before = attributes[:'before'] + end + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cid.nil? + return false if @id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + after == o.after && + before == o.before && + cid == o.cid && + id == o.id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [after, before, cid, id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/core_entities_response.rb b/lib/crimson-falcon/models/core_entities_response.rb index c202d4fe..1137d09f 100644 --- a/lib/crimson-falcon/models/core_entities_response.rb +++ b/lib/crimson-falcon/models/core_entities_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Object' } end diff --git a/lib/crimson-falcon/models/custom_type1255839303.rb b/lib/crimson-falcon/models/custom_storage_object_keys.rb similarity index 96% rename from lib/crimson-falcon/models/custom_type1255839303.rb rename to lib/crimson-falcon/models/custom_storage_object_keys.rb index 16beb568..17c652d7 100644 --- a/lib/crimson-falcon/models/custom_type1255839303.rb +++ b/lib/crimson-falcon/models/custom_storage_object_keys.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class CustomType1255839303 + class CustomStorageObjectKeys attr_accessor :errors attr_accessor :meta @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'ApiMetaInfo', :'resources' => :'Array' } @@ -71,13 +71,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::CustomType1255839303` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::CustomStorageObjectKeys` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::CustomType1255839303`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::CustomStorageObjectKeys`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/custom_type3191042536.rb b/lib/crimson-falcon/models/custom_storage_response.rb similarity index 96% rename from lib/crimson-falcon/models/custom_type3191042536.rb rename to lib/crimson-falcon/models/custom_storage_response.rb index be9b3b65..a12cf9f3 100644 --- a/lib/crimson-falcon/models/custom_type3191042536.rb +++ b/lib/crimson-falcon/models/custom_storage_response.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class CustomType3191042536 + class CustomStorageResponse attr_accessor :errors attr_accessor :meta @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'ApiMetaInfo', :'resources' => :'Array' } @@ -71,13 +71,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::CustomType3191042536` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::CustomStorageResponse` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::CustomType3191042536`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::CustomStorageResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/definitions_definition_entities_response.rb b/lib/crimson-falcon/models/definitions_definition_entities_response.rb index a428fdff..94b5f998 100644 --- a/lib/crimson-falcon/models/definitions_definition_entities_response.rb +++ b/lib/crimson-falcon/models/definitions_definition_entities_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/definitions_definition_ext.rb b/lib/crimson-falcon/models/definitions_definition_ext.rb index 55ad0f26..cfd281b6 100644 --- a/lib/crimson-falcon/models/definitions_definition_ext.rb +++ b/lib/crimson-falcon/models/definitions_definition_ext.rb @@ -32,7 +32,11 @@ module Falcon class DefinitionsDefinitionExt - attr_accessor :definition + attr_accessor :actions + + attr_accessor :conditions + + attr_accessor :description # Indicates whether the workflow is enabled and active or not. attr_accessor :enabled @@ -40,19 +44,66 @@ class DefinitionsDefinitionExt # Unique identifier for the trigger. attr_accessor :id + attr_accessor :labels + # Timestamp of when this version of the workflow was created. attr_accessor :last_modified_timestamp + attr_accessor :loops + + attr_accessor :multi_instance + + attr_accessor :name + + attr_accessor :node_registry + + attr_accessor :output_fields + + attr_accessor :parameters + + attr_accessor :parent + + attr_accessor :provision_on_install + + attr_accessor :summary + + attr_accessor :trigger + + attr_accessor :type + + attr_accessor :uniq_node_seen + + attr_accessor :use_cases + + attr_accessor :vendors + # Version of the workflow. A given definition ID can have many versions. Each time an update is applied a new version is generated. attr_accessor :version # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'definition' => :'Definition', + :'actions' => :'actions', + :'conditions' => :'conditions', + :'description' => :'description', :'enabled' => :'enabled', :'id' => :'id', + :'labels' => :'labels', :'last_modified_timestamp' => :'last_modified_timestamp', + :'loops' => :'loops', + :'multi_instance' => :'multi_instance', + :'name' => :'name', + :'node_registry' => :'nodeRegistry', + :'output_fields' => :'output_fields', + :'parameters' => :'parameters', + :'parent' => :'parent', + :'provision_on_install' => :'provision_on_install', + :'summary' => :'summary', + :'trigger' => :'trigger', + :'type' => :'type', + :'uniq_node_seen' => :'uniqNodeSeen', + :'use_cases' => :'use_cases', + :'vendors' => :'vendors', :'version' => :'version' } end @@ -65,10 +116,27 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'definition' => :'V2Definition', + :'actions' => :'Hash', + :'conditions' => :'Hash', + :'description' => :'String', :'enabled' => :'Boolean', :'id' => :'String', + :'labels' => :'Array', :'last_modified_timestamp' => :'Time', + :'loops' => :'Hash', + :'multi_instance' => :'Boolean', + :'name' => :'String', + :'node_registry' => :'Hash', + :'output_fields' => :'Array', + :'parameters' => :'V2Parameters', + :'parent' => :'V2Model', + :'provision_on_install' => :'Boolean', + :'summary' => :'String', + :'trigger' => :'V2Trigger', + :'type' => :'String', + :'uniq_node_seen' => :'Hash', + :'use_cases' => :'Array', + :'vendors' => :'Array', :'version' => :'Integer' } end @@ -94,8 +162,20 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'definition') - self.definition = attributes[:'definition'] + if attributes.key?(:'actions') + if (value = attributes[:'actions']).is_a?(Hash) + self.actions = value + end + end + + if attributes.key?(:'conditions') + if (value = attributes[:'conditions']).is_a?(Hash) + self.conditions = value + end + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] end if attributes.key?(:'enabled') @@ -106,10 +186,84 @@ def initialize(attributes = {}) self.id = attributes[:'id'] end + if attributes.key?(:'labels') + if (value = attributes[:'labels']).is_a?(Array) + self.labels = value + end + end + if attributes.key?(:'last_modified_timestamp') self.last_modified_timestamp = attributes[:'last_modified_timestamp'] end + if attributes.key?(:'loops') + if (value = attributes[:'loops']).is_a?(Hash) + self.loops = value + end + end + + if attributes.key?(:'multi_instance') + self.multi_instance = attributes[:'multi_instance'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'node_registry') + if (value = attributes[:'node_registry']).is_a?(Hash) + self.node_registry = value + end + end + + if attributes.key?(:'output_fields') + if (value = attributes[:'output_fields']).is_a?(Array) + self.output_fields = value + end + end + + if attributes.key?(:'parameters') + self.parameters = attributes[:'parameters'] + end + + if attributes.key?(:'parent') + self.parent = attributes[:'parent'] + end + + if attributes.key?(:'provision_on_install') + self.provision_on_install = attributes[:'provision_on_install'] + end + + if attributes.key?(:'summary') + self.summary = attributes[:'summary'] + end + + if attributes.key?(:'trigger') + self.trigger = attributes[:'trigger'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'uniq_node_seen') + if (value = attributes[:'uniq_node_seen']).is_a?(Hash) + self.uniq_node_seen = value + end + end + + if attributes.key?(:'use_cases') + if (value = attributes[:'use_cases']).is_a?(Array) + self.use_cases = value + end + end + + if attributes.key?(:'vendors') + if (value = attributes[:'vendors']).is_a?(Array) + self.vendors = value + end + end + if attributes.key?(:'version') self.version = attributes[:'version'] end @@ -119,10 +273,6 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @definition.nil? - invalid_properties.push('invalid value for "definition", definition cannot be nil.') - end - if @enabled.nil? invalid_properties.push('invalid value for "enabled", enabled cannot be nil.') end @@ -135,6 +285,26 @@ def list_invalid_properties invalid_properties.push('invalid value for "last_modified_timestamp", last_modified_timestamp cannot be nil.') end + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @node_registry.nil? + invalid_properties.push('invalid value for "node_registry", node_registry cannot be nil.') + end + + if @parent.nil? + invalid_properties.push('invalid value for "parent", parent cannot be nil.') + end + + if @trigger.nil? + invalid_properties.push('invalid value for "trigger", trigger cannot be nil.') + end + + if @uniq_node_seen.nil? + invalid_properties.push('invalid value for "uniq_node_seen", uniq_node_seen cannot be nil.') + end + if @version.nil? invalid_properties.push('invalid value for "version", version cannot be nil.') end @@ -145,10 +315,14 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @definition.nil? return false if @enabled.nil? return false if @id.nil? return false if @last_modified_timestamp.nil? + return false if @name.nil? + return false if @node_registry.nil? + return false if @parent.nil? + return false if @trigger.nil? + return false if @uniq_node_seen.nil? return false if @version.nil? true end @@ -158,10 +332,27 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - definition == o.definition && + actions == o.actions && + conditions == o.conditions && + description == o.description && enabled == o.enabled && id == o.id && + labels == o.labels && last_modified_timestamp == o.last_modified_timestamp && + loops == o.loops && + multi_instance == o.multi_instance && + name == o.name && + node_registry == o.node_registry && + output_fields == o.output_fields && + parameters == o.parameters && + parent == o.parent && + provision_on_install == o.provision_on_install && + summary == o.summary && + trigger == o.trigger && + type == o.type && + uniq_node_seen == o.uniq_node_seen && + use_cases == o.use_cases && + vendors == o.vendors && version == o.version end @@ -174,7 +365,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [definition, enabled, id, last_modified_timestamp, version].hash + [actions, conditions, description, enabled, id, labels, last_modified_timestamp, loops, multi_instance, name, node_registry, output_fields, parameters, parent, provision_on_install, summary, trigger, type, uniq_node_seen, use_cases, vendors, version].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/definitions_definition_external_response.rb b/lib/crimson-falcon/models/definitions_definition_external_response.rb index cfe69da8..848208e5 100644 --- a/lib/crimson-falcon/models/definitions_definition_external_response.rb +++ b/lib/crimson-falcon/models/definitions_definition_external_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/definitions_definition_import_response.rb b/lib/crimson-falcon/models/definitions_definition_import_response.rb index a1b33f3c..8c9a77f4 100644 --- a/lib/crimson-falcon/models/definitions_definition_import_response.rb +++ b/lib/crimson-falcon/models/definitions_definition_import_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/changes_get_changes_response.rb b/lib/crimson-falcon/models/deployments_entity_response.rb similarity index 96% rename from lib/crimson-falcon/models/changes_get_changes_response.rb rename to lib/crimson-falcon/models/deployments_entity_response.rb index 854aaab8..e97be53d 100644 --- a/lib/crimson-falcon/models/changes_get_changes_response.rb +++ b/lib/crimson-falcon/models/deployments_entity_response.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class ChangesGetChangesResponse + class DeploymentsEntityResponse attr_accessor :errors attr_accessor :meta @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', - :'resources' => :'Array' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -71,13 +71,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ChangesGetChangesResponse` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DeploymentsEntityResponse` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ChangesGetChangesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DeploymentsEntityResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/destination.rb b/lib/crimson-falcon/models/destination.rb new file mode 100644 index 00000000..f94a6691 --- /dev/null +++ b/lib/crimson-falcon/models/destination.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class Destination + attr_accessor :entity_id + + attr_accessor :group_membership + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'entity_id' => :'entityId', + :'group_membership' => :'groupMembership' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'entity_id' => :'TypesPolicyRulesCondition', + :'group_membership' => :'TypesPolicyRulesCondition' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::Destination` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::Destination`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'entity_id') + self.entity_id = attributes[:'entity_id'] + end + + if attributes.key?(:'group_membership') + self.group_membership = attributes[:'group_membership'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + entity_id == o.entity_id && + group_membership == o.group_membership + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [entity_id, group_membership].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_vulnerability_related_threat.rb b/lib/crimson-falcon/models/destinations_migration_destination.rb similarity index 91% rename from lib/crimson-falcon/models/domain_vulnerability_related_threat.rb rename to lib/crimson-falcon/models/destinations_migration_destination.rb index aca3f425..d837cc17 100644 --- a/lib/crimson-falcon/models/domain_vulnerability_related_threat.rb +++ b/lib/crimson-falcon/models/destinations_migration_destination.rb @@ -31,17 +31,15 @@ require 'time' module Falcon - class DomainVulnerabilityRelatedThreat - # List of malware family or threat capabilities - attr_accessor :capabilities + class DestinationsMigrationDestination + attr_accessor :cid - # Malware Family or Threat Name attr_accessor :name # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'capabilities' => :'capabilities', + :'cid' => :'cid', :'name' => :'name' } end @@ -54,7 +52,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'capabilities' => :'Array', + :'cid' => :'String', :'name' => :'String' } end @@ -69,21 +67,19 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainVulnerabilityRelatedThreat` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DestinationsMigrationDestination` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainVulnerabilityRelatedThreat`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DestinationsMigrationDestination`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'capabilities') - if (value = attributes[:'capabilities']).is_a?(Array) - self.capabilities = value - end + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] end if attributes.key?(:'name') @@ -95,12 +91,22 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @cid.nil? + return false if @name.nil? true end @@ -109,7 +115,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - capabilities == o.capabilities && + cid == o.cid && name == o.name end @@ -122,7 +128,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [capabilities, name].hash + [cid, name].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/detections_api_assessment_detections.rb b/lib/crimson-falcon/models/detections_api_assessment_detections.rb index ff8f18c6..15d26776 100644 --- a/lib/crimson-falcon/models/detections_api_assessment_detections.rb +++ b/lib/crimson-falcon/models/detections_api_assessment_detections.rb @@ -32,18 +32,18 @@ module Falcon class DetectionsApiAssessmentDetections - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/detections_api_combined_detections.rb b/lib/crimson-falcon/models/detections_api_combined_detections.rb index 148d7ccd..6101450b 100644 --- a/lib/crimson-falcon/models/detections_api_combined_detections.rb +++ b/lib/crimson-falcon/models/detections_api_combined_detections.rb @@ -32,18 +32,18 @@ module Falcon class DetectionsApiCombinedDetections - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/detections_api_detections_by_severity.rb b/lib/crimson-falcon/models/detections_api_detections_by_severity.rb index 2f788a3c..76b9893d 100644 --- a/lib/crimson-falcon/models/detections_api_detections_by_severity.rb +++ b/lib/crimson-falcon/models/detections_api_detections_by_severity.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/detections_api_detections_by_type.rb b/lib/crimson-falcon/models/detections_api_detections_by_type.rb index eb5f4b26..ee4415b3 100644 --- a/lib/crimson-falcon/models/detections_api_detections_by_type.rb +++ b/lib/crimson-falcon/models/detections_api_detections_by_type.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/detections_api_detections_count.rb b/lib/crimson-falcon/models/detections_api_detections_count.rb index 217cfffc..f3163a06 100644 --- a/lib/crimson-falcon/models/detections_api_detections_count.rb +++ b/lib/crimson-falcon/models/detections_api_detections_count.rb @@ -32,18 +32,18 @@ module Falcon class DetectionsApiDetectionsCount - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/detects_alert.rb b/lib/crimson-falcon/models/detects_external_alert.rb similarity index 69% rename from lib/crimson-falcon/models/detects_alert.rb rename to lib/crimson-falcon/models/detects_external_alert.rb index dd71096e..bed48b82 100644 --- a/lib/crimson-falcon/models/detects_alert.rb +++ b/lib/crimson-falcon/models/detects_external_alert.rb @@ -31,11 +31,11 @@ require 'time' module Falcon - class DetectsAlert + class DetectsExternalAlert # Device or sensor ID for which the Alert was generated attr_accessor :agent_id - # Common linkage between multiple Alerts that belong so the same detection bouquet + # Common linkage between multiple Alerts that belong to the same detection bouquet attr_accessor :aggregate_id # Name of the person this Alert is assigned to @@ -56,12 +56,6 @@ class DetectsAlert # Confidence is a 1-100 integer value denoting the confidence that, when this Alert fires, it is indicative of malicious activity attr_accessor :confidence - # internal only - attr_accessor :crawl_edge_ids - - # internal only - attr_accessor :crawl_vertex_ids - # indicates when ThreatGraph was crawled to gather info for this alert creation/update attr_accessor :crawled_timestamp @@ -80,15 +74,6 @@ class DetectsAlert # Boolean to know if we sent email regarding this Alert attr_accessor :email_sent - # internal only - attr_accessor :es_doc_id - - # internal only - attr_accessor :es_doc_version - - # internal only - attr_accessor :es_routing_id - # Boolean indicating if this Alert is internal or external attr_accessor :external @@ -107,17 +92,24 @@ class DetectsAlert # Platform that this Alert was triggered on e.g. Android, Windows, etc.. attr_accessor :platform - attr_accessor :poly_id - # Product specifies the SKU that this Alert belongs to e.g. mobile, idp, epp attr_accessor :product # Scenario was used pre-Handrails to display additional killchain context for UI alerts. With handrails, this field is mostly obsolete in favor of tactic/technique. Still, it can be useful for determining specific pattern types that are not straightforward to distinguish from other fields alone attr_accessor :scenario + # Seconds To Resolved represents the seconds elapsed since this alert has been resolved + attr_accessor :seconds_to_resolved + + # Seconds To Triage represents the seconds elapsed since this alert has been triaged + attr_accessor :seconds_to_triaged + # Severity is also a 1-100 integer value, but unlike confidence severity impacts how a Alert is displayed in the UI attr_accessor :severity + # Severity name is a UI friendly bucketing of the severity integer + attr_accessor :severity_name + # Boolean indicating if this Alert will be shown in the UI or if it's hidden' attr_accessor :show_in_ui @@ -165,27 +157,24 @@ def self.attribute_map :'cid' => :'cid', :'composite_id' => :'composite_id', :'confidence' => :'confidence', - :'crawl_edge_ids' => :'crawl_edge_ids', - :'crawl_vertex_ids' => :'crawl_vertex_ids', :'crawled_timestamp' => :'crawled_timestamp', :'created_timestamp' => :'created_timestamp', :'data_domains' => :'data_domains', :'description' => :'description', :'display_name' => :'display_name', :'email_sent' => :'email_sent', - :'es_doc_id' => :'es_doc_id', - :'es_doc_version' => :'es_doc_version', - :'es_routing_id' => :'es_routing_id', :'external' => :'external', :'id' => :'id', :'name' => :'name', :'objective' => :'objective', :'pattern_id' => :'pattern_id', :'platform' => :'platform', - :'poly_id' => :'poly_id', :'product' => :'product', :'scenario' => :'scenario', + :'seconds_to_resolved' => :'seconds_to_resolved', + :'seconds_to_triaged' => :'seconds_to_triaged', :'severity' => :'severity', + :'severity_name' => :'severity_name', :'show_in_ui' => :'show_in_ui', :'source_products' => :'source_products', :'source_vendors' => :'source_vendors', @@ -217,27 +206,24 @@ def self.openapi_types :'cid' => :'String', :'composite_id' => :'String', :'confidence' => :'Integer', - :'crawl_edge_ids' => :'Hash>', - :'crawl_vertex_ids' => :'Hash>', :'crawled_timestamp' => :'Time', :'created_timestamp' => :'Time', :'data_domains' => :'Array', :'description' => :'String', :'display_name' => :'String', :'email_sent' => :'Boolean', - :'es_doc_id' => :'String', - :'es_doc_version' => :'Integer', - :'es_routing_id' => :'String', :'external' => :'Boolean', :'id' => :'String', :'name' => :'String', :'objective' => :'String', :'pattern_id' => :'Integer', :'platform' => :'String', - :'poly_id' => :'String', :'product' => :'String', :'scenario' => :'String', + :'seconds_to_resolved' => :'Integer', + :'seconds_to_triaged' => :'Integer', :'severity' => :'Integer', + :'severity_name' => :'String', :'show_in_ui' => :'Boolean', :'source_products' => :'Array', :'source_vendors' => :'Array', @@ -263,13 +249,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DetectsAlert` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DetectsExternalAlert` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DetectsAlert`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DetectsExternalAlert`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } @@ -306,18 +292,6 @@ def initialize(attributes = {}) self.confidence = attributes[:'confidence'] end - if attributes.key?(:'crawl_edge_ids') - if (value = attributes[:'crawl_edge_ids']).is_a?(Hash) - self.crawl_edge_ids = value - end - end - - if attributes.key?(:'crawl_vertex_ids') - if (value = attributes[:'crawl_vertex_ids']).is_a?(Hash) - self.crawl_vertex_ids = value - end - end - if attributes.key?(:'crawled_timestamp') self.crawled_timestamp = attributes[:'crawled_timestamp'] end @@ -344,18 +318,6 @@ def initialize(attributes = {}) self.email_sent = attributes[:'email_sent'] end - if attributes.key?(:'es_doc_id') - self.es_doc_id = attributes[:'es_doc_id'] - end - - if attributes.key?(:'es_doc_version') - self.es_doc_version = attributes[:'es_doc_version'] - end - - if attributes.key?(:'es_routing_id') - self.es_routing_id = attributes[:'es_routing_id'] - end - if attributes.key?(:'external') self.external = attributes[:'external'] end @@ -380,10 +342,6 @@ def initialize(attributes = {}) self.platform = attributes[:'platform'] end - if attributes.key?(:'poly_id') - self.poly_id = attributes[:'poly_id'] - end - if attributes.key?(:'product') self.product = attributes[:'product'] end @@ -392,10 +350,22 @@ def initialize(attributes = {}) self.scenario = attributes[:'scenario'] end + if attributes.key?(:'seconds_to_resolved') + self.seconds_to_resolved = attributes[:'seconds_to_resolved'] + end + + if attributes.key?(:'seconds_to_triaged') + self.seconds_to_triaged = attributes[:'seconds_to_triaged'] + end + if attributes.key?(:'severity') self.severity = attributes[:'severity'] end + if attributes.key?(:'severity_name') + self.severity_name = attributes[:'severity_name'] + end + if attributes.key?(:'show_in_ui') self.show_in_ui = attributes[:'show_in_ui'] end @@ -455,17 +425,202 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @agent_id.nil? + invalid_properties.push('invalid value for "agent_id", agent_id cannot be nil.') + end + + if @aggregate_id.nil? + invalid_properties.push('invalid value for "aggregate_id", aggregate_id cannot be nil.') + end + + if @assigned_to_name.nil? + invalid_properties.push('invalid value for "assigned_to_name", assigned_to_name cannot be nil.') + end + + if @assigned_to_uid.nil? + invalid_properties.push('invalid value for "assigned_to_uid", assigned_to_uid cannot be nil.') + end + + if @assigned_to_uuid.nil? + invalid_properties.push('invalid value for "assigned_to_uuid", assigned_to_uuid cannot be nil.') + end + + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @composite_id.nil? + invalid_properties.push('invalid value for "composite_id", composite_id cannot be nil.') + end + + if @confidence.nil? + invalid_properties.push('invalid value for "confidence", confidence cannot be nil.') + end + + if @crawled_timestamp.nil? + invalid_properties.push('invalid value for "crawled_timestamp", crawled_timestamp cannot be nil.') + end + + if @created_timestamp.nil? + invalid_properties.push('invalid value for "created_timestamp", created_timestamp cannot be nil.') + end + + if @data_domains.nil? + invalid_properties.push('invalid value for "data_domains", data_domains cannot be nil.') + end + + if @description.nil? + invalid_properties.push('invalid value for "description", description cannot be nil.') + end + + if @display_name.nil? + invalid_properties.push('invalid value for "display_name", display_name cannot be nil.') + end + + if @email_sent.nil? + invalid_properties.push('invalid value for "email_sent", email_sent cannot be nil.') + end + + if @external.nil? + invalid_properties.push('invalid value for "external", external cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @objective.nil? + invalid_properties.push('invalid value for "objective", objective cannot be nil.') + end + + if @pattern_id.nil? + invalid_properties.push('invalid value for "pattern_id", pattern_id cannot be nil.') + end + + if @platform.nil? + invalid_properties.push('invalid value for "platform", platform cannot be nil.') + end + + if @product.nil? + invalid_properties.push('invalid value for "product", product cannot be nil.') + end + + if @scenario.nil? + invalid_properties.push('invalid value for "scenario", scenario cannot be nil.') + end + + if @seconds_to_resolved.nil? + invalid_properties.push('invalid value for "seconds_to_resolved", seconds_to_resolved cannot be nil.') + end + + if @seconds_to_triaged.nil? + invalid_properties.push('invalid value for "seconds_to_triaged", seconds_to_triaged cannot be nil.') + end + + if @severity.nil? + invalid_properties.push('invalid value for "severity", severity cannot be nil.') + end + + if @severity_name.nil? + invalid_properties.push('invalid value for "severity_name", severity_name cannot be nil.') + end + + if @show_in_ui.nil? + invalid_properties.push('invalid value for "show_in_ui", show_in_ui cannot be nil.') + end + + if @source_products.nil? + invalid_properties.push('invalid value for "source_products", source_products cannot be nil.') + end + + if @source_vendors.nil? + invalid_properties.push('invalid value for "source_vendors", source_vendors cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @tactic.nil? + invalid_properties.push('invalid value for "tactic", tactic cannot be nil.') + end + + if @tactic_id.nil? + invalid_properties.push('invalid value for "tactic_id", tactic_id cannot be nil.') + end + + if @tags.nil? + invalid_properties.push('invalid value for "tags", tags cannot be nil.') + end + + if @technique.nil? + invalid_properties.push('invalid value for "technique", technique cannot be nil.') + end + + if @technique_id.nil? + invalid_properties.push('invalid value for "technique_id", technique_id cannot be nil.') + end + + if @timestamp.nil? + invalid_properties.push('invalid value for "timestamp", timestamp cannot be nil.') + end + if @type.nil? invalid_properties.push('invalid value for "type", type cannot be nil.') end + if @updated_timestamp.nil? + invalid_properties.push('invalid value for "updated_timestamp", updated_timestamp cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @agent_id.nil? + return false if @aggregate_id.nil? + return false if @assigned_to_name.nil? + return false if @assigned_to_uid.nil? + return false if @assigned_to_uuid.nil? + return false if @cid.nil? + return false if @composite_id.nil? + return false if @confidence.nil? + return false if @crawled_timestamp.nil? + return false if @created_timestamp.nil? + return false if @data_domains.nil? + return false if @description.nil? + return false if @display_name.nil? + return false if @email_sent.nil? + return false if @external.nil? + return false if @id.nil? + return false if @name.nil? + return false if @objective.nil? + return false if @pattern_id.nil? + return false if @platform.nil? + return false if @product.nil? + return false if @scenario.nil? + return false if @seconds_to_resolved.nil? + return false if @seconds_to_triaged.nil? + return false if @severity.nil? + return false if @severity_name.nil? + return false if @show_in_ui.nil? + return false if @source_products.nil? + return false if @source_vendors.nil? + return false if @status.nil? + return false if @tactic.nil? + return false if @tactic_id.nil? + return false if @tags.nil? + return false if @technique.nil? + return false if @technique_id.nil? + return false if @timestamp.nil? return false if @type.nil? + return false if @updated_timestamp.nil? true end @@ -482,27 +637,24 @@ def ==(o) cid == o.cid && composite_id == o.composite_id && confidence == o.confidence && - crawl_edge_ids == o.crawl_edge_ids && - crawl_vertex_ids == o.crawl_vertex_ids && crawled_timestamp == o.crawled_timestamp && created_timestamp == o.created_timestamp && data_domains == o.data_domains && description == o.description && display_name == o.display_name && email_sent == o.email_sent && - es_doc_id == o.es_doc_id && - es_doc_version == o.es_doc_version && - es_routing_id == o.es_routing_id && external == o.external && id == o.id && name == o.name && objective == o.objective && pattern_id == o.pattern_id && platform == o.platform && - poly_id == o.poly_id && product == o.product && scenario == o.scenario && + seconds_to_resolved == o.seconds_to_resolved && + seconds_to_triaged == o.seconds_to_triaged && severity == o.severity && + severity_name == o.severity_name && show_in_ui == o.show_in_ui && source_products == o.source_products && source_vendors == o.source_vendors && @@ -526,7 +678,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [agent_id, aggregate_id, assigned_to_name, assigned_to_uid, assigned_to_uuid, cid, composite_id, confidence, crawl_edge_ids, crawl_vertex_ids, crawled_timestamp, created_timestamp, data_domains, description, display_name, email_sent, es_doc_id, es_doc_version, es_routing_id, external, id, name, objective, pattern_id, platform, poly_id, product, scenario, severity, show_in_ui, source_products, source_vendors, status, tactic, tactic_id, tags, technique, technique_id, timestamp, type, updated_timestamp].hash + [agent_id, aggregate_id, assigned_to_name, assigned_to_uid, assigned_to_uuid, cid, composite_id, confidence, crawled_timestamp, created_timestamp, data_domains, description, display_name, email_sent, external, id, name, objective, pattern_id, platform, product, scenario, seconds_to_resolved, seconds_to_triaged, severity, severity_name, show_in_ui, source_products, source_vendors, status, tactic, tactic_id, tags, technique, technique_id, timestamp, type, updated_timestamp].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/detectsapi_aggregates_response.rb b/lib/crimson-falcon/models/detectsapi_aggregates_response.rb index 2c951a05..87f455a4 100644 --- a/lib/crimson-falcon/models/detectsapi_aggregates_response.rb +++ b/lib/crimson-falcon/models/detectsapi_aggregates_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/detectsapi_alert_query_response.rb b/lib/crimson-falcon/models/detectsapi_alert_query_response.rb index 175b197a..42855386 100644 --- a/lib/crimson-falcon/models/detectsapi_alert_query_response.rb +++ b/lib/crimson-falcon/models/detectsapi_alert_query_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/detectsapi_post_entities_alerts_v2_response.rb b/lib/crimson-falcon/models/detectsapi_post_entities_alerts_v1_response_swagger.rb similarity index 94% rename from lib/crimson-falcon/models/detectsapi_post_entities_alerts_v2_response.rb rename to lib/crimson-falcon/models/detectsapi_post_entities_alerts_v1_response_swagger.rb index 6cba619d..68984f8c 100644 --- a/lib/crimson-falcon/models/detectsapi_post_entities_alerts_v2_response.rb +++ b/lib/crimson-falcon/models/detectsapi_post_entities_alerts_v1_response_swagger.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class DetectsapiPostEntitiesAlertsV2Response + class DetectsapiPostEntitiesAlertsV1ResponseSwagger attr_accessor :errors attr_accessor :meta @@ -56,9 +56,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', - :'resources' => :'Array' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -72,13 +72,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DetectsapiPostEntitiesAlertsV2Response` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DetectsapiPostEntitiesAlertsV1ResponseSwagger` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DetectsapiPostEntitiesAlertsV2Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DetectsapiPostEntitiesAlertsV1ResponseSwagger`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/detectsapi_post_entities_alerts_v1_response.rb b/lib/crimson-falcon/models/detectsapi_post_entities_alerts_v2_response_swagger.rb similarity index 94% rename from lib/crimson-falcon/models/detectsapi_post_entities_alerts_v1_response.rb rename to lib/crimson-falcon/models/detectsapi_post_entities_alerts_v2_response_swagger.rb index c6256543..db203841 100644 --- a/lib/crimson-falcon/models/detectsapi_post_entities_alerts_v1_response.rb +++ b/lib/crimson-falcon/models/detectsapi_post_entities_alerts_v2_response_swagger.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class DetectsapiPostEntitiesAlertsV1Response + class DetectsapiPostEntitiesAlertsV2ResponseSwagger attr_accessor :errors attr_accessor :meta @@ -56,9 +56,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', - :'resources' => :'Array' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -72,13 +72,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DetectsapiPostEntitiesAlertsV1Response` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DetectsapiPostEntitiesAlertsV2ResponseSwagger` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DetectsapiPostEntitiesAlertsV1Response`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DetectsapiPostEntitiesAlertsV2ResponseSwagger`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/detectsapi_response_fields.rb b/lib/crimson-falcon/models/detectsapi_response_fields.rb index 48b1c112..f8e7f70d 100644 --- a/lib/crimson-falcon/models/detectsapi_response_fields.rb +++ b/lib/crimson-falcon/models/detectsapi_response_fields.rb @@ -52,8 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/device_control_resp_v1.rb b/lib/crimson-falcon/models/device_control_resp_v1.rb index 568dcae0..a0490ddd 100644 --- a/lib/crimson-falcon/models/device_control_resp_v1.rb +++ b/lib/crimson-falcon/models/device_control_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/device_control_resp_v2.rb b/lib/crimson-falcon/models/device_control_resp_v2.rb index 73549889..afbcb589 100644 --- a/lib/crimson-falcon/models/device_control_resp_v2.rb +++ b/lib/crimson-falcon/models/device_control_resp_v2.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/device_control_usb_class_exceptions_req_v1.rb b/lib/crimson-falcon/models/device_control_usb_class_exceptions_req_v1.rb index 9194081f..4f10803c 100644 --- a/lib/crimson-falcon/models/device_control_usb_class_exceptions_req_v1.rb +++ b/lib/crimson-falcon/models/device_control_usb_class_exceptions_req_v1.rb @@ -145,7 +145,7 @@ def list_invalid_properties # @return true if the model is valid def valid? return false if @action.nil? - action_validator = EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY"]) + action_validator = EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY", "BLOCK_EXECUTE"]) return false unless action_validator.valid?(@action) return false if @exceptions.nil? return false if @id.nil? @@ -155,7 +155,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] action Object to be assigned def action=(action) - validator = EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY"]) + validator = EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY", "BLOCK_EXECUTE"]) unless validator.valid?(action) fail ArgumentError, "invalid value for \"action\", must be one of #{validator.allowable_values}." end diff --git a/lib/crimson-falcon/models/device_control_usb_class_exceptions_response.rb b/lib/crimson-falcon/models/device_control_usb_class_exceptions_response.rb index 159ac03e..9ab77371 100644 --- a/lib/crimson-falcon/models/device_control_usb_class_exceptions_response.rb +++ b/lib/crimson-falcon/models/device_control_usb_class_exceptions_response.rb @@ -145,7 +145,7 @@ def list_invalid_properties # @return true if the model is valid def valid? return false if @action.nil? - action_validator = EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY"]) + action_validator = EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY", "BLOCK_EXECUTE"]) return false unless action_validator.valid?(@action) return false if @exceptions.nil? return false if @id.nil? @@ -155,7 +155,7 @@ def valid? # Custom attribute writer method checking allowed values (enum). # @param [Object] action Object to be assigned def action=(action) - validator = EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY"]) + validator = EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY", "BLOCK_EXECUTE"]) unless validator.valid?(action) fail ArgumentError, "invalid value for \"action\", must be one of #{validator.allowable_values}." end diff --git a/lib/crimson-falcon/models/device_device.rb b/lib/crimson-falcon/models/device_device.rb index 6013cd56..e6d957ab 100644 --- a/lib/crimson-falcon/models/device_device.rb +++ b/lib/crimson-falcon/models/device_device.rb @@ -38,6 +38,8 @@ class DeviceDevice attr_accessor :agent_version + attr_accessor :base_image_version + attr_accessor :bios_manufacturer attr_accessor :bios_version @@ -62,6 +64,8 @@ class DeviceDevice attr_accessor :cpu_signature + attr_accessor :cpu_vendor + attr_accessor :default_gateway_ip attr_accessor :deployment_type @@ -76,6 +80,8 @@ class DeviceDevice attr_accessor :external_ip + attr_accessor :filesystem_containment_status + attr_accessor :first_login_timestamp attr_accessor :first_login_user @@ -86,6 +92,8 @@ class DeviceDevice attr_accessor :groups + attr_accessor :host_deleted_status + attr_accessor :host_hidden_status attr_accessor :host_utc_offset @@ -130,6 +138,8 @@ class DeviceDevice attr_accessor :meta + attr_accessor :migration_completed_time + attr_accessor :minor_version attr_accessor :modified_timestamp @@ -184,6 +194,8 @@ class DeviceDevice attr_accessor :release_group + attr_accessor :rtr_state + attr_accessor :serial_number attr_accessor :service_pack_major @@ -214,6 +226,7 @@ def self.attribute_map :'agent_load_flags' => :'agent_load_flags', :'agent_local_time' => :'agent_local_time', :'agent_version' => :'agent_version', + :'base_image_version' => :'base_image_version', :'bios_manufacturer' => :'bios_manufacturer', :'bios_version' => :'bios_version', :'build_number' => :'build_number', @@ -226,6 +239,7 @@ def self.attribute_map :'connection_ip' => :'connection_ip', :'connection_mac_address' => :'connection_mac_address', :'cpu_signature' => :'cpu_signature', + :'cpu_vendor' => :'cpu_vendor', :'default_gateway_ip' => :'default_gateway_ip', :'deployment_type' => :'deployment_type', :'detection_suppression_status' => :'detection_suppression_status', @@ -233,11 +247,13 @@ def self.attribute_map :'device_policies' => :'device_policies', :'email' => :'email', :'external_ip' => :'external_ip', + :'filesystem_containment_status' => :'filesystem_containment_status', :'first_login_timestamp' => :'first_login_timestamp', :'first_login_user' => :'first_login_user', :'first_seen' => :'first_seen', :'group_hash' => :'group_hash', :'groups' => :'groups', + :'host_deleted_status' => :'host_deleted_status', :'host_hidden_status' => :'host_hidden_status', :'host_utc_offset' => :'host_utc_offset', :'hostname' => :'hostname', @@ -260,6 +276,7 @@ def self.attribute_map :'major_version' => :'major_version', :'managed_apps' => :'managed_apps', :'meta' => :'meta', + :'migration_completed_time' => :'migration_completed_time', :'minor_version' => :'minor_version', :'modified_timestamp' => :'modified_timestamp', :'notes' => :'notes', @@ -287,6 +304,7 @@ def self.attribute_map :'provision_status' => :'provision_status', :'reduced_functionality_mode' => :'reduced_functionality_mode', :'release_group' => :'release_group', + :'rtr_state' => :'rtr_state', :'serial_number' => :'serial_number', :'service_pack_major' => :'service_pack_major', :'service_pack_minor' => :'service_pack_minor', @@ -313,6 +331,7 @@ def self.openapi_types :'agent_load_flags' => :'String', :'agent_local_time' => :'String', :'agent_version' => :'String', + :'base_image_version' => :'String', :'bios_manufacturer' => :'String', :'bios_version' => :'String', :'build_number' => :'String', @@ -325,6 +344,7 @@ def self.openapi_types :'connection_ip' => :'String', :'connection_mac_address' => :'String', :'cpu_signature' => :'String', + :'cpu_vendor' => :'String', :'default_gateway_ip' => :'String', :'deployment_type' => :'String', :'detection_suppression_status' => :'String', @@ -332,11 +352,13 @@ def self.openapi_types :'device_policies' => :'DeviceMappedDevicePolicies', :'email' => :'String', :'external_ip' => :'String', + :'filesystem_containment_status' => :'String', :'first_login_timestamp' => :'String', :'first_login_user' => :'String', :'first_seen' => :'String', :'group_hash' => :'String', :'groups' => :'Array', + :'host_deleted_status' => :'String', :'host_hidden_status' => :'String', :'host_utc_offset' => :'String', :'hostname' => :'String', @@ -359,6 +381,7 @@ def self.openapi_types :'major_version' => :'String', :'managed_apps' => :'DeviceManagedApps', :'meta' => :'DeviceDeviceMeta', + :'migration_completed_time' => :'String', :'minor_version' => :'String', :'modified_timestamp' => :'String', :'notes' => :'Array', @@ -386,6 +409,7 @@ def self.openapi_types :'provision_status' => :'String', :'reduced_functionality_mode' => :'String', :'release_group' => :'String', + :'rtr_state' => :'String', :'serial_number' => :'String', :'service_pack_major' => :'String', :'service_pack_minor' => :'String', @@ -434,6 +458,10 @@ def initialize(attributes = {}) self.agent_version = attributes[:'agent_version'] end + if attributes.key?(:'base_image_version') + self.base_image_version = attributes[:'base_image_version'] + end + if attributes.key?(:'bios_manufacturer') self.bios_manufacturer = attributes[:'bios_manufacturer'] end @@ -482,6 +510,10 @@ def initialize(attributes = {}) self.cpu_signature = attributes[:'cpu_signature'] end + if attributes.key?(:'cpu_vendor') + self.cpu_vendor = attributes[:'cpu_vendor'] + end + if attributes.key?(:'default_gateway_ip') self.default_gateway_ip = attributes[:'default_gateway_ip'] end @@ -510,6 +542,10 @@ def initialize(attributes = {}) self.external_ip = attributes[:'external_ip'] end + if attributes.key?(:'filesystem_containment_status') + self.filesystem_containment_status = attributes[:'filesystem_containment_status'] + end + if attributes.key?(:'first_login_timestamp') self.first_login_timestamp = attributes[:'first_login_timestamp'] end @@ -532,6 +568,10 @@ def initialize(attributes = {}) end end + if attributes.key?(:'host_deleted_status') + self.host_deleted_status = attributes[:'host_deleted_status'] + end + if attributes.key?(:'host_hidden_status') self.host_hidden_status = attributes[:'host_hidden_status'] end @@ -620,6 +660,10 @@ def initialize(attributes = {}) self.meta = attributes[:'meta'] end + if attributes.key?(:'migration_completed_time') + self.migration_completed_time = attributes[:'migration_completed_time'] + end + if attributes.key?(:'minor_version') self.minor_version = attributes[:'minor_version'] end @@ -738,6 +782,10 @@ def initialize(attributes = {}) self.release_group = attributes[:'release_group'] end + if attributes.key?(:'rtr_state') + self.rtr_state = attributes[:'rtr_state'] + end + if attributes.key?(:'serial_number') self.serial_number = attributes[:'serial_number'] end @@ -820,6 +868,7 @@ def ==(o) agent_load_flags == o.agent_load_flags && agent_local_time == o.agent_local_time && agent_version == o.agent_version && + base_image_version == o.base_image_version && bios_manufacturer == o.bios_manufacturer && bios_version == o.bios_version && build_number == o.build_number && @@ -832,6 +881,7 @@ def ==(o) connection_ip == o.connection_ip && connection_mac_address == o.connection_mac_address && cpu_signature == o.cpu_signature && + cpu_vendor == o.cpu_vendor && default_gateway_ip == o.default_gateway_ip && deployment_type == o.deployment_type && detection_suppression_status == o.detection_suppression_status && @@ -839,11 +889,13 @@ def ==(o) device_policies == o.device_policies && email == o.email && external_ip == o.external_ip && + filesystem_containment_status == o.filesystem_containment_status && first_login_timestamp == o.first_login_timestamp && first_login_user == o.first_login_user && first_seen == o.first_seen && group_hash == o.group_hash && groups == o.groups && + host_deleted_status == o.host_deleted_status && host_hidden_status == o.host_hidden_status && host_utc_offset == o.host_utc_offset && hostname == o.hostname && @@ -866,6 +918,7 @@ def ==(o) major_version == o.major_version && managed_apps == o.managed_apps && meta == o.meta && + migration_completed_time == o.migration_completed_time && minor_version == o.minor_version && modified_timestamp == o.modified_timestamp && notes == o.notes && @@ -893,6 +946,7 @@ def ==(o) provision_status == o.provision_status && reduced_functionality_mode == o.reduced_functionality_mode && release_group == o.release_group && + rtr_state == o.rtr_state && serial_number == o.serial_number && service_pack_major == o.service_pack_major && service_pack_minor == o.service_pack_minor && @@ -916,7 +970,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [agent_load_flags, agent_local_time, agent_version, bios_manufacturer, bios_version, build_number, chassis_type, chassis_type_desc, cid, config_id_base, config_id_build, config_id_platform, connection_ip, connection_mac_address, cpu_signature, default_gateway_ip, deployment_type, detection_suppression_status, device_id, device_policies, email, external_ip, first_login_timestamp, first_login_user, first_seen, group_hash, groups, host_hidden_status, host_utc_offset, hostname, instance_id, internet_exposure, k8s_cluster_git_version, k8s_cluster_id, k8s_cluster_version, kernel_version, last_login_timestamp, last_login_uid, last_login_user, last_login_user_sid, last_reboot, last_seen, linux_sensor_mode, local_ip, mac_address, machine_domain, major_version, managed_apps, meta, minor_version, modified_timestamp, notes, os_build, os_product_name, os_version, ou, platform_id, platform_name, pod_annotations, pod_host_ip4, pod_host_ip6, pod_hostname, pod_id, pod_ip4, pod_ip6, pod_labels, pod_name, pod_namespace, pod_service_account_name, pointer_size, policies, product_type, product_type_desc, provision_status, reduced_functionality_mode, release_group, serial_number, service_pack_major, service_pack_minor, service_provider, service_provider_account_id, site_name, slow_changing_modified_timestamp, status, system_manufacturer, system_product_name, tags, zone_group].hash + [agent_load_flags, agent_local_time, agent_version, base_image_version, bios_manufacturer, bios_version, build_number, chassis_type, chassis_type_desc, cid, config_id_base, config_id_build, config_id_platform, connection_ip, connection_mac_address, cpu_signature, cpu_vendor, default_gateway_ip, deployment_type, detection_suppression_status, device_id, device_policies, email, external_ip, filesystem_containment_status, first_login_timestamp, first_login_user, first_seen, group_hash, groups, host_deleted_status, host_hidden_status, host_utc_offset, hostname, instance_id, internet_exposure, k8s_cluster_git_version, k8s_cluster_id, k8s_cluster_version, kernel_version, last_login_timestamp, last_login_uid, last_login_user, last_login_user_sid, last_reboot, last_seen, linux_sensor_mode, local_ip, mac_address, machine_domain, major_version, managed_apps, meta, migration_completed_time, minor_version, modified_timestamp, notes, os_build, os_product_name, os_version, ou, platform_id, platform_name, pod_annotations, pod_host_ip4, pod_host_ip6, pod_hostname, pod_id, pod_ip4, pod_ip6, pod_labels, pod_name, pod_namespace, pod_service_account_name, pointer_size, policies, product_type, product_type_desc, provision_status, reduced_functionality_mode, release_group, rtr_state, serial_number, service_pack_major, service_pack_minor, service_provider, service_provider_account_id, site_name, slow_changing_modified_timestamp, status, system_manufacturer, system_product_name, tags, zone_group].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/device_mapped_device_policies.rb b/lib/crimson-falcon/models/device_mapped_device_policies.rb index 36533fb6..a1307c49 100644 --- a/lib/crimson-falcon/models/device_mapped_device_policies.rb +++ b/lib/crimson-falcon/models/device_mapped_device_policies.rb @@ -38,10 +38,14 @@ class DeviceMappedDevicePolicies attr_accessor :aws_verified_access + attr_accessor :customer_entitlements + attr_accessor :data_protection attr_accessor :device_control + attr_accessor :falcon_for_it + attr_accessor :fim attr_accessor :firewall @@ -56,6 +60,8 @@ class DeviceMappedDevicePolicies attr_accessor :kubernetes_admission_control + attr_accessor :legacy_os + attr_accessor :mobile attr_accessor :netskope @@ -70,6 +76,8 @@ class DeviceMappedDevicePolicies attr_accessor :system_tray + attr_accessor :vulnerability_management + attr_accessor :ztl # Attribute mapping from ruby-style variable name to JSON key. @@ -78,8 +86,10 @@ def self.attribute_map :'airlock' => :'airlock', :'automox' => :'automox', :'aws_verified_access' => :'aws-verified-access', + :'customer_entitlements' => :'customer-entitlements', :'data_protection' => :'data-protection', :'device_control' => :'device_control', + :'falcon_for_it' => :'falcon-for-it', :'fim' => :'fim', :'firewall' => :'firewall', :'global_config' => :'global_config', @@ -87,6 +97,7 @@ def self.attribute_map :'identity_protection' => :'identity-protection', :'jumpcloud' => :'jumpcloud', :'kubernetes_admission_control' => :'kubernetes-admission-control', + :'legacy_os' => :'legacy-os', :'mobile' => :'mobile', :'netskope' => :'netskope', :'prevention' => :'prevention', @@ -94,6 +105,7 @@ def self.attribute_map :'sca' => :'sca', :'sensor_update' => :'sensor_update', :'system_tray' => :'system-tray', + :'vulnerability_management' => :'vulnerability-management', :'ztl' => :'ztl' } end @@ -109,8 +121,10 @@ def self.openapi_types :'airlock' => :'DeviceDevicePolicy', :'automox' => :'DeviceDevicePolicy', :'aws_verified_access' => :'DeviceDevicePolicy', + :'customer_entitlements' => :'DeviceDevicePolicy', :'data_protection' => :'DeviceDevicePolicy', :'device_control' => :'DeviceDevicePolicy', + :'falcon_for_it' => :'DeviceDevicePolicy', :'fim' => :'DeviceDevicePolicy', :'firewall' => :'DeviceDevicePolicy', :'global_config' => :'DeviceDevicePolicy', @@ -118,6 +132,7 @@ def self.openapi_types :'identity_protection' => :'DeviceDevicePolicy', :'jumpcloud' => :'DeviceDevicePolicy', :'kubernetes_admission_control' => :'DeviceDevicePolicy', + :'legacy_os' => :'DeviceDevicePolicy', :'mobile' => :'DeviceDevicePolicy', :'netskope' => :'DeviceDevicePolicy', :'prevention' => :'DeviceDevicePolicy', @@ -125,6 +140,7 @@ def self.openapi_types :'sca' => :'DeviceDevicePolicy', :'sensor_update' => :'DeviceDevicePolicy', :'system_tray' => :'DeviceDevicePolicy', + :'vulnerability_management' => :'DeviceDevicePolicy', :'ztl' => :'DeviceDevicePolicy' } end @@ -162,6 +178,10 @@ def initialize(attributes = {}) self.aws_verified_access = attributes[:'aws_verified_access'] end + if attributes.key?(:'customer_entitlements') + self.customer_entitlements = attributes[:'customer_entitlements'] + end + if attributes.key?(:'data_protection') self.data_protection = attributes[:'data_protection'] end @@ -170,6 +190,10 @@ def initialize(attributes = {}) self.device_control = attributes[:'device_control'] end + if attributes.key?(:'falcon_for_it') + self.falcon_for_it = attributes[:'falcon_for_it'] + end + if attributes.key?(:'fim') self.fim = attributes[:'fim'] end @@ -198,6 +222,10 @@ def initialize(attributes = {}) self.kubernetes_admission_control = attributes[:'kubernetes_admission_control'] end + if attributes.key?(:'legacy_os') + self.legacy_os = attributes[:'legacy_os'] + end + if attributes.key?(:'mobile') self.mobile = attributes[:'mobile'] end @@ -226,6 +254,10 @@ def initialize(attributes = {}) self.system_tray = attributes[:'system_tray'] end + if attributes.key?(:'vulnerability_management') + self.vulnerability_management = attributes[:'vulnerability_management'] + end + if attributes.key?(:'ztl') self.ztl = attributes[:'ztl'] end @@ -252,8 +284,10 @@ def ==(o) airlock == o.airlock && automox == o.automox && aws_verified_access == o.aws_verified_access && + customer_entitlements == o.customer_entitlements && data_protection == o.data_protection && device_control == o.device_control && + falcon_for_it == o.falcon_for_it && fim == o.fim && firewall == o.firewall && global_config == o.global_config && @@ -261,6 +295,7 @@ def ==(o) identity_protection == o.identity_protection && jumpcloud == o.jumpcloud && kubernetes_admission_control == o.kubernetes_admission_control && + legacy_os == o.legacy_os && mobile == o.mobile && netskope == o.netskope && prevention == o.prevention && @@ -268,6 +303,7 @@ def ==(o) sca == o.sca && sensor_update == o.sensor_update && system_tray == o.system_tray && + vulnerability_management == o.vulnerability_management && ztl == o.ztl end @@ -280,7 +316,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [airlock, automox, aws_verified_access, data_protection, device_control, fim, firewall, global_config, host_retention, identity_protection, jumpcloud, kubernetes_admission_control, mobile, netskope, prevention, remote_response, sca, sensor_update, system_tray, ztl].hash + [airlock, automox, aws_verified_access, customer_entitlements, data_protection, device_control, falcon_for_it, fim, firewall, global_config, host_retention, identity_protection, jumpcloud, kubernetes_admission_control, legacy_os, mobile, netskope, prevention, remote_response, sca, sensor_update, system_tray, vulnerability_management, ztl].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/deviceapi_device_details_response_swagger.rb b/lib/crimson-falcon/models/deviceapi_device_details_response_swagger.rb index 9ffb215b..d36c0a59 100644 --- a/lib/crimson-falcon/models/deviceapi_device_details_response_swagger.rb +++ b/lib/crimson-falcon/models/deviceapi_device_details_response_swagger.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/deviceapi_device_response.rb b/lib/crimson-falcon/models/deviceapi_device_response.rb index 64f60d98..302433a4 100644 --- a/lib/crimson-falcon/models/deviceapi_device_response.rb +++ b/lib/crimson-falcon/models/deviceapi_device_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DeviceapiRequestMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/deviceapi_device_swagger.rb b/lib/crimson-falcon/models/deviceapi_device_swagger.rb index c9f2363b..b93c7d71 100644 --- a/lib/crimson-falcon/models/deviceapi_device_swagger.rb +++ b/lib/crimson-falcon/models/deviceapi_device_swagger.rb @@ -38,6 +38,8 @@ class DeviceapiDeviceSwagger attr_accessor :agent_version + attr_accessor :base_image_version + attr_accessor :bios_manufacturer attr_accessor :bios_version @@ -78,6 +80,8 @@ class DeviceapiDeviceSwagger attr_accessor :external_ip + attr_accessor :filesystem_containment_status + attr_accessor :first_login_timestamp attr_accessor :first_seen @@ -130,6 +134,8 @@ class DeviceapiDeviceSwagger attr_accessor :meta + attr_accessor :migration_completed_time + attr_accessor :minor_version attr_accessor :modified_timestamp @@ -184,6 +190,8 @@ class DeviceapiDeviceSwagger attr_accessor :release_group + attr_accessor :rtr_state + attr_accessor :serial_number attr_accessor :service_pack_major @@ -212,6 +220,7 @@ def self.attribute_map :'agent_load_flags' => :'agent_load_flags', :'agent_local_time' => :'agent_local_time', :'agent_version' => :'agent_version', + :'base_image_version' => :'base_image_version', :'bios_manufacturer' => :'bios_manufacturer', :'bios_version' => :'bios_version', :'build_number' => :'build_number', @@ -232,6 +241,7 @@ def self.attribute_map :'device_policies' => :'device_policies', :'email' => :'email', :'external_ip' => :'external_ip', + :'filesystem_containment_status' => :'filesystem_containment_status', :'first_login_timestamp' => :'first_login_timestamp', :'first_seen' => :'first_seen', :'group_hash' => :'group_hash', @@ -258,6 +268,7 @@ def self.attribute_map :'major_version' => :'major_version', :'managed_apps' => :'managed_apps', :'meta' => :'meta', + :'migration_completed_time' => :'migration_completed_time', :'minor_version' => :'minor_version', :'modified_timestamp' => :'modified_timestamp', :'notes' => :'notes', @@ -285,6 +296,7 @@ def self.attribute_map :'provision_status' => :'provision_status', :'reduced_functionality_mode' => :'reduced_functionality_mode', :'release_group' => :'release_group', + :'rtr_state' => :'rtr_state', :'serial_number' => :'serial_number', :'service_pack_major' => :'service_pack_major', :'service_pack_minor' => :'service_pack_minor', @@ -310,6 +322,7 @@ def self.openapi_types :'agent_load_flags' => :'String', :'agent_local_time' => :'String', :'agent_version' => :'String', + :'base_image_version' => :'String', :'bios_manufacturer' => :'String', :'bios_version' => :'String', :'build_number' => :'String', @@ -330,6 +343,7 @@ def self.openapi_types :'device_policies' => :'DeviceMappedDevicePolicies', :'email' => :'String', :'external_ip' => :'String', + :'filesystem_containment_status' => :'String', :'first_login_timestamp' => :'String', :'first_seen' => :'String', :'group_hash' => :'String', @@ -356,6 +370,7 @@ def self.openapi_types :'major_version' => :'String', :'managed_apps' => :'DeviceManagedApps', :'meta' => :'DeviceDeviceMeta', + :'migration_completed_time' => :'String', :'minor_version' => :'String', :'modified_timestamp' => :'String', :'notes' => :'Array', @@ -383,6 +398,7 @@ def self.openapi_types :'provision_status' => :'String', :'reduced_functionality_mode' => :'String', :'release_group' => :'String', + :'rtr_state' => :'String', :'serial_number' => :'String', :'service_pack_major' => :'String', :'service_pack_minor' => :'String', @@ -430,6 +446,10 @@ def initialize(attributes = {}) self.agent_version = attributes[:'agent_version'] end + if attributes.key?(:'base_image_version') + self.base_image_version = attributes[:'base_image_version'] + end + if attributes.key?(:'bios_manufacturer') self.bios_manufacturer = attributes[:'bios_manufacturer'] end @@ -510,6 +530,10 @@ def initialize(attributes = {}) self.external_ip = attributes[:'external_ip'] end + if attributes.key?(:'filesystem_containment_status') + self.filesystem_containment_status = attributes[:'filesystem_containment_status'] + end + if attributes.key?(:'first_login_timestamp') self.first_login_timestamp = attributes[:'first_login_timestamp'] end @@ -616,6 +640,10 @@ def initialize(attributes = {}) self.meta = attributes[:'meta'] end + if attributes.key?(:'migration_completed_time') + self.migration_completed_time = attributes[:'migration_completed_time'] + end + if attributes.key?(:'minor_version') self.minor_version = attributes[:'minor_version'] end @@ -734,6 +762,10 @@ def initialize(attributes = {}) self.release_group = attributes[:'release_group'] end + if attributes.key?(:'rtr_state') + self.rtr_state = attributes[:'rtr_state'] + end + if attributes.key?(:'serial_number') self.serial_number = attributes[:'serial_number'] end @@ -812,6 +844,7 @@ def ==(o) agent_load_flags == o.agent_load_flags && agent_local_time == o.agent_local_time && agent_version == o.agent_version && + base_image_version == o.base_image_version && bios_manufacturer == o.bios_manufacturer && bios_version == o.bios_version && build_number == o.build_number && @@ -832,6 +865,7 @@ def ==(o) device_policies == o.device_policies && email == o.email && external_ip == o.external_ip && + filesystem_containment_status == o.filesystem_containment_status && first_login_timestamp == o.first_login_timestamp && first_seen == o.first_seen && group_hash == o.group_hash && @@ -858,6 +892,7 @@ def ==(o) major_version == o.major_version && managed_apps == o.managed_apps && meta == o.meta && + migration_completed_time == o.migration_completed_time && minor_version == o.minor_version && modified_timestamp == o.modified_timestamp && notes == o.notes && @@ -885,6 +920,7 @@ def ==(o) provision_status == o.provision_status && reduced_functionality_mode == o.reduced_functionality_mode && release_group == o.release_group && + rtr_state == o.rtr_state && serial_number == o.serial_number && service_pack_major == o.service_pack_major && service_pack_minor == o.service_pack_minor && @@ -907,7 +943,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [agent_load_flags, agent_local_time, agent_version, bios_manufacturer, bios_version, build_number, chassis_type, chassis_type_desc, cid, config_id_base, config_id_build, config_id_platform, connection_ip, connection_mac_address, cpu_signature, cpu_vendor, default_gateway_ip, deployment_type, detection_suppression_status, device_id, device_policies, email, external_ip, first_login_timestamp, first_seen, group_hash, groups, host_hidden_status, host_utc_offset, hostname, instance_id, internet_exposure, k8s_cluster_git_version, k8s_cluster_id, k8s_cluster_version, kernel_version, last_login_timestamp, last_login_uid, last_login_user, last_login_user_sid, last_reboot, last_seen, linux_sensor_mode, local_ip, mac_address, machine_domain, major_version, managed_apps, meta, minor_version, modified_timestamp, notes, os_build, os_product_name, os_version, ou, platform_id, platform_name, pod_annotations, pod_host_ip4, pod_host_ip6, pod_hostname, pod_id, pod_ip4, pod_ip6, pod_labels, pod_name, pod_namespace, pod_service_account_name, pointer_size, policies, product_type, product_type_desc, provision_status, reduced_functionality_mode, release_group, serial_number, service_pack_major, service_pack_minor, service_provider, service_provider_account_id, site_name, status, system_manufacturer, system_product_name, tags, zone_group].hash + [agent_load_flags, agent_local_time, agent_version, base_image_version, bios_manufacturer, bios_version, build_number, chassis_type, chassis_type_desc, cid, config_id_base, config_id_build, config_id_platform, connection_ip, connection_mac_address, cpu_signature, cpu_vendor, default_gateway_ip, deployment_type, detection_suppression_status, device_id, device_policies, email, external_ip, filesystem_containment_status, first_login_timestamp, first_seen, group_hash, groups, host_hidden_status, host_utc_offset, hostname, instance_id, internet_exposure, k8s_cluster_git_version, k8s_cluster_id, k8s_cluster_version, kernel_version, last_login_timestamp, last_login_uid, last_login_user, last_login_user_sid, last_reboot, last_seen, linux_sensor_mode, local_ip, mac_address, machine_domain, major_version, managed_apps, meta, migration_completed_time, minor_version, modified_timestamp, notes, os_build, os_product_name, os_version, ou, platform_id, platform_name, pod_annotations, pod_host_ip4, pod_host_ip6, pod_hostname, pod_id, pod_ip4, pod_ip6, pod_labels, pod_name, pod_namespace, pod_service_account_name, pointer_size, policies, product_type, product_type_desc, provision_status, reduced_functionality_mode, release_group, rtr_state, serial_number, service_pack_major, service_pack_minor, service_provider, service_provider_account_id, site_name, status, system_manufacturer, system_product_name, tags, zone_group].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/deviceapi_groups_response_v1.rb b/lib/crimson-falcon/models/deviceapi_groups_response_v1.rb index 534c138d..61044ab4 100644 --- a/lib/crimson-falcon/models/deviceapi_groups_response_v1.rb +++ b/lib/crimson-falcon/models/deviceapi_groups_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/deviceapi_login_history_response_v1.rb b/lib/crimson-falcon/models/deviceapi_login_history_response_v1.rb index 0caa1ad1..a8518903 100644 --- a/lib/crimson-falcon/models/deviceapi_login_history_response_v1.rb +++ b/lib/crimson-falcon/models/deviceapi_login_history_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/deviceapi_network_address_history_response_v1.rb b/lib/crimson-falcon/models/deviceapi_network_address_history_response_v1.rb index e76c7aaf..c98fd47c 100644 --- a/lib/crimson-falcon/models/deviceapi_network_address_history_response_v1.rb +++ b/lib/crimson-falcon/models/deviceapi_network_address_history_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/deviceapi_update_device_tags_swagger_v1.rb b/lib/crimson-falcon/models/deviceapi_update_device_tags_swagger_v1.rb index 6a62f5a1..8838f92f 100644 --- a/lib/crimson-falcon/models/deviceapi_update_device_tags_swagger_v1.rb +++ b/lib/crimson-falcon/models/deviceapi_update_device_tags_swagger_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_action_entities_response_v1.rb b/lib/crimson-falcon/models/domain_action_entities_response_v1.rb index 2a5a627d..3a1f8f51 100644 --- a/lib/crimson-falcon/models/domain_action_entities_response_v1.rb +++ b/lib/crimson-falcon/models/domain_action_entities_response_v1.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_actor_document.rb b/lib/crimson-falcon/models/domain_actor_document.rb index a14d6bfc..4112cfe4 100644 --- a/lib/crimson-falcon/models/domain_actor_document.rb +++ b/lib/crimson-falcon/models/domain_actor_document.rb @@ -252,17 +252,17 @@ def self.openapi_types { :'active' => :'Boolean', :'actor_type' => :'String', - :'capabilities' => :'Array', - :'capability' => :'DomainEntity', + :'capabilities' => :'Array', + :'capability' => :'Object', :'created_date' => :'Integer', :'description' => :'String', :'description_length' => :'Integer', :'develops_threats' => :'Array', :'develops_threats_count' => :'Integer', :'ecrime_kill_chain' => :'DomainECrimeKillChain', - :'entitlements' => :'Array', + :'entitlements' => :'Array', :'first_activity_date' => :'Integer', - :'group' => :'DomainEntity', + :'group' => :'Object', :'has_subgroup' => :'Array', :'has_subgroup_actors_count' => :'Integer', :'has_successor' => :'Array', @@ -281,13 +281,13 @@ def self.openapi_types :'known_as' => :'String', :'last_activity_date' => :'Integer', :'last_modified_date' => :'Integer', - :'motivations' => :'Array', + :'motivations' => :'Array', :'name' => :'String', :'notify_users' => :'Boolean', - :'objectives' => :'Array', - :'origins' => :'Array', + :'objectives' => :'Array', + :'origins' => :'Array', :'recent_alerting' => :'Integer', - :'region' => :'DomainEntity', + :'region' => :'Object', :'rich_text_description' => :'String', :'sells_threats' => :'Array', :'sells_threats_count' => :'Integer', @@ -296,9 +296,9 @@ def self.openapi_types :'status' => :'String', :'supports' => :'Array', :'supports_actors_count' => :'Integer', - :'target_countries' => :'Array', - :'target_industries' => :'Array', - :'target_regions' => :'Array', + :'target_countries' => :'Array', + :'target_industries' => :'Array', + :'target_regions' => :'Array', :'thumbnail' => :'DomainImage', :'url' => :'String', :'uses_indicators_count' => :'Integer', diff --git a/lib/crimson-falcon/models/domain_actors_response.rb b/lib/crimson-falcon/models/domain_actors_response.rb index b3500547..c1511dc7 100644 --- a/lib/crimson-falcon/models/domain_actors_response.rb +++ b/lib/crimson-falcon/models/domain_actors_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_aggregate_cluster_assessments_response.rb b/lib/crimson-falcon/models/domain_aggregate_cluster_assessments_response.rb new file mode 100644 index 00000000..2cd411c5 --- /dev/null +++ b/lib/crimson-falcon/models/domain_aggregate_cluster_assessments_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAggregateClusterAssessmentsResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregateClusterAssessmentsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregateClusterAssessmentsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aggregate_failed_asset_count_by_severity_response.rb b/lib/crimson-falcon/models/domain_aggregate_failed_asset_count_by_severity_response.rb new file mode 100644 index 00000000..a51c9778 --- /dev/null +++ b/lib/crimson-falcon/models/domain_aggregate_failed_asset_count_by_severity_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAggregateFailedAssetCountBySeverityResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregateFailedAssetCountBySeverityResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregateFailedAssetCountBySeverityResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aggregate_failed_assets_by_rules_response.rb b/lib/crimson-falcon/models/domain_aggregate_failed_assets_by_rules_response.rb new file mode 100644 index 00000000..c2c60eec --- /dev/null +++ b/lib/crimson-falcon/models/domain_aggregate_failed_assets_by_rules_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAggregateFailedAssetsByRulesResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregateFailedAssetsByRulesResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregateFailedAssetsByRulesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aggregate_failed_rules_by_clusters_response.rb b/lib/crimson-falcon/models/domain_aggregate_failed_rules_by_clusters_response.rb new file mode 100644 index 00000000..e888985b --- /dev/null +++ b/lib/crimson-falcon/models/domain_aggregate_failed_rules_by_clusters_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAggregateFailedRulesByClustersResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregateFailedRulesByClustersResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregateFailedRulesByClustersResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aggregate_failed_rules_by_images_response.rb b/lib/crimson-falcon/models/domain_aggregate_failed_rules_by_images_response.rb new file mode 100644 index 00000000..c23309f3 --- /dev/null +++ b/lib/crimson-falcon/models/domain_aggregate_failed_rules_by_images_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAggregateFailedRulesByImagesResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregateFailedRulesByImagesResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregateFailedRulesByImagesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aggregate_failed_rules_count_by_severity_response.rb b/lib/crimson-falcon/models/domain_aggregate_failed_rules_count_by_severity_response.rb new file mode 100644 index 00000000..db9e658c --- /dev/null +++ b/lib/crimson-falcon/models/domain_aggregate_failed_rules_count_by_severity_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAggregateFailedRulesCountBySeverityResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregateFailedRulesCountBySeverityResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregateFailedRulesCountBySeverityResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aggregate_image_assessments_response.rb b/lib/crimson-falcon/models/domain_aggregate_image_assessments_response.rb new file mode 100644 index 00000000..c033a555 --- /dev/null +++ b/lib/crimson-falcon/models/domain_aggregate_image_assessments_response.rb @@ -0,0 +1,264 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAggregateImageAssessmentsResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'DomainComplianceFindingsGroupedByImagesWithScroll' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregateImageAssessmentsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregateImageAssessmentsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + self.resources = attributes[:'resources'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aggregate_rules_assessments_response.rb b/lib/crimson-falcon/models/domain_aggregate_rules_assessments_response.rb new file mode 100644 index 00000000..ef01503d --- /dev/null +++ b/lib/crimson-falcon/models/domain_aggregate_rules_assessments_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAggregateRulesAssessmentsResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregateRulesAssessmentsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregateRulesAssessmentsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aggregate_rules_by_status_response.rb b/lib/crimson-falcon/models/domain_aggregate_rules_by_status_response.rb new file mode 100644 index 00000000..69decc15 --- /dev/null +++ b/lib/crimson-falcon/models/domain_aggregate_rules_by_status_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAggregateRulesByStatusResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAggregateRulesByStatusResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAggregateRulesByStatusResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aggregates_response.rb b/lib/crimson-falcon/models/domain_aggregates_response.rb index 46ea06ae..98d10c8f 100644 --- a/lib/crimson-falcon/models/domain_aggregates_response.rb +++ b/lib/crimson-falcon/models/domain_aggregates_response.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_api_combined_findings_response_v1.rb b/lib/crimson-falcon/models/domain_api_combined_findings_response_v1.rb index 7604f531..dfdc4c60 100644 --- a/lib/crimson-falcon/models/domain_api_combined_findings_response_v1.rb +++ b/lib/crimson-falcon/models/domain_api_combined_findings_response_v1.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DomainAPIQueryMetaV1', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/domain_api_compliance_control_v1.rb b/lib/crimson-falcon/models/domain_api_compliance_control_v1.rb new file mode 100644 index 00000000..3a2319cd --- /dev/null +++ b/lib/crimson-falcon/models/domain_api_compliance_control_v1.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAPIComplianceControlV1 + attr_accessor :control + + attr_accessor :id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'control' => :'control', + :'id' => :'id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'control' => :'String', + :'id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAPIComplianceControlV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAPIComplianceControlV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'control') + self.control = attributes[:'control'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @control.nil? + invalid_properties.push('invalid value for "control", control cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @control.nil? + return false if @id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + control == o.control && + id == o.id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [control, id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_api_compliance_mapping_v1.rb b/lib/crimson-falcon/models/domain_api_compliance_mapping_v1.rb new file mode 100644 index 00000000..54c01e39 --- /dev/null +++ b/lib/crimson-falcon/models/domain_api_compliance_mapping_v1.rb @@ -0,0 +1,264 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAPIComplianceMappingV1 + attr_accessor :controls + + attr_accessor :framework + + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'controls' => :'controls', + :'framework' => :'framework', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'controls' => :'Array', + :'framework' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAPIComplianceMappingV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAPIComplianceMappingV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'controls') + if (value = attributes[:'controls']).is_a?(Array) + self.controls = value + end + end + + if attributes.key?(:'framework') + self.framework = attributes[:'framework'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @framework.nil? + invalid_properties.push('invalid value for "framework", framework cannot be nil.') + end + + if @version.nil? + invalid_properties.push('invalid value for "version", version cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @framework.nil? + return false if @version.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + controls == o.controls && + framework == o.framework && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [controls, framework, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_api_error.rb b/lib/crimson-falcon/models/domain_api_error.rb index 41c5de33..4bdc202a 100644 --- a/lib/crimson-falcon/models/domain_api_error.rb +++ b/lib/crimson-falcon/models/domain_api_error.rb @@ -32,18 +32,18 @@ module Falcon class DomainAPIError - attr_accessor :errors + attr_accessor :code - attr_accessor :meta + attr_accessor :message - attr_accessor :resources + attr_accessor :submission # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'errors' => :'errors', - :'meta' => :'meta', - :'resources' => :'resources' + :'code' => :'code', + :'message' => :'message', + :'submission' => :'submission' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', - :'resources' => :'Object' + :'code' => :'Integer', + :'message' => :'String', + :'submission' => :'DomainCreateSubmissionV1ErrorResponse' } end @@ -82,18 +82,16 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'errors') - if (value = attributes[:'errors']).is_a?(Array) - self.errors = value - end + if attributes.key?(:'code') + self.code = attributes[:'code'] end - if attributes.key?(:'meta') - self.meta = attributes[:'meta'] + if attributes.key?(:'message') + self.message = attributes[:'message'] end - if attributes.key?(:'resources') - self.resources = attributes[:'resources'] + if attributes.key?(:'submission') + self.submission = attributes[:'submission'] end end @@ -101,12 +99,12 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @errors.nil? - invalid_properties.push('invalid value for "errors", errors cannot be nil.') + if @code.nil? + invalid_properties.push('invalid value for "code", code cannot be nil.') end - if @meta.nil? - invalid_properties.push('invalid value for "meta", meta cannot be nil.') + if @message.nil? + invalid_properties.push('invalid value for "message", message cannot be nil.') end invalid_properties @@ -115,8 +113,8 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @errors.nil? - return false if @meta.nil? + return false if @code.nil? + return false if @message.nil? true end @@ -125,9 +123,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - errors == o.errors && - meta == o.meta && - resources == o.resources + code == o.code && + message == o.message && + submission == o.submission end # @see the `==` method @@ -139,7 +137,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [errors, meta, resources].hash + [code, message, submission].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_evaluation_logic_entities_response_v1.rb b/lib/crimson-falcon/models/domain_api_evaluation_logic_entities_response_v1.rb index 84efc547..d3542415 100644 --- a/lib/crimson-falcon/models/domain_api_evaluation_logic_entities_response_v1.rb +++ b/lib/crimson-falcon/models/domain_api_evaluation_logic_entities_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_api_evaluation_logic_item_v1.rb b/lib/crimson-falcon/models/domain_api_evaluation_logic_item_v1.rb index 290147a3..776f00ab 100644 --- a/lib/crimson-falcon/models/domain_api_evaluation_logic_item_v1.rb +++ b/lib/crimson-falcon/models/domain_api_evaluation_logic_item_v1.rb @@ -36,8 +36,6 @@ class DomainAPIEvaluationLogicItemV1 attr_accessor :comparisons - attr_accessor :description - attr_accessor :determined_by_comparison attr_accessor :existence_check @@ -48,6 +46,8 @@ class DomainAPIEvaluationLogicItemV1 attr_accessor :negate + attr_accessor :status + attr_accessor :title attr_accessor :type @@ -57,12 +57,12 @@ def self.attribute_map { :'comparison_check' => :'comparison_check', :'comparisons' => :'comparisons', - :'description' => :'description', :'determined_by_comparison' => :'determined_by_comparison', :'existence_check' => :'existence_check', :'id' => :'id', :'items' => :'items', :'negate' => :'negate', + :'status' => :'status', :'title' => :'title', :'type' => :'type' } @@ -78,12 +78,12 @@ def self.openapi_types { :'comparison_check' => :'String', :'comparisons' => :'DomainAPIEvaluationLogicComparisonsV1', - :'description' => :'String', :'determined_by_comparison' => :'Boolean', :'existence_check' => :'String', :'id' => :'Integer', :'items' => :'Array', :'negate' => :'Boolean', + :'status' => :'String', :'title' => :'String', :'type' => :'String' } @@ -118,10 +118,6 @@ def initialize(attributes = {}) self.comparisons = attributes[:'comparisons'] end - if attributes.key?(:'description') - self.description = attributes[:'description'] - end - if attributes.key?(:'determined_by_comparison') self.determined_by_comparison = attributes[:'determined_by_comparison'] end @@ -144,6 +140,10 @@ def initialize(attributes = {}) self.negate = attributes[:'negate'] end + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + if attributes.key?(:'title') self.title = attributes[:'title'] end @@ -157,6 +157,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + if @title.nil? invalid_properties.push('invalid value for "title", title cannot be nil.') end @@ -171,6 +175,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @status.nil? return false if @title.nil? return false if @type.nil? true @@ -183,12 +188,12 @@ def ==(o) self.class == o.class && comparison_check == o.comparison_check && comparisons == o.comparisons && - description == o.description && determined_by_comparison == o.determined_by_comparison && existence_check == o.existence_check && id == o.id && items == o.items && negate == o.negate && + status == o.status && title == o.title && type == o.type end @@ -202,7 +207,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [comparison_check, comparisons, description, determined_by_comparison, existence_check, id, items, negate, title, type].hash + [comparison_check, comparisons, determined_by_comparison, existence_check, id, items, negate, status, title, type].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_evaluation_logic_v1.rb b/lib/crimson-falcon/models/domain_api_evaluation_logic_v1.rb index d61f1604..dd41910f 100644 --- a/lib/crimson-falcon/models/domain_api_evaluation_logic_v1.rb +++ b/lib/crimson-falcon/models/domain_api_evaluation_logic_v1.rb @@ -32,30 +32,18 @@ module Falcon class DomainAPIEvaluationLogicV1 - # Refers to an asset identifier attr_accessor :aid - # Refers to a customer identifier attr_accessor :cid - # Refers to a point in time when evaluation logic data was created in the system - attr_accessor :created_timestamp - - # Refers to a label given to the entity that provided this data - attr_accessor :data_provider + attr_accessor :complex_check_operator - attr_accessor :host_info + attr_accessor :created_timestamp - # Contains a unique identifier for the evaluation logic attr_accessor :id - # Refers to the actual evaluation logic data attr_accessor :logic - # Refers to the identifier of the scanner that generated the evaluation logic - attr_accessor :scanner_id - - # Refers to a point in time when evaluation logic data was updated in the system attr_accessor :updated_timestamp # Attribute mapping from ruby-style variable name to JSON key. @@ -63,12 +51,10 @@ def self.attribute_map { :'aid' => :'aid', :'cid' => :'cid', + :'complex_check_operator' => :'complex_check_operator', :'created_timestamp' => :'created_timestamp', - :'data_provider' => :'data_provider', - :'host_info' => :'host_info', :'id' => :'id', :'logic' => :'logic', - :'scanner_id' => :'scanner_id', :'updated_timestamp' => :'updated_timestamp' } end @@ -83,12 +69,10 @@ def self.openapi_types { :'aid' => :'String', :'cid' => :'String', + :'complex_check_operator' => :'String', :'created_timestamp' => :'String', - :'data_provider' => :'String', - :'host_info' => :'DomainAPIEvaluationLogicHostInfoV1', :'id' => :'String', :'logic' => :'Array', - :'scanner_id' => :'String', :'updated_timestamp' => :'String' } end @@ -122,16 +106,12 @@ def initialize(attributes = {}) self.cid = attributes[:'cid'] end - if attributes.key?(:'created_timestamp') - self.created_timestamp = attributes[:'created_timestamp'] - end - - if attributes.key?(:'data_provider') - self.data_provider = attributes[:'data_provider'] + if attributes.key?(:'complex_check_operator') + self.complex_check_operator = attributes[:'complex_check_operator'] end - if attributes.key?(:'host_info') - self.host_info = attributes[:'host_info'] + if attributes.key?(:'created_timestamp') + self.created_timestamp = attributes[:'created_timestamp'] end if attributes.key?(:'id') @@ -144,10 +124,6 @@ def initialize(attributes = {}) end end - if attributes.key?(:'scanner_id') - self.scanner_id = attributes[:'scanner_id'] - end - if attributes.key?(:'updated_timestamp') self.updated_timestamp = attributes[:'updated_timestamp'] end @@ -178,12 +154,10 @@ def ==(o) self.class == o.class && aid == o.aid && cid == o.cid && + complex_check_operator == o.complex_check_operator && created_timestamp == o.created_timestamp && - data_provider == o.data_provider && - host_info == o.host_info && id == o.id && logic == o.logic && - scanner_id == o.scanner_id && updated_timestamp == o.updated_timestamp end @@ -196,7 +170,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [aid, cid, created_timestamp, data_provider, host_info, id, logic, scanner_id, updated_timestamp].hash + [aid, cid, complex_check_operator, created_timestamp, id, logic, updated_timestamp].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_finding_rule_v1.rb b/lib/crimson-falcon/models/domain_api_finding_rule_v1.rb index a5953381..aebaaef7 100644 --- a/lib/crimson-falcon/models/domain_api_finding_rule_v1.rb +++ b/lib/crimson-falcon/models/domain_api_finding_rule_v1.rb @@ -38,6 +38,8 @@ class DomainAPIFindingRuleV1 attr_accessor :cce + attr_accessor :compliance_mappings + attr_accessor :edited attr_accessor :group_id @@ -68,6 +70,7 @@ def self.attribute_map :'authority' => :'authority', :'benchmark_type' => :'benchmark_type', :'cce' => :'cce', + :'compliance_mappings' => :'compliance_mappings', :'edited' => :'edited', :'group_id' => :'group_id', :'group_name' => :'group_name', @@ -94,6 +97,7 @@ def self.openapi_types :'authority' => :'String', :'benchmark_type' => :'String', :'cce' => :'String', + :'compliance_mappings' => :'Array', :'edited' => :'Boolean', :'group_id' => :'String', :'group_name' => :'String', @@ -142,6 +146,12 @@ def initialize(attributes = {}) self.cce = attributes[:'cce'] end + if attributes.key?(:'compliance_mappings') + if (value = attributes[:'compliance_mappings']).is_a?(Array) + self.compliance_mappings = value + end + end + if attributes.key?(:'edited') self.edited = attributes[:'edited'] end @@ -224,6 +234,7 @@ def ==(o) authority == o.authority && benchmark_type == o.benchmark_type && cce == o.cce && + compliance_mappings == o.compliance_mappings && edited == o.edited && group_id == o.group_id && group_name == o.group_name && @@ -247,7 +258,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [authority, benchmark_type, cce, edited, group_id, group_name, id, last_edited_timestamp, mitre_attack_tactics, name, platform_name, policy_id, policy_name, recommendation_id, severity].hash + [authority, benchmark_type, cce, compliance_mappings, edited, group_id, group_name, id, last_edited_timestamp, mitre_attack_tactics, name, platform_name, policy_id, policy_name, recommendation_id, severity].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_host_info_facet_v1.rb b/lib/crimson-falcon/models/domain_api_host_info_facet_v1.rb index d9529683..e88b7316 100644 --- a/lib/crimson-falcon/models/domain_api_host_info_facet_v1.rb +++ b/lib/crimson-falcon/models/domain_api_host_info_facet_v1.rb @@ -32,6 +32,8 @@ module Falcon class DomainAPIHostInfoFacetV1 + attr_accessor :agent_version + attr_accessor :asset_criticality attr_accessor :build_number @@ -73,6 +75,7 @@ class DomainAPIHostInfoFacetV1 # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'agent_version' => :'agent_version', :'asset_criticality' => :'asset_criticality', :'build_number' => :'build_number', :'groups' => :'groups', @@ -103,6 +106,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'agent_version' => :'String', :'asset_criticality' => :'DomainAssetCriticalityInfoV1', :'build_number' => :'String', :'groups' => :'Array', @@ -146,6 +150,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'agent_version') + self.agent_version = attributes[:'agent_version'] + end + if attributes.key?(:'asset_criticality') self.asset_criticality = attributes[:'asset_criticality'] end @@ -255,6 +263,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + agent_version == o.agent_version && asset_criticality == o.asset_criticality && build_number == o.build_number && groups == o.groups && @@ -285,7 +294,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [asset_criticality, build_number, groups, host_hidden_status, id, last_seen_timestamp, local_ip, mac_address, machine_domain, name, os_version, ou, platform_name, product_type_desc, serial_number, site_name, system_manufacturer, system_product_name, tags].hash + [agent_version, asset_criticality, build_number, groups, host_hidden_status, id, last_seen_timestamp, local_ip, mac_address, machine_domain, name, os_version, ou, platform_name, product_type_desc, serial_number, site_name, system_manufacturer, system_product_name, tags].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_remediation_info.rb b/lib/crimson-falcon/models/domain_api_remediation_info.rb new file mode 100644 index 00000000..f09e458a --- /dev/null +++ b/lib/crimson-falcon/models/domain_api_remediation_info.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAPIRemediationInfo + # Contains the ID of the minimum remediation + attr_accessor :minimum_id + + # Contains the timestamp when earliest remediation was published + attr_accessor :patch_publication_date + + # Contains the ID of the recommended remediation + attr_accessor :recommended_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'minimum_id' => :'minimum_id', + :'patch_publication_date' => :'patch_publication_date', + :'recommended_id' => :'recommended_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'minimum_id' => :'String', + :'patch_publication_date' => :'String', + :'recommended_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAPIRemediationInfo` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAPIRemediationInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'minimum_id') + self.minimum_id = attributes[:'minimum_id'] + end + + if attributes.key?(:'patch_publication_date') + self.patch_publication_date = attributes[:'patch_publication_date'] + end + + if attributes.key?(:'recommended_id') + self.recommended_id = attributes[:'recommended_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + minimum_id == o.minimum_id && + patch_publication_date == o.patch_publication_date && + recommended_id == o.recommended_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [minimum_id, patch_publication_date, recommended_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_api_remediation_v2.rb b/lib/crimson-falcon/models/domain_api_remediation_v2.rb index e19a8cf8..dfd2ce7f 100644 --- a/lib/crimson-falcon/models/domain_api_remediation_v2.rb +++ b/lib/crimson-falcon/models/domain_api_remediation_v2.rb @@ -41,6 +41,12 @@ class DomainAPIRemediationV2 # Link to the remediation page for the vendor attr_accessor :link + # The timestamp that this remediation was published + attr_accessor :patch_publication_date + + # The type of recommendation for this remediation, usually either 'recommended' or 'minimum' + attr_accessor :recommendation_type + # Relevant reference for the remediation that can be used to get additional details for the remediation. For example, a KB number that needs to be installed for a KB_SECURITY_UPDATE attr_accessor :reference @@ -56,6 +62,8 @@ def self.attribute_map :'action' => :'action', :'id' => :'id', :'link' => :'link', + :'patch_publication_date' => :'patch_publication_date', + :'recommendation_type' => :'recommendation_type', :'reference' => :'reference', :'title' => :'title', :'vendor_url' => :'vendor_url' @@ -73,6 +81,8 @@ def self.openapi_types :'action' => :'String', :'id' => :'String', :'link' => :'String', + :'patch_publication_date' => :'String', + :'recommendation_type' => :'String', :'reference' => :'String', :'title' => :'String', :'vendor_url' => :'String' @@ -112,6 +122,14 @@ def initialize(attributes = {}) self.link = attributes[:'link'] end + if attributes.key?(:'patch_publication_date') + self.patch_publication_date = attributes[:'patch_publication_date'] + end + + if attributes.key?(:'recommendation_type') + self.recommendation_type = attributes[:'recommendation_type'] + end + if attributes.key?(:'reference') self.reference = attributes[:'reference'] end @@ -176,6 +194,8 @@ def ==(o) action == o.action && id == o.id && link == o.link && + patch_publication_date == o.patch_publication_date && + recommendation_type == o.recommendation_type && reference == o.reference && title == o.title && vendor_url == o.vendor_url @@ -190,7 +210,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [action, id, link, reference, title, vendor_url].hash + [action, id, link, patch_publication_date, recommendation_type, reference, title, vendor_url].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_rule_details_response_v1.rb b/lib/crimson-falcon/models/domain_api_rule_details_response_v1.rb index 286cadec..481c4e84 100644 --- a/lib/crimson-falcon/models/domain_api_rule_details_response_v1.rb +++ b/lib/crimson-falcon/models/domain_api_rule_details_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_api_rule_details_v1.rb b/lib/crimson-falcon/models/domain_api_rule_details_v1.rb index 47b7dd21..9b67aea1 100644 --- a/lib/crimson-falcon/models/domain_api_rule_details_v1.rb +++ b/lib/crimson-falcon/models/domain_api_rule_details_v1.rb @@ -44,6 +44,8 @@ class DomainAPIRuleDetailsV1 attr_accessor :benchmark_title + attr_accessor :compliance_mappings + attr_accessor :description attr_accessor :id @@ -71,6 +73,7 @@ def self.attribute_map :'audit_procedure' => :'audit_procedure', :'authority' => :'authority', :'benchmark_title' => :'benchmark_title', + :'compliance_mappings' => :'compliance_mappings', :'description' => :'description', :'id' => :'id', :'impact_statement' => :'impact_statement', @@ -97,6 +100,7 @@ def self.openapi_types :'audit_procedure' => :'String', :'authority' => :'String', :'benchmark_title' => :'String', + :'compliance_mappings' => :'Array', :'description' => :'String', :'id' => :'String', :'impact_statement' => :'String', @@ -156,6 +160,12 @@ def initialize(attributes = {}) self.benchmark_title = attributes[:'benchmark_title'] end + if attributes.key?(:'compliance_mappings') + if (value = attributes[:'compliance_mappings']).is_a?(Array) + self.compliance_mappings = value + end + end + if attributes.key?(:'description') self.description = attributes[:'description'] end @@ -289,6 +299,7 @@ def ==(o) audit_procedure == o.audit_procedure && authority == o.authority && benchmark_title == o.benchmark_title && + compliance_mappings == o.compliance_mappings && description == o.description && id == o.id && impact_statement == o.impact_statement && @@ -309,7 +320,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [additional_information, applicable_profiles, assessment_status, audit_procedure, authority, benchmark_title, description, id, impact_statement, platform, rationale_statement, recommendation_id, references, remediation_procedure, title].hash + [additional_information, applicable_profiles, assessment_status, audit_procedure, authority, benchmark_title, compliance_mappings, description, id, impact_statement, platform, rationale_statement, recommendation_id, references, remediation_procedure, title].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_vulnerability_app_v2.rb b/lib/crimson-falcon/models/domain_api_vulnerability_app_v2.rb index 3bfedfa3..a2b6b75b 100644 --- a/lib/crimson-falcon/models/domain_api_vulnerability_app_v2.rb +++ b/lib/crimson-falcon/models/domain_api_vulnerability_app_v2.rb @@ -38,11 +38,15 @@ class DomainAPIVulnerabilityAppV2 # Refers to the un-normalized combination of product name and version of the product for which the vulnerability has been detected attr_accessor :product_name_version + # Refers to the normalized vendor name of the product for which the vulnerability has been detected + attr_accessor :vendor_normalized + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'product_name_normalized' => :'product_name_normalized', - :'product_name_version' => :'product_name_version' + :'product_name_version' => :'product_name_version', + :'vendor_normalized' => :'vendor_normalized' } end @@ -55,7 +59,8 @@ def self.acceptable_attributes def self.openapi_types { :'product_name_normalized' => :'String', - :'product_name_version' => :'String' + :'product_name_version' => :'String', + :'vendor_normalized' => :'String' } end @@ -87,6 +92,10 @@ def initialize(attributes = {}) if attributes.key?(:'product_name_version') self.product_name_version = attributes[:'product_name_version'] end + + if attributes.key?(:'vendor_normalized') + self.vendor_normalized = attributes[:'vendor_normalized'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -101,6 +110,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "product_name_version", product_name_version cannot be nil.') end + if @vendor_normalized.nil? + invalid_properties.push('invalid value for "vendor_normalized", vendor_normalized cannot be nil.') + end + invalid_properties end @@ -109,6 +122,7 @@ def list_invalid_properties def valid? return false if @product_name_normalized.nil? return false if @product_name_version.nil? + return false if @vendor_normalized.nil? true end @@ -118,7 +132,8 @@ def ==(o) return true if self.equal?(o) self.class == o.class && product_name_normalized == o.product_name_normalized && - product_name_version == o.product_name_version + product_name_version == o.product_name_version && + vendor_normalized == o.vendor_normalized end # @see the `==` method @@ -130,7 +145,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [product_name_normalized, product_name_version].hash + [product_name_normalized, product_name_version, vendor_normalized].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_vulnerability_cve_details_facet_v2.rb b/lib/crimson-falcon/models/domain_api_vulnerability_cve_details_facet_v2.rb index e96b3ac3..1a503471 100644 --- a/lib/crimson-falcon/models/domain_api_vulnerability_cve_details_facet_v2.rb +++ b/lib/crimson-falcon/models/domain_api_vulnerability_cve_details_facet_v2.rb @@ -40,6 +40,9 @@ class DomainAPIVulnerabilityCVEDetailsFacetV2 attr_accessor :cisa_info + # The CWE ids corresponding to this vulnerability instance + attr_accessor :cwes + # Refers to description of the vulnerability attr_accessor :description @@ -90,6 +93,7 @@ def self.attribute_map :'actors' => :'actors', :'base_score' => :'base_score', :'cisa_info' => :'cisa_info', + :'cwes' => :'cwes', :'description' => :'description', :'exploit_status' => :'exploit_status', :'exploitability_score' => :'exploitability_score', @@ -119,6 +123,7 @@ def self.openapi_types :'actors' => :'Array', :'base_score' => :'Float', :'cisa_info' => :'DomainAPIVulnerabilityCVECISAInfo', + :'cwes' => :'Array', :'description' => :'String', :'exploit_status' => :'Integer', :'exploitability_score' => :'Float', @@ -172,6 +177,12 @@ def initialize(attributes = {}) self.cisa_info = attributes[:'cisa_info'] end + if attributes.key?(:'cwes') + if (value = attributes[:'cwes']).is_a?(Array) + self.cwes = value + end + end + if attributes.key?(:'description') self.description = attributes[:'description'] end @@ -265,6 +276,7 @@ def ==(o) actors == o.actors && base_score == o.base_score && cisa_info == o.cisa_info && + cwes == o.cwes && description == o.description && exploit_status == o.exploit_status && exploitability_score == o.exploitability_score && @@ -291,7 +303,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [actors, base_score, cisa_info, description, exploit_status, exploitability_score, exprt_rating, id, impact_score, name, published_date, references, remediation_level, severity, spotlight_published_date, types, vector, vendor_advisory].hash + [actors, base_score, cisa_info, cwes, description, exploit_status, exploitability_score, exprt_rating, id, impact_score, name, published_date, references, remediation_level, severity, spotlight_published_date, types, vector, vendor_advisory].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_vulnerability_extended_app_v2.rb b/lib/crimson-falcon/models/domain_api_vulnerability_extended_app_v2.rb index a8290c2b..47e01c3c 100644 --- a/lib/crimson-falcon/models/domain_api_vulnerability_extended_app_v2.rb +++ b/lib/crimson-falcon/models/domain_api_vulnerability_extended_app_v2.rb @@ -34,6 +34,9 @@ module Falcon class DomainAPIVulnerabilityExtendedAppV2 attr_accessor :evaluation_logic + # Contains the timestamp when earliest remediation was published + attr_accessor :patch_publication_date + # Refers to the normalized product name of the product for which the vulnerability has been detected attr_accessor :product_name_normalized @@ -42,17 +45,25 @@ class DomainAPIVulnerabilityExtendedAppV2 attr_accessor :remediation + attr_accessor :remediation_info + # Contains vulnerability status for a particular product - can differentiate in cases where a vulnerability is detected for multiple products attr_accessor :sub_status + # Refers to the normalized vendor name of the product for which the vulnerability has been detected + attr_accessor :vendor_normalized + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'evaluation_logic' => :'evaluation_logic', + :'patch_publication_date' => :'patch_publication_date', :'product_name_normalized' => :'product_name_normalized', :'product_name_version' => :'product_name_version', :'remediation' => :'remediation', - :'sub_status' => :'sub_status' + :'remediation_info' => :'remediation_info', + :'sub_status' => :'sub_status', + :'vendor_normalized' => :'vendor_normalized' } end @@ -65,10 +76,13 @@ def self.acceptable_attributes def self.openapi_types { :'evaluation_logic' => :'DomainAPIEvaluationLogicV1', + :'patch_publication_date' => :'String', :'product_name_normalized' => :'String', :'product_name_version' => :'String', :'remediation' => :'DomainAPIRemediationIDs', - :'sub_status' => :'String' + :'remediation_info' => :'DomainAPIRemediationInfo', + :'sub_status' => :'String', + :'vendor_normalized' => :'String' } end @@ -97,6 +111,10 @@ def initialize(attributes = {}) self.evaluation_logic = attributes[:'evaluation_logic'] end + if attributes.key?(:'patch_publication_date') + self.patch_publication_date = attributes[:'patch_publication_date'] + end + if attributes.key?(:'product_name_normalized') self.product_name_normalized = attributes[:'product_name_normalized'] end @@ -109,9 +127,17 @@ def initialize(attributes = {}) self.remediation = attributes[:'remediation'] end + if attributes.key?(:'remediation_info') + self.remediation_info = attributes[:'remediation_info'] + end + if attributes.key?(:'sub_status') self.sub_status = attributes[:'sub_status'] end + + if attributes.key?(:'vendor_normalized') + self.vendor_normalized = attributes[:'vendor_normalized'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -126,6 +152,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "product_name_version", product_name_version cannot be nil.') end + if @vendor_normalized.nil? + invalid_properties.push('invalid value for "vendor_normalized", vendor_normalized cannot be nil.') + end + invalid_properties end @@ -134,6 +164,7 @@ def list_invalid_properties def valid? return false if @product_name_normalized.nil? return false if @product_name_version.nil? + return false if @vendor_normalized.nil? true end @@ -143,10 +174,13 @@ def ==(o) return true if self.equal?(o) self.class == o.class && evaluation_logic == o.evaluation_logic && + patch_publication_date == o.patch_publication_date && product_name_normalized == o.product_name_normalized && product_name_version == o.product_name_version && remediation == o.remediation && - sub_status == o.sub_status + remediation_info == o.remediation_info && + sub_status == o.sub_status && + vendor_normalized == o.vendor_normalized end # @see the `==` method @@ -158,7 +192,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [evaluation_logic, product_name_normalized, product_name_version, remediation, sub_status].hash + [evaluation_logic, patch_publication_date, product_name_normalized, product_name_version, remediation, remediation_info, sub_status, vendor_normalized].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_vulnerability_host_facet_v2.rb b/lib/crimson-falcon/models/domain_api_vulnerability_host_facet_v2.rb index 2d9351fd..492294f0 100644 --- a/lib/crimson-falcon/models/domain_api_vulnerability_host_facet_v2.rb +++ b/lib/crimson-falcon/models/domain_api_vulnerability_host_facet_v2.rb @@ -38,9 +38,15 @@ class DomainAPIVulnerabilityHostFacetV2 # Refers to one or more roles that have been assigned to the assets attr_accessor :asset_roles + # Confidence level of the asset association to the CID + attr_accessor :confidence_label + # Refers to a logic grouping of assets attr_accessor :groups + # Indicates whether the asset has run containers + attr_accessor :has_run_container + # A timestamp corresponding to the last day when we detected activity coming from an asset attr_accessor :host_last_seen_timestamp @@ -86,6 +92,9 @@ class DomainAPIVulnerabilityHostFacetV2 # Refers to the name or label assigned to the physical or logical location within a network infrastructure where the host is situated attr_accessor :site_name + # The list of subsidiaries associated with the asset + attr_accessor :subsidiaries + # Refers to the company or organization that designed and produced the hardware system or device attr_accessor :system_manufacturer @@ -100,7 +109,9 @@ def self.attribute_map { :'asset_criticality' => :'asset_criticality', :'asset_roles' => :'asset_roles', + :'confidence_label' => :'confidence_label', :'groups' => :'groups', + :'has_run_container' => :'has_run_container', :'host_last_seen_timestamp' => :'host_last_seen_timestamp', :'hostname' => :'hostname', :'instance_id' => :'instance_id', @@ -116,6 +127,7 @@ def self.attribute_map :'service_provider' => :'service_provider', :'service_provider_account_id' => :'service_provider_account_id', :'site_name' => :'site_name', + :'subsidiaries' => :'subsidiaries', :'system_manufacturer' => :'system_manufacturer', :'tags' => :'tags', :'third_party_asset_ids' => :'third_party_asset_ids' @@ -132,7 +144,9 @@ def self.openapi_types { :'asset_criticality' => :'String', :'asset_roles' => :'Array', + :'confidence_label' => :'String', :'groups' => :'Array', + :'has_run_container' => :'Boolean', :'host_last_seen_timestamp' => :'String', :'hostname' => :'String', :'instance_id' => :'String', @@ -148,6 +162,7 @@ def self.openapi_types :'service_provider' => :'String', :'service_provider_account_id' => :'String', :'site_name' => :'String', + :'subsidiaries' => :'Array', :'system_manufacturer' => :'String', :'tags' => :'Array', :'third_party_asset_ids' => :'Array' @@ -185,12 +200,20 @@ def initialize(attributes = {}) end end + if attributes.key?(:'confidence_label') + self.confidence_label = attributes[:'confidence_label'] + end + if attributes.key?(:'groups') if (value = attributes[:'groups']).is_a?(Array) self.groups = value end end + if attributes.key?(:'has_run_container') + self.has_run_container = attributes[:'has_run_container'] + end + if attributes.key?(:'host_last_seen_timestamp') self.host_last_seen_timestamp = attributes[:'host_last_seen_timestamp'] end @@ -251,6 +274,12 @@ def initialize(attributes = {}) self.site_name = attributes[:'site_name'] end + if attributes.key?(:'subsidiaries') + if (value = attributes[:'subsidiaries']).is_a?(Array) + self.subsidiaries = value + end + end + if attributes.key?(:'system_manufacturer') self.system_manufacturer = attributes[:'system_manufacturer'] end @@ -323,7 +352,9 @@ def ==(o) self.class == o.class && asset_criticality == o.asset_criticality && asset_roles == o.asset_roles && + confidence_label == o.confidence_label && groups == o.groups && + has_run_container == o.has_run_container && host_last_seen_timestamp == o.host_last_seen_timestamp && hostname == o.hostname && instance_id == o.instance_id && @@ -339,6 +370,7 @@ def ==(o) service_provider == o.service_provider && service_provider_account_id == o.service_provider_account_id && site_name == o.site_name && + subsidiaries == o.subsidiaries && system_manufacturer == o.system_manufacturer && tags == o.tags && third_party_asset_ids == o.third_party_asset_ids @@ -353,7 +385,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [asset_criticality, asset_roles, groups, host_last_seen_timestamp, hostname, instance_id, internet_exposure, local_ip, machine_domain, managed_by, os_build, os_version, ou, platform, product_type_desc, service_provider, service_provider_account_id, site_name, system_manufacturer, tags, third_party_asset_ids].hash + [asset_criticality, asset_roles, confidence_label, groups, has_run_container, host_last_seen_timestamp, hostname, instance_id, internet_exposure, local_ip, machine_domain, managed_by, os_build, os_version, ou, platform, product_type_desc, service_provider, service_provider_account_id, site_name, subsidiaries, system_manufacturer, tags, third_party_asset_ids].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_api_vulnerability_service_v2.rb b/lib/crimson-falcon/models/domain_api_vulnerability_service_v2.rb new file mode 100644 index 00000000..c60d3171 --- /dev/null +++ b/lib/crimson-falcon/models/domain_api_vulnerability_service_v2.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAPIVulnerabilityServiceV2 + # Represents the service's exposed port + attr_accessor :port + + # Represents the service's protocol + attr_accessor :protocol + + # Represents the service's transport + attr_accessor :transport + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'port' => :'port', + :'protocol' => :'protocol', + :'transport' => :'transport' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'port' => :'Integer', + :'protocol' => :'String', + :'transport' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAPIVulnerabilityServiceV2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAPIVulnerabilityServiceV2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'port') + self.port = attributes[:'port'] + end + + if attributes.key?(:'protocol') + self.protocol = attributes[:'protocol'] + end + + if attributes.key?(:'transport') + self.transport = attributes[:'transport'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + port == o.port && + protocol == o.protocol && + transport == o.transport + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [port, protocol, transport].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_api_vulnerability_v2.rb b/lib/crimson-falcon/models/domain_api_vulnerability_v2.rb index e0236ac1..25231cac 100644 --- a/lib/crimson-falcon/models/domain_api_vulnerability_v2.rb +++ b/lib/crimson-falcon/models/domain_api_vulnerability_v2.rb @@ -46,6 +46,9 @@ class DomainAPIVulnerabilityV2 # A timestamp corresponding to the point in time when the vulnerability has no longer been detected (eg: it got fixed) attr_accessor :closed_timestamp + # Represents the confidence level of a vulnerability + attr_accessor :confidence + # A timestamp corresponding to the point in time when the vulnerability has been created (detected) in our system attr_accessor :created_timestamp @@ -61,6 +64,9 @@ class DomainAPIVulnerabilityV2 attr_accessor :remediation + # Contains details about the vulnerable services + attr_accessor :services + # Current status of a vulnerability (open, closed, reopen) attr_accessor :status @@ -80,12 +86,14 @@ def self.attribute_map :'apps' => :'apps', :'cid' => :'cid', :'closed_timestamp' => :'closed_timestamp', + :'confidence' => :'confidence', :'created_timestamp' => :'created_timestamp', :'cve' => :'cve', :'data_providers' => :'data_providers', :'host_info' => :'host_info', :'id' => :'id', :'remediation' => :'remediation', + :'services' => :'services', :'status' => :'status', :'suppression_info' => :'suppression_info', :'updated_timestamp' => :'updated_timestamp', @@ -106,12 +114,14 @@ def self.openapi_types :'apps' => :'Array', :'cid' => :'String', :'closed_timestamp' => :'String', + :'confidence' => :'String', :'created_timestamp' => :'String', :'cve' => :'DomainAPIVulnerabilityCVEDetailsFacetV2', :'data_providers' => :'Array', :'host_info' => :'DomainAPIVulnerabilityHostFacetV2', :'id' => :'String', :'remediation' => :'DomainAPIVulnerabilityRemediationFacetV2', + :'services' => :'Array', :'status' => :'String', :'suppression_info' => :'DomainAPIVulnerabilitySuppressionInfoV2', :'updated_timestamp' => :'String', @@ -162,6 +172,10 @@ def initialize(attributes = {}) self.closed_timestamp = attributes[:'closed_timestamp'] end + if attributes.key?(:'confidence') + self.confidence = attributes[:'confidence'] + end + if attributes.key?(:'created_timestamp') self.created_timestamp = attributes[:'created_timestamp'] end @@ -188,6 +202,12 @@ def initialize(attributes = {}) self.remediation = attributes[:'remediation'] end + if attributes.key?(:'services') + if (value = attributes[:'services']).is_a?(Array) + self.services = value + end + end + if attributes.key?(:'status') self.status = attributes[:'status'] end @@ -258,12 +278,14 @@ def ==(o) apps == o.apps && cid == o.cid && closed_timestamp == o.closed_timestamp && + confidence == o.confidence && created_timestamp == o.created_timestamp && cve == o.cve && data_providers == o.data_providers && host_info == o.host_info && id == o.id && remediation == o.remediation && + services == o.services && status == o.status && suppression_info == o.suppression_info && updated_timestamp == o.updated_timestamp && @@ -279,7 +301,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [aid, app, apps, cid, closed_timestamp, created_timestamp, cve, data_providers, host_info, id, remediation, status, suppression_info, updated_timestamp, vulnerability_id].hash + [aid, app, apps, cid, closed_timestamp, confidence, created_timestamp, cve, data_providers, host_info, id, remediation, services, status, suppression_info, updated_timestamp, vulnerability_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/msaspec_paging.rb b/lib/crimson-falcon/models/domain_assessment_paging.rb similarity index 93% rename from lib/crimson-falcon/models/msaspec_paging.rb rename to lib/crimson-falcon/models/domain_assessment_paging.rb index a236432b..0be4b614 100644 --- a/lib/crimson-falcon/models/msaspec_paging.rb +++ b/lib/crimson-falcon/models/domain_assessment_paging.rb @@ -31,7 +31,9 @@ require 'time' module Falcon - class MsaspecPaging + class DomainAssessmentPaging + attr_accessor :expires_at + attr_accessor :limit attr_accessor :offset @@ -41,6 +43,7 @@ class MsaspecPaging # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'expires_at' => :'expires_at', :'limit' => :'limit', :'offset' => :'offset', :'total' => :'total' @@ -55,8 +58,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'expires_at' => :'Integer', :'limit' => :'Integer', - :'offset' => :'Integer', + :'offset' => :'String', :'total' => :'Integer' } end @@ -71,17 +75,21 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::MsaspecPaging` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAssessmentPaging` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::MsaspecPaging`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAssessmentPaging`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } + if attributes.key?(:'expires_at') + self.expires_at = attributes[:'expires_at'] + end + if attributes.key?(:'limit') self.limit = attributes[:'limit'] end @@ -99,10 +107,6 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @limit.nil? - invalid_properties.push('invalid value for "limit", limit cannot be nil.') - end - if @offset.nil? invalid_properties.push('invalid value for "offset", offset cannot be nil.') end @@ -117,7 +121,6 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @limit.nil? return false if @offset.nil? return false if @total.nil? true @@ -128,6 +131,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + expires_at == o.expires_at && limit == o.limit && offset == o.offset && total == o.total @@ -142,7 +146,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [limit, offset, total].hash + [expires_at, limit, offset, total].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_assessments_by_score_response.rb b/lib/crimson-falcon/models/domain_assessments_by_score_response.rb index b470b4d9..1d11c5bc 100644 --- a/lib/crimson-falcon/models/domain_assessments_by_score_response.rb +++ b/lib/crimson-falcon/models/domain_assessments_by_score_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DomainSearchAfterMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/domain_assessments_response.rb b/lib/crimson-falcon/models/domain_assessments_response.rb index fb70de79..96be4a71 100644 --- a/lib/crimson-falcon/models/domain_assessments_response.rb +++ b/lib/crimson-falcon/models/domain_assessments_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DomainMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/domain_audit_response.rb b/lib/crimson-falcon/models/domain_audit_response.rb index b258f763..b4a7a767 100644 --- a/lib/crimson-falcon/models/domain_audit_response.rb +++ b/lib/crimson-falcon/models/domain_audit_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DomainMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/domain_aws_account_resource_metadata.rb b/lib/crimson-falcon/models/domain_aws_account_resource_metadata.rb new file mode 100644 index 00000000..70748f38 --- /dev/null +++ b/lib/crimson-falcon/models/domain_aws_account_resource_metadata.rb @@ -0,0 +1,293 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAWSAccountResourceMetadata + # AWS CloudTrail bucket name to store logs. + attr_accessor :aws_cloudtrail_bucket_name + + # AWS CloudTrail region. + attr_accessor :aws_cloudtrail_region + + # AWS Eventbus ARN. + attr_accessor :aws_eventbus_arn + + attr_accessor :eventbus_name + + # ID assigned for use with cross account IAM role access. + attr_accessor :external_id + + # The full arn of the IAM role created in this account to control access. + attr_accessor :iam_role_arn + + attr_accessor :intermediate_role_arn + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'aws_cloudtrail_bucket_name' => :'aws_cloudtrail_bucket_name', + :'aws_cloudtrail_region' => :'aws_cloudtrail_region', + :'aws_eventbus_arn' => :'aws_eventbus_arn', + :'eventbus_name' => :'eventbus_name', + :'external_id' => :'external_id', + :'iam_role_arn' => :'iam_role_arn', + :'intermediate_role_arn' => :'intermediate_role_arn' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'aws_cloudtrail_bucket_name' => :'String', + :'aws_cloudtrail_region' => :'String', + :'aws_eventbus_arn' => :'String', + :'eventbus_name' => :'String', + :'external_id' => :'String', + :'iam_role_arn' => :'String', + :'intermediate_role_arn' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAWSAccountResourceMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAWSAccountResourceMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'aws_cloudtrail_bucket_name') + self.aws_cloudtrail_bucket_name = attributes[:'aws_cloudtrail_bucket_name'] + end + + if attributes.key?(:'aws_cloudtrail_region') + self.aws_cloudtrail_region = attributes[:'aws_cloudtrail_region'] + end + + if attributes.key?(:'aws_eventbus_arn') + self.aws_eventbus_arn = attributes[:'aws_eventbus_arn'] + end + + if attributes.key?(:'eventbus_name') + self.eventbus_name = attributes[:'eventbus_name'] + end + + if attributes.key?(:'external_id') + self.external_id = attributes[:'external_id'] + end + + if attributes.key?(:'iam_role_arn') + self.iam_role_arn = attributes[:'iam_role_arn'] + end + + if attributes.key?(:'intermediate_role_arn') + self.intermediate_role_arn = attributes[:'intermediate_role_arn'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + aws_cloudtrail_bucket_name == o.aws_cloudtrail_bucket_name && + aws_cloudtrail_region == o.aws_cloudtrail_region && + aws_eventbus_arn == o.aws_eventbus_arn && + eventbus_name == o.eventbus_name && + external_id == o.external_id && + iam_role_arn == o.iam_role_arn && + intermediate_role_arn == o.intermediate_role_arn + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [aws_cloudtrail_bucket_name, aws_cloudtrail_region, aws_eventbus_arn, eventbus_name, external_id, iam_role_arn, intermediate_role_arn].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_aws_account_v2.rb b/lib/crimson-falcon/models/domain_aws_account_v2.rb index 4be06f51..4dd56da5 100644 --- a/lib/crimson-falcon/models/domain_aws_account_v2.rb +++ b/lib/crimson-falcon/models/domain_aws_account_v2.rb @@ -78,6 +78,10 @@ class DomainAWSAccountV2 attr_accessor :d4c_migrated + attr_accessor :dspm_enabled + + attr_accessor :dspm_role_arn + attr_accessor :environment attr_accessor :eventbus_name @@ -90,6 +94,8 @@ class DomainAWSAccountV2 attr_accessor :intermediate_role_arn + attr_accessor :inventory_filter + # Is CSPM Lite enabled. attr_accessor :is_cspm_lite @@ -100,6 +106,8 @@ class DomainAWSAccountV2 # Up to 34 character AWS provided unique identifier for the organization. attr_accessor :organization_id + attr_accessor :products + attr_accessor :remediation_cloudformation_url attr_accessor :remediation_region @@ -120,6 +128,8 @@ class DomainAWSAccountV2 # Account registration status. attr_accessor :status + attr_accessor :target_ous + attr_accessor :use_existing_cloudtrail attr_accessor :valid @@ -147,15 +157,19 @@ def self.attribute_map :'cspm_enabled' => :'cspm_enabled', :'d4c' => :'d4c', :'d4c_migrated' => :'d4c_migrated', + :'dspm_enabled' => :'dspm_enabled', + :'dspm_role_arn' => :'dspm_role_arn', :'environment' => :'environment', :'eventbus_name' => :'eventbus_name', :'external_id' => :'external_id', :'iam_role_arn' => :'iam_role_arn', :'intermediate_role_arn' => :'intermediate_role_arn', + :'inventory_filter' => :'inventory_filter', :'is_cspm_lite' => :'is_cspm_lite', :'is_custom_rolename' => :'is_custom_rolename', :'is_master' => :'is_master', :'organization_id' => :'organization_id', + :'products' => :'products', :'remediation_cloudformation_url' => :'remediation_cloudformation_url', :'remediation_region' => :'remediation_region', :'remediation_tou_accepted' => :'remediation_tou_accepted', @@ -165,6 +179,7 @@ def self.attribute_map :'sensor_management_enabled' => :'sensor_management_enabled', :'settings' => :'settings', :'status' => :'status', + :'target_ous' => :'target_ous', :'use_existing_cloudtrail' => :'use_existing_cloudtrail', :'valid' => :'valid' } @@ -198,15 +213,19 @@ def self.openapi_types :'cspm_enabled' => :'Boolean', :'d4c' => :'DomainAWSD4CAccountV1', :'d4c_migrated' => :'Boolean', + :'dspm_enabled' => :'Boolean', + :'dspm_role_arn' => :'String', :'environment' => :'String', :'eventbus_name' => :'String', :'external_id' => :'String', :'iam_role_arn' => :'String', :'intermediate_role_arn' => :'String', + :'inventory_filter' => :'Array', :'is_cspm_lite' => :'Boolean', :'is_custom_rolename' => :'Boolean', :'is_master' => :'Boolean', :'organization_id' => :'String', + :'products' => :'Array', :'remediation_cloudformation_url' => :'String', :'remediation_region' => :'String', :'remediation_tou_accepted' => :'Time', @@ -216,6 +235,7 @@ def self.openapi_types :'sensor_management_enabled' => :'Boolean', :'settings' => :'Object', :'status' => :'String', + :'target_ous' => :'Array', :'use_existing_cloudtrail' => :'Boolean', :'valid' => :'Boolean' } @@ -330,6 +350,14 @@ def initialize(attributes = {}) self.d4c_migrated = attributes[:'d4c_migrated'] end + if attributes.key?(:'dspm_enabled') + self.dspm_enabled = attributes[:'dspm_enabled'] + end + + if attributes.key?(:'dspm_role_arn') + self.dspm_role_arn = attributes[:'dspm_role_arn'] + end + if attributes.key?(:'environment') self.environment = attributes[:'environment'] end @@ -350,6 +378,12 @@ def initialize(attributes = {}) self.intermediate_role_arn = attributes[:'intermediate_role_arn'] end + if attributes.key?(:'inventory_filter') + if (value = attributes[:'inventory_filter']).is_a?(Array) + self.inventory_filter = value + end + end + if attributes.key?(:'is_cspm_lite') self.is_cspm_lite = attributes[:'is_cspm_lite'] end @@ -366,6 +400,12 @@ def initialize(attributes = {}) self.organization_id = attributes[:'organization_id'] end + if attributes.key?(:'products') + if (value = attributes[:'products']).is_a?(Array) + self.products = value + end + end + if attributes.key?(:'remediation_cloudformation_url') self.remediation_cloudformation_url = attributes[:'remediation_cloudformation_url'] end @@ -402,6 +442,12 @@ def initialize(attributes = {}) self.status = attributes[:'status'] end + if attributes.key?(:'target_ous') + if (value = attributes[:'target_ous']).is_a?(Array) + self.target_ous = value + end + end + if attributes.key?(:'use_existing_cloudtrail') self.use_existing_cloudtrail = attributes[:'use_existing_cloudtrail'] end @@ -435,6 +481,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "aws_permissions_status", aws_permissions_status cannot be nil.') end + if @inventory_filter.nil? + invalid_properties.push('invalid value for "inventory_filter", inventory_filter cannot be nil.') + end + if @is_custom_rolename.nil? invalid_properties.push('invalid value for "is_custom_rolename", is_custom_rolename cannot be nil.') end @@ -454,6 +504,7 @@ def valid? return false if @id.nil? return false if @updated_at.nil? return false if @aws_permissions_status.nil? + return false if @inventory_filter.nil? return false if @is_custom_rolename.nil? return false if @sensor_management_enabled.nil? true @@ -484,15 +535,19 @@ def ==(o) cspm_enabled == o.cspm_enabled && d4c == o.d4c && d4c_migrated == o.d4c_migrated && + dspm_enabled == o.dspm_enabled && + dspm_role_arn == o.dspm_role_arn && environment == o.environment && eventbus_name == o.eventbus_name && external_id == o.external_id && iam_role_arn == o.iam_role_arn && intermediate_role_arn == o.intermediate_role_arn && + inventory_filter == o.inventory_filter && is_cspm_lite == o.is_cspm_lite && is_custom_rolename == o.is_custom_rolename && is_master == o.is_master && organization_id == o.organization_id && + products == o.products && remediation_cloudformation_url == o.remediation_cloudformation_url && remediation_region == o.remediation_region && remediation_tou_accepted == o.remediation_tou_accepted && @@ -502,6 +557,7 @@ def ==(o) sensor_management_enabled == o.sensor_management_enabled && settings == o.settings && status == o.status && + target_ous == o.target_ous && use_existing_cloudtrail == o.use_existing_cloudtrail && valid == o.valid end @@ -515,7 +571,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [created_at, deleted_at, id, updated_at, account_id, account_name, account_type, active_regions, aws_cloudtrail_bucket_name, aws_cloudtrail_region, aws_eventbus_arn, aws_permissions_status, behavior_assessment_enabled, cid, cloud_scopes, cloudformation_url, conditions, cspm_enabled, d4c, d4c_migrated, environment, eventbus_name, external_id, iam_role_arn, intermediate_role_arn, is_cspm_lite, is_custom_rolename, is_master, organization_id, remediation_cloudformation_url, remediation_region, remediation_tou_accepted, root_account_id, root_iam_role, secondary_role_arn, sensor_management_enabled, settings, status, use_existing_cloudtrail, valid].hash + [created_at, deleted_at, id, updated_at, account_id, account_name, account_type, active_regions, aws_cloudtrail_bucket_name, aws_cloudtrail_region, aws_eventbus_arn, aws_permissions_status, behavior_assessment_enabled, cid, cloud_scopes, cloudformation_url, conditions, cspm_enabled, d4c, d4c_migrated, dspm_enabled, dspm_role_arn, environment, eventbus_name, external_id, iam_role_arn, intermediate_role_arn, inventory_filter, is_cspm_lite, is_custom_rolename, is_master, organization_id, products, remediation_cloudformation_url, remediation_region, remediation_tou_accepted, root_account_id, root_iam_role, secondary_role_arn, sensor_management_enabled, settings, status, target_ous, use_existing_cloudtrail, valid].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_aws_inventory_filter_setting.rb b/lib/crimson-falcon/models/domain_aws_inventory_filter_setting.rb new file mode 100644 index 00000000..8d5d9cf6 --- /dev/null +++ b/lib/crimson-falcon/models/domain_aws_inventory_filter_setting.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainAWSInventoryFilterSetting + attr_accessor :account_id + + attr_accessor :regions + + attr_accessor :service + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'account_id' => :'account_id', + :'regions' => :'regions', + :'service' => :'service' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'account_id' => :'String', + :'regions' => :'Array', + :'service' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAWSInventoryFilterSetting` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAWSInventoryFilterSetting`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'account_id') + self.account_id = attributes[:'account_id'] + end + + if attributes.key?(:'regions') + if (value = attributes[:'regions']).is_a?(Array) + self.regions = value + end + end + + if attributes.key?(:'service') + self.service = attributes[:'service'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @account_id.nil? + invalid_properties.push('invalid value for "account_id", account_id cannot be nil.') + end + + if @regions.nil? + invalid_properties.push('invalid value for "regions", regions cannot be nil.') + end + + if @service.nil? + invalid_properties.push('invalid value for "service", service cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @account_id.nil? + return false if @regions.nil? + return false if @service.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + account_id == o.account_id && + regions == o.regions && + service == o.service + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [account_id, regions, service].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_base_api_vulnerability_v2.rb b/lib/crimson-falcon/models/domain_base_api_vulnerability_v2.rb index af2122bc..fde7ff78 100644 --- a/lib/crimson-falcon/models/domain_base_api_vulnerability_v2.rb +++ b/lib/crimson-falcon/models/domain_base_api_vulnerability_v2.rb @@ -46,6 +46,9 @@ class DomainBaseAPIVulnerabilityV2 # A timestamp corresponding to the point in time when the vulnerability has no longer been detected (eg: it got fixed) attr_accessor :closed_timestamp + # Represents the confidence level of a vulnerability + attr_accessor :confidence + # A timestamp corresponding to the point in time when the vulnerability has been created (detected) in our system attr_accessor :created_timestamp @@ -61,6 +64,9 @@ class DomainBaseAPIVulnerabilityV2 attr_accessor :remediation + # Contains details about the vulnerable services + attr_accessor :services + # Current status of a vulnerability (open, closed, reopen) attr_accessor :status @@ -80,12 +86,14 @@ def self.attribute_map :'apps' => :'apps', :'cid' => :'cid', :'closed_timestamp' => :'closed_timestamp', + :'confidence' => :'confidence', :'created_timestamp' => :'created_timestamp', :'cve' => :'cve', :'data_providers' => :'data_providers', :'host_info' => :'host_info', :'id' => :'id', :'remediation' => :'remediation', + :'services' => :'services', :'status' => :'status', :'suppression_info' => :'suppression_info', :'updated_timestamp' => :'updated_timestamp', @@ -106,12 +114,14 @@ def self.openapi_types :'apps' => :'Array', :'cid' => :'String', :'closed_timestamp' => :'String', + :'confidence' => :'String', :'created_timestamp' => :'String', :'cve' => :'DomainAPIVulnerabilityCVEDetailsFacetV2', :'data_providers' => :'Array', :'host_info' => :'DomainAPIVulnerabilityHostFacetV2', :'id' => :'String', :'remediation' => :'DomainAPIVulnerabilityRemediationFacetV2', + :'services' => :'Array', :'status' => :'String', :'suppression_info' => :'DomainAPIVulnerabilitySuppressionInfoV2', :'updated_timestamp' => :'String', @@ -162,6 +172,10 @@ def initialize(attributes = {}) self.closed_timestamp = attributes[:'closed_timestamp'] end + if attributes.key?(:'confidence') + self.confidence = attributes[:'confidence'] + end + if attributes.key?(:'created_timestamp') self.created_timestamp = attributes[:'created_timestamp'] end @@ -188,6 +202,12 @@ def initialize(attributes = {}) self.remediation = attributes[:'remediation'] end + if attributes.key?(:'services') + if (value = attributes[:'services']).is_a?(Array) + self.services = value + end + end + if attributes.key?(:'status') self.status = attributes[:'status'] end @@ -258,12 +278,14 @@ def ==(o) apps == o.apps && cid == o.cid && closed_timestamp == o.closed_timestamp && + confidence == o.confidence && created_timestamp == o.created_timestamp && cve == o.cve && data_providers == o.data_providers && host_info == o.host_info && id == o.id && remediation == o.remediation && + services == o.services && status == o.status && suppression_info == o.suppression_info && updated_timestamp == o.updated_timestamp && @@ -279,7 +301,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [aid, app, apps, cid, closed_timestamp, created_timestamp, cve, data_providers, host_info, id, remediation, status, suppression_info, updated_timestamp, vulnerability_id].hash + [aid, app, apps, cid, closed_timestamp, confidence, created_timestamp, cve, data_providers, host_info, id, remediation, services, status, suppression_info, updated_timestamp, vulnerability_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_batch_get_cmd_status_response.rb b/lib/crimson-falcon/models/domain_batch_get_cmd_status_response.rb index c7f73ca3..9134f8c9 100644 --- a/lib/crimson-falcon/models/domain_batch_get_cmd_status_response.rb +++ b/lib/crimson-falcon/models/domain_batch_get_cmd_status_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Hash' } end diff --git a/lib/crimson-falcon/models/domain_batch_get_command_response.rb b/lib/crimson-falcon/models/domain_batch_get_command_response.rb index ea295718..30e4f376 100644 --- a/lib/crimson-falcon/models/domain_batch_get_command_response.rb +++ b/lib/crimson-falcon/models/domain_batch_get_command_response.rb @@ -60,8 +60,8 @@ def self.openapi_types { :'batch_get_cmd_req_id' => :'String', :'combined' => :'DomainMultiCommandExecuteResponse', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/domain_batch_init_session_response.rb b/lib/crimson-falcon/models/domain_batch_init_session_response.rb index 8b372606..ca8ab12e 100644 --- a/lib/crimson-falcon/models/domain_batch_init_session_response.rb +++ b/lib/crimson-falcon/models/domain_batch_init_session_response.rb @@ -59,8 +59,8 @@ def self.acceptable_attributes def self.openapi_types { :'batch_id' => :'String', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Hash' } end diff --git a/lib/crimson-falcon/models/domain_batch_refresh_session_response.rb b/lib/crimson-falcon/models/domain_batch_refresh_session_response.rb index 890dcc21..dde3daed 100644 --- a/lib/crimson-falcon/models/domain_batch_refresh_session_response.rb +++ b/lib/crimson-falcon/models/domain_batch_refresh_session_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Hash' } end diff --git a/lib/crimson-falcon/models/domain_behavior.rb b/lib/crimson-falcon/models/domain_behavior.rb index ecc1a85e..18154cdf 100644 --- a/lib/crimson-falcon/models/domain_behavior.rb +++ b/lib/crimson-falcon/models/domain_behavior.rb @@ -54,6 +54,8 @@ class DomainBehavior attr_accessor :filepath + attr_accessor :grouping_ids + attr_accessor :incident_id attr_accessor :incident_ids @@ -102,6 +104,7 @@ def self.attribute_map :'domain' => :'domain', :'exclusion_type' => :'exclusion_type', :'filepath' => :'filepath', + :'grouping_ids' => :'grouping_ids', :'incident_id' => :'incident_id', :'incident_ids' => :'incident_ids', :'ioc_source' => :'ioc_source', @@ -141,6 +144,7 @@ def self.openapi_types :'domain' => :'String', :'exclusion_type' => :'String', :'filepath' => :'String', + :'grouping_ids' => :'Array', :'incident_id' => :'String', :'incident_ids' => :'Array', :'ioc_source' => :'String', @@ -230,6 +234,12 @@ def initialize(attributes = {}) self.filepath = attributes[:'filepath'] end + if attributes.key?(:'grouping_ids') + if (value = attributes[:'grouping_ids']).is_a?(Array) + self.grouping_ids = value + end + end + if attributes.key?(:'incident_id') self.incident_id = attributes[:'incident_id'] end @@ -345,6 +355,7 @@ def ==(o) domain == o.domain && exclusion_type == o.exclusion_type && filepath == o.filepath && + grouping_ids == o.grouping_ids && incident_id == o.incident_id && incident_ids == o.incident_ids && ioc_source == o.ioc_source && @@ -373,7 +384,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [aid, alert_ids, behavior_id, cid, cmdline, compound_tto, detection_ids, display_name, domain, exclusion_type, filepath, incident_id, incident_ids, ioc_source, ioc_type, ioc_value, objective, pattern_disposition, pattern_disposition_details, pattern_id, sha256, tactic, tactic_id, technique, technique_id, template_instance_id, timestamp, user_name].hash + [aid, alert_ids, behavior_id, cid, cmdline, compound_tto, detection_ids, display_name, domain, exclusion_type, filepath, grouping_ids, incident_id, incident_ids, ioc_source, ioc_type, ioc_value, objective, pattern_disposition, pattern_disposition_details, pattern_id, sha256, tactic, tactic_id, technique, technique_id, template_instance_id, timestamp, user_name].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_case_creation_request_v2.rb b/lib/crimson-falcon/models/domain_case_creation_request_v2.rb index 685bcd5b..8dbecabe 100644 --- a/lib/crimson-falcon/models/domain_case_creation_request_v2.rb +++ b/lib/crimson-falcon/models/domain_case_creation_request_v2.rb @@ -38,6 +38,10 @@ class DomainCaseCreationRequestV2 attr_accessor :incidents + attr_accessor :malware_submission_id + + attr_accessor :recon_rule_type + attr_accessor :title attr_accessor :type @@ -50,6 +54,8 @@ def self.attribute_map :'body' => :'body', :'detections' => :'detections', :'incidents' => :'incidents', + :'malware_submission_id' => :'malware_submission_id', + :'recon_rule_type' => :'recon_rule_type', :'title' => :'title', :'type' => :'type', :'user_uuid' => :'user_uuid' @@ -67,6 +73,8 @@ def self.openapi_types :'body' => :'String', :'detections' => :'Array', :'incidents' => :'Array', + :'malware_submission_id' => :'String', + :'recon_rule_type' => :'String', :'title' => :'String', :'type' => :'String', :'user_uuid' => :'String' @@ -110,6 +118,14 @@ def initialize(attributes = {}) end end + if attributes.key?(:'malware_submission_id') + self.malware_submission_id = attributes[:'malware_submission_id'] + end + + if attributes.key?(:'recon_rule_type') + self.recon_rule_type = attributes[:'recon_rule_type'] + end + if attributes.key?(:'title') self.title = attributes[:'title'] end @@ -139,6 +155,14 @@ def list_invalid_properties invalid_properties.push('invalid value for "incidents", incidents cannot be nil.') end + if @malware_submission_id.nil? + invalid_properties.push('invalid value for "malware_submission_id", malware_submission_id cannot be nil.') + end + + if @recon_rule_type.nil? + invalid_properties.push('invalid value for "recon_rule_type", recon_rule_type cannot be nil.') + end + if @title.nil? invalid_properties.push('invalid value for "title", title cannot be nil.') end @@ -156,6 +180,8 @@ def valid? return false if @body.nil? return false if @detections.nil? return false if @incidents.nil? + return false if @malware_submission_id.nil? + return false if @recon_rule_type.nil? return false if @title.nil? return false if @type.nil? true @@ -169,6 +195,8 @@ def ==(o) body == o.body && detections == o.detections && incidents == o.incidents && + malware_submission_id == o.malware_submission_id && + recon_rule_type == o.recon_rule_type && title == o.title && type == o.type && user_uuid == o.user_uuid @@ -183,7 +211,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [body, detections, incidents, title, type, user_uuid].hash + [body, detections, incidents, malware_submission_id, recon_rule_type, title, type, user_uuid].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_cid_group_members_response_v1.rb b/lib/crimson-falcon/models/domain_cid_group_members_response_v1.rb index 4bdad511..941e170e 100644 --- a/lib/crimson-falcon/models/domain_cid_group_members_response_v1.rb +++ b/lib/crimson-falcon/models/domain_cid_group_members_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_cid_groups_response_v1.rb b/lib/crimson-falcon/models/domain_cid_groups_response_v1.rb index 0d86a61d..db8969a1 100644 --- a/lib/crimson-falcon/models/domain_cid_groups_response_v1.rb +++ b/lib/crimson-falcon/models/domain_cid_groups_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_cipher.rb b/lib/crimson-falcon/models/domain_cipher.rb new file mode 100644 index 00000000..30a84bc4 --- /dev/null +++ b/lib/crimson-falcon/models/domain_cipher.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCipher + attr_accessor :bits + + attr_accessor :name + + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'bits' => :'bits', + :'name' => :'name', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'bits' => :'Integer', + :'name' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCipher` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCipher`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'bits') + self.bits = attributes[:'bits'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + bits == o.bits && + name == o.name && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [bits, name, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cisa_known_exploited_vulnerabilities_info.rb b/lib/crimson-falcon/models/domain_cisa_known_exploited_vulnerabilities_info.rb new file mode 100644 index 00000000..3f7b2849 --- /dev/null +++ b/lib/crimson-falcon/models/domain_cisa_known_exploited_vulnerabilities_info.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCISAKnownExploitedVulnerabilitiesInfo + attr_accessor :due_date + + attr_accessor :is_cisa_kev + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'due_date' => :'due_date', + :'is_cisa_kev' => :'is_cisa_kev' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'due_date' => :'Time', + :'is_cisa_kev' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCISAKnownExploitedVulnerabilitiesInfo` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCISAKnownExploitedVulnerabilitiesInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'due_date') + self.due_date = attributes[:'due_date'] + end + + if attributes.key?(:'is_cisa_kev') + self.is_cisa_kev = attributes[:'is_cisa_kev'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @due_date.nil? + invalid_properties.push('invalid value for "due_date", due_date cannot be nil.') + end + + if @is_cisa_kev.nil? + invalid_properties.push('invalid value for "is_cisa_kev", is_cisa_kev cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @due_date.nil? + return false if @is_cisa_kev.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + due_date == o.due_date && + is_cisa_kev == o.is_cisa_kev + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [due_date, is_cisa_kev].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cloud_aws_account_v1.rb b/lib/crimson-falcon/models/domain_cloud_aws_account_v1.rb new file mode 100644 index 00000000..e76906f8 --- /dev/null +++ b/lib/crimson-falcon/models/domain_cloud_aws_account_v1.rb @@ -0,0 +1,507 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCloudAWSAccountV1 + attr_accessor :created_at + + attr_accessor :deleted_at + + attr_accessor :id + + attr_accessor :updated_at + + # 12 digit AWS provided unique identifier for the account. + attr_accessor :account_id + + # AWS account name + attr_accessor :account_name + + attr_accessor :account_type + + attr_accessor :active_regions + + attr_accessor :cid + + attr_accessor :conditions + + # csp live events are enabled + attr_accessor :csp_events + + attr_accessor :environment + + # Permissions status for each product returned via API. + attr_accessor :iam_service_permissions_status + + attr_accessor :inventory_filter + + attr_accessor :is_custom_rolename + + attr_accessor :is_master + + # Up to 34 character AWS provided unique identifier for the organization. + attr_accessor :organization_id + + attr_accessor :products + + attr_accessor :resource_metadata + + # 12 digit AWS provided unique identifier for the root account (of the organization this account belongs to). + attr_accessor :root_account_id + + attr_accessor :root_iam_role + + # Account registration status for each product and feature + attr_accessor :status + + attr_accessor :target_ous + + attr_accessor :use_existing_cloudtrail + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'created_at' => :'CreatedAt', + :'deleted_at' => :'DeletedAt', + :'id' => :'ID', + :'updated_at' => :'UpdatedAt', + :'account_id' => :'account_id', + :'account_name' => :'account_name', + :'account_type' => :'account_type', + :'active_regions' => :'active_regions', + :'cid' => :'cid', + :'conditions' => :'conditions', + :'csp_events' => :'csp_events', + :'environment' => :'environment', + :'iam_service_permissions_status' => :'iam_service_permissions_status', + :'inventory_filter' => :'inventory_filter', + :'is_custom_rolename' => :'is_custom_rolename', + :'is_master' => :'is_master', + :'organization_id' => :'organization_id', + :'products' => :'products', + :'resource_metadata' => :'resource_metadata', + :'root_account_id' => :'root_account_id', + :'root_iam_role' => :'root_iam_role', + :'status' => :'status', + :'target_ous' => :'target_ous', + :'use_existing_cloudtrail' => :'use_existing_cloudtrail' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'created_at' => :'Time', + :'deleted_at' => :'Time', + :'id' => :'Integer', + :'updated_at' => :'Time', + :'account_id' => :'String', + :'account_name' => :'String', + :'account_type' => :'String', + :'active_regions' => :'Array', + :'cid' => :'String', + :'conditions' => :'Array', + :'csp_events' => :'Boolean', + :'environment' => :'String', + :'iam_service_permissions_status' => :'Array', + :'inventory_filter' => :'Array', + :'is_custom_rolename' => :'Boolean', + :'is_master' => :'Boolean', + :'organization_id' => :'String', + :'products' => :'Array', + :'resource_metadata' => :'DomainAWSAccountResourceMetadata', + :'root_account_id' => :'String', + :'root_iam_role' => :'Boolean', + :'status' => :'Array', + :'target_ous' => :'Array', + :'use_existing_cloudtrail' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCloudAWSAccountV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCloudAWSAccountV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + end + + if attributes.key?(:'deleted_at') + self.deleted_at = attributes[:'deleted_at'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + end + + if attributes.key?(:'account_id') + self.account_id = attributes[:'account_id'] + end + + if attributes.key?(:'account_name') + self.account_name = attributes[:'account_name'] + end + + if attributes.key?(:'account_type') + self.account_type = attributes[:'account_type'] + end + + if attributes.key?(:'active_regions') + if (value = attributes[:'active_regions']).is_a?(Array) + self.active_regions = value + end + end + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'conditions') + if (value = attributes[:'conditions']).is_a?(Array) + self.conditions = value + end + end + + if attributes.key?(:'csp_events') + self.csp_events = attributes[:'csp_events'] + end + + if attributes.key?(:'environment') + self.environment = attributes[:'environment'] + end + + if attributes.key?(:'iam_service_permissions_status') + if (value = attributes[:'iam_service_permissions_status']).is_a?(Array) + self.iam_service_permissions_status = value + end + end + + if attributes.key?(:'inventory_filter') + if (value = attributes[:'inventory_filter']).is_a?(Array) + self.inventory_filter = value + end + end + + if attributes.key?(:'is_custom_rolename') + self.is_custom_rolename = attributes[:'is_custom_rolename'] + end + + if attributes.key?(:'is_master') + self.is_master = attributes[:'is_master'] + end + + if attributes.key?(:'organization_id') + self.organization_id = attributes[:'organization_id'] + end + + if attributes.key?(:'products') + if (value = attributes[:'products']).is_a?(Array) + self.products = value + end + end + + if attributes.key?(:'resource_metadata') + self.resource_metadata = attributes[:'resource_metadata'] + end + + if attributes.key?(:'root_account_id') + self.root_account_id = attributes[:'root_account_id'] + end + + if attributes.key?(:'root_iam_role') + self.root_iam_role = attributes[:'root_iam_role'] + end + + if attributes.key?(:'status') + if (value = attributes[:'status']).is_a?(Array) + self.status = value + end + end + + if attributes.key?(:'target_ous') + if (value = attributes[:'target_ous']).is_a?(Array) + self.target_ous = value + end + end + + if attributes.key?(:'use_existing_cloudtrail') + self.use_existing_cloudtrail = attributes[:'use_existing_cloudtrail'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @deleted_at.nil? + invalid_properties.push('invalid value for "deleted_at", deleted_at cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @updated_at.nil? + invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.') + end + + if @iam_service_permissions_status.nil? + invalid_properties.push('invalid value for "iam_service_permissions_status", iam_service_permissions_status cannot be nil.') + end + + if @inventory_filter.nil? + invalid_properties.push('invalid value for "inventory_filter", inventory_filter cannot be nil.') + end + + if @is_custom_rolename.nil? + invalid_properties.push('invalid value for "is_custom_rolename", is_custom_rolename cannot be nil.') + end + + if @products.nil? + invalid_properties.push('invalid value for "products", products cannot be nil.') + end + + if @resource_metadata.nil? + invalid_properties.push('invalid value for "resource_metadata", resource_metadata cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @created_at.nil? + return false if @deleted_at.nil? + return false if @id.nil? + return false if @updated_at.nil? + return false if @iam_service_permissions_status.nil? + return false if @inventory_filter.nil? + return false if @is_custom_rolename.nil? + return false if @products.nil? + return false if @resource_metadata.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + created_at == o.created_at && + deleted_at == o.deleted_at && + id == o.id && + updated_at == o.updated_at && + account_id == o.account_id && + account_name == o.account_name && + account_type == o.account_type && + active_regions == o.active_regions && + cid == o.cid && + conditions == o.conditions && + csp_events == o.csp_events && + environment == o.environment && + iam_service_permissions_status == o.iam_service_permissions_status && + inventory_filter == o.inventory_filter && + is_custom_rolename == o.is_custom_rolename && + is_master == o.is_master && + organization_id == o.organization_id && + products == o.products && + resource_metadata == o.resource_metadata && + root_account_id == o.root_account_id && + root_iam_role == o.root_iam_role && + status == o.status && + target_ous == o.target_ous && + use_existing_cloudtrail == o.use_existing_cloudtrail + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [created_at, deleted_at, id, updated_at, account_id, account_name, account_type, active_regions, cid, conditions, csp_events, environment, iam_service_permissions_status, inventory_filter, is_custom_rolename, is_master, organization_id, products, resource_metadata, root_account_id, root_iam_role, status, target_ous, use_existing_cloudtrail].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cloud_condition.rb b/lib/crimson-falcon/models/domain_cloud_condition.rb new file mode 100644 index 00000000..9afa65d5 --- /dev/null +++ b/lib/crimson-falcon/models/domain_cloud_condition.rb @@ -0,0 +1,322 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCloudCondition + attr_accessor :feature + + attr_accessor :is_visible + + attr_accessor :last_transition + + attr_accessor :message + + attr_accessor :product + + attr_accessor :reason + + attr_accessor :status + + attr_accessor :type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'feature' => :'feature', + :'is_visible' => :'is_visible', + :'last_transition' => :'last_transition', + :'message' => :'message', + :'product' => :'product', + :'reason' => :'reason', + :'status' => :'status', + :'type' => :'type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'feature' => :'String', + :'is_visible' => :'Boolean', + :'last_transition' => :'Time', + :'message' => :'String', + :'product' => :'String', + :'reason' => :'String', + :'status' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCloudCondition` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCloudCondition`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'feature') + self.feature = attributes[:'feature'] + end + + if attributes.key?(:'is_visible') + self.is_visible = attributes[:'is_visible'] + end + + if attributes.key?(:'last_transition') + self.last_transition = attributes[:'last_transition'] + end + + if attributes.key?(:'message') + self.message = attributes[:'message'] + end + + if attributes.key?(:'product') + self.product = attributes[:'product'] + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @feature.nil? + invalid_properties.push('invalid value for "feature", feature cannot be nil.') + end + + if @is_visible.nil? + invalid_properties.push('invalid value for "is_visible", is_visible cannot be nil.') + end + + if @last_transition.nil? + invalid_properties.push('invalid value for "last_transition", last_transition cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @feature.nil? + return false if @is_visible.nil? + return false if @last_transition.nil? + return false if @status.nil? + return false if @type.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + feature == o.feature && + is_visible == o.is_visible && + last_transition == o.last_transition && + message == o.message && + product == o.product && + reason == o.reason && + status == o.status && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [feature, is_visible, last_transition, message, product, reason, status, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_command_execute_response_wrapper.rb b/lib/crimson-falcon/models/domain_command_execute_response_wrapper.rb index a8823625..1a982c9e 100644 --- a/lib/crimson-falcon/models/domain_command_execute_response_wrapper.rb +++ b/lib/crimson-falcon/models/domain_command_execute_response_wrapper.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_compliance.rb b/lib/crimson-falcon/models/domain_compliance.rb new file mode 100644 index 00000000..12623b5f --- /dev/null +++ b/lib/crimson-falcon/models/domain_compliance.rb @@ -0,0 +1,280 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCompliance + attr_accessor :benchmarks + + attr_accessor :frameworks + + attr_accessor :requirements + + attr_accessor :sections + + attr_accessor :versions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'benchmarks' => :'benchmarks', + :'frameworks' => :'frameworks', + :'requirements' => :'requirements', + :'sections' => :'sections', + :'versions' => :'versions' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'benchmarks' => :'Array', + :'frameworks' => :'Array', + :'requirements' => :'Array', + :'sections' => :'Array', + :'versions' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCompliance` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCompliance`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'benchmarks') + if (value = attributes[:'benchmarks']).is_a?(Array) + self.benchmarks = value + end + end + + if attributes.key?(:'frameworks') + if (value = attributes[:'frameworks']).is_a?(Array) + self.frameworks = value + end + end + + if attributes.key?(:'requirements') + if (value = attributes[:'requirements']).is_a?(Array) + self.requirements = value + end + end + + if attributes.key?(:'sections') + if (value = attributes[:'sections']).is_a?(Array) + self.sections = value + end + end + + if attributes.key?(:'versions') + if (value = attributes[:'versions']).is_a?(Array) + self.versions = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + benchmarks == o.benchmarks && + frameworks == o.frameworks && + requirements == o.requirements && + sections == o.sections && + versions == o.versions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [benchmarks, frameworks, requirements, sections, versions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_compliance_findings_grouped_by_images_with_scroll.rb b/lib/crimson-falcon/models/domain_compliance_findings_grouped_by_images_with_scroll.rb new file mode 100644 index 00000000..a06f52cc --- /dev/null +++ b/lib/crimson-falcon/models/domain_compliance_findings_grouped_by_images_with_scroll.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainComplianceFindingsGroupedByImagesWithScroll + attr_accessor :after + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'after' => :'after', + :'results' => :'results' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'after' => :'Object', + :'results' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainComplianceFindingsGroupedByImagesWithScroll` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainComplianceFindingsGroupedByImagesWithScroll`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'after') + self.after = attributes[:'after'] + end + + if attributes.key?(:'results') + if (value = attributes[:'results']).is_a?(Array) + self.results = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @after.nil? + invalid_properties.push('invalid value for "after", after cannot be nil.') + end + + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @after.nil? + return false if @results.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + after == o.after && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [after, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_condition.rb b/lib/crimson-falcon/models/domain_condition.rb index a99f50dd..4f25c1fc 100644 --- a/lib/crimson-falcon/models/domain_condition.rb +++ b/lib/crimson-falcon/models/domain_condition.rb @@ -32,6 +32,10 @@ module Falcon class DomainCondition + attr_accessor :feature + + attr_accessor :is_visible + attr_accessor :last_transition attr_accessor :message @@ -45,6 +49,8 @@ class DomainCondition # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'feature' => :'feature', + :'is_visible' => :'is_visible', :'last_transition' => :'last_transition', :'message' => :'message', :'reason' => :'reason', @@ -61,6 +67,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'feature' => :'String', + :'is_visible' => :'Boolean', :'last_transition' => :'Time', :'message' => :'String', :'reason' => :'String', @@ -90,6 +98,14 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'feature') + self.feature = attributes[:'feature'] + end + + if attributes.key?(:'is_visible') + self.is_visible = attributes[:'is_visible'] + end + if attributes.key?(:'last_transition') self.last_transition = attributes[:'last_transition'] end @@ -115,6 +131,14 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @feature.nil? + invalid_properties.push('invalid value for "feature", feature cannot be nil.') + end + + if @is_visible.nil? + invalid_properties.push('invalid value for "is_visible", is_visible cannot be nil.') + end + if @last_transition.nil? invalid_properties.push('invalid value for "last_transition", last_transition cannot be nil.') end @@ -133,6 +157,8 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @feature.nil? + return false if @is_visible.nil? return false if @last_transition.nil? return false if @status.nil? return false if @type.nil? @@ -144,6 +170,8 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + feature == o.feature && + is_visible == o.is_visible && last_transition == o.last_transition && message == o.message && reason == o.reason && @@ -160,7 +188,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [last_transition, message, reason, status, type].hash + [feature, is_visible, last_transition, message, reason, status, type].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_pastebin_text_source.rb b/lib/crimson-falcon/models/domain_config_v1.rb similarity index 75% rename from lib/crimson-falcon/models/domain_pastebin_text_source.rb rename to lib/crimson-falcon/models/domain_config_v1.rb index b7227c00..c4416876 100644 --- a/lib/crimson-falcon/models/domain_pastebin_text_source.rb +++ b/lib/crimson-falcon/models/domain_config_v1.rb @@ -31,29 +31,29 @@ require 'time' module Falcon - class DomainPastebinTextSource - # The name of the author - attr_accessor :author_name + class DomainConfigV1 + # App ID of the configuration + attr_accessor :app_id - attr_accessor :legacy_source + attr_accessor :config - # Unique ID of the Pastebin content - attr_accessor :pastebin_id + # ID of the configuration + attr_accessor :config_id - # The Pastebin URL - attr_accessor :source_link + # Definition ID of the configuration + attr_accessor :definition_id - # The title of the Pastebin content - attr_accessor :title + # The current state of the config + attr_accessor :state # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'author_name' => :'author_name', - :'legacy_source' => :'legacy_source', - :'pastebin_id' => :'pastebin_id', - :'source_link' => :'source_link', - :'title' => :'title' + :'app_id' => :'app_id', + :'config' => :'config', + :'config_id' => :'config_id', + :'definition_id' => :'definition_id', + :'state' => :'state' } end @@ -65,11 +65,11 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'author_name' => :'String', - :'legacy_source' => :'Object', - :'pastebin_id' => :'String', - :'source_link' => :'String', - :'title' => :'String' + :'app_id' => :'String', + :'config' => :'Object', + :'config_id' => :'String', + :'definition_id' => :'String', + :'state' => :'String' } end @@ -83,35 +83,35 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainPastebinTextSource` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainConfigV1` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainPastebinTextSource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainConfigV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'author_name') - self.author_name = attributes[:'author_name'] + if attributes.key?(:'app_id') + self.app_id = attributes[:'app_id'] end - if attributes.key?(:'legacy_source') - self.legacy_source = attributes[:'legacy_source'] + if attributes.key?(:'config') + self.config = attributes[:'config'] end - if attributes.key?(:'pastebin_id') - self.pastebin_id = attributes[:'pastebin_id'] + if attributes.key?(:'config_id') + self.config_id = attributes[:'config_id'] end - if attributes.key?(:'source_link') - self.source_link = attributes[:'source_link'] + if attributes.key?(:'definition_id') + self.definition_id = attributes[:'definition_id'] end - if attributes.key?(:'title') - self.title = attributes[:'title'] + if attributes.key?(:'state') + self.state = attributes[:'state'] end end @@ -119,20 +119,24 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @author_name.nil? - invalid_properties.push('invalid value for "author_name", author_name cannot be nil.') + if @app_id.nil? + invalid_properties.push('invalid value for "app_id", app_id cannot be nil.') end - if @pastebin_id.nil? - invalid_properties.push('invalid value for "pastebin_id", pastebin_id cannot be nil.') + if @config.nil? + invalid_properties.push('invalid value for "config", config cannot be nil.') end - if @source_link.nil? - invalid_properties.push('invalid value for "source_link", source_link cannot be nil.') + if @config_id.nil? + invalid_properties.push('invalid value for "config_id", config_id cannot be nil.') end - if @title.nil? - invalid_properties.push('invalid value for "title", title cannot be nil.') + if @definition_id.nil? + invalid_properties.push('invalid value for "definition_id", definition_id cannot be nil.') + end + + if @state.nil? + invalid_properties.push('invalid value for "state", state cannot be nil.') end invalid_properties @@ -141,10 +145,11 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @author_name.nil? - return false if @pastebin_id.nil? - return false if @source_link.nil? - return false if @title.nil? + return false if @app_id.nil? + return false if @config.nil? + return false if @config_id.nil? + return false if @definition_id.nil? + return false if @state.nil? true end @@ -153,11 +158,11 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - author_name == o.author_name && - legacy_source == o.legacy_source && - pastebin_id == o.pastebin_id && - source_link == o.source_link && - title == o.title + app_id == o.app_id && + config == o.config && + config_id == o.config_id && + definition_id == o.definition_id && + state == o.state end # @see the `==` method @@ -169,7 +174,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [author_name, legacy_source, pastebin_id, source_link, title].hash + [app_id, config, config_id, definition_id, state].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_configs_v1.rb b/lib/crimson-falcon/models/domain_configs_v1.rb new file mode 100644 index 00000000..dfd21f59 --- /dev/null +++ b/lib/crimson-falcon/models/domain_configs_v1.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainConfigsV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainConfigsV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainConfigsV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_content_package.rb b/lib/crimson-falcon/models/domain_content_package.rb new file mode 100644 index 00000000..189784f3 --- /dev/null +++ b/lib/crimson-falcon/models/domain_content_package.rb @@ -0,0 +1,239 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainContentPackage + attr_accessor :id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainContentPackage` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainContentPackage`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_control.rb b/lib/crimson-falcon/models/domain_control.rb new file mode 100644 index 00000000..b57a587b --- /dev/null +++ b/lib/crimson-falcon/models/domain_control.rb @@ -0,0 +1,281 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainControl + attr_accessor :benchmarks + + attr_accessor :description + + attr_accessor :framework + + attr_accessor :name + + attr_accessor :section + + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'benchmarks' => :'benchmarks', + :'description' => :'description', + :'framework' => :'framework', + :'name' => :'name', + :'section' => :'section', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'benchmarks' => :'Array', + :'description' => :'String', + :'framework' => :'String', + :'name' => :'String', + :'section' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainControl` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainControl`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'benchmarks') + if (value = attributes[:'benchmarks']).is_a?(Array) + self.benchmarks = value + end + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'framework') + self.framework = attributes[:'framework'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'section') + self.section = attributes[:'section'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + benchmarks == o.benchmarks && + description == o.description && + framework == o.framework && + name == o.name && + section == o.section && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [benchmarks, description, framework, name, section, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_control_benchmark.rb b/lib/crimson-falcon/models/domain_control_benchmark.rb new file mode 100644 index 00000000..ff16217c --- /dev/null +++ b/lib/crimson-falcon/models/domain_control_benchmark.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainControlBenchmark + attr_accessor :name + + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainControlBenchmark` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainControlBenchmark`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cps_rating.rb b/lib/crimson-falcon/models/domain_cps_rating.rb new file mode 100644 index 00000000..bd58b5a6 --- /dev/null +++ b/lib/crimson-falcon/models/domain_cps_rating.rb @@ -0,0 +1,301 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCPSRating + attr_accessor :current_rating + + attr_accessor :highest_rating + + attr_accessor :negative_indicators + + attr_accessor :positive_indicators + + attr_accessor :rating_history + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'current_rating' => :'CurrentRating', + :'highest_rating' => :'HighestRating', + :'negative_indicators' => :'NegativeIndicators', + :'positive_indicators' => :'PositiveIndicators', + :'rating_history' => :'RatingHistory' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'current_rating' => :'DomainCPSRatingHistoryEntry', + :'highest_rating' => :'DomainCPSRatingHistoryEntry', + :'negative_indicators' => :'Array', + :'positive_indicators' => :'Array', + :'rating_history' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCPSRating` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCPSRating`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'current_rating') + self.current_rating = attributes[:'current_rating'] + end + + if attributes.key?(:'highest_rating') + self.highest_rating = attributes[:'highest_rating'] + end + + if attributes.key?(:'negative_indicators') + if (value = attributes[:'negative_indicators']).is_a?(Array) + self.negative_indicators = value + end + end + + if attributes.key?(:'positive_indicators') + if (value = attributes[:'positive_indicators']).is_a?(Array) + self.positive_indicators = value + end + end + + if attributes.key?(:'rating_history') + if (value = attributes[:'rating_history']).is_a?(Array) + self.rating_history = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @current_rating.nil? + invalid_properties.push('invalid value for "current_rating", current_rating cannot be nil.') + end + + if @highest_rating.nil? + invalid_properties.push('invalid value for "highest_rating", highest_rating cannot be nil.') + end + + if @negative_indicators.nil? + invalid_properties.push('invalid value for "negative_indicators", negative_indicators cannot be nil.') + end + + if @positive_indicators.nil? + invalid_properties.push('invalid value for "positive_indicators", positive_indicators cannot be nil.') + end + + if @rating_history.nil? + invalid_properties.push('invalid value for "rating_history", rating_history cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @current_rating.nil? + return false if @highest_rating.nil? + return false if @negative_indicators.nil? + return false if @positive_indicators.nil? + return false if @rating_history.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + current_rating == o.current_rating && + highest_rating == o.highest_rating && + negative_indicators == o.negative_indicators && + positive_indicators == o.positive_indicators && + rating_history == o.rating_history + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [current_rating, highest_rating, negative_indicators, positive_indicators, rating_history].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cps_rating_history_entry.rb b/lib/crimson-falcon/models/domain_cps_rating_history_entry.rb new file mode 100644 index 00000000..482d165d --- /dev/null +++ b/lib/crimson-falcon/models/domain_cps_rating_history_entry.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCPSRatingHistoryEntry + attr_accessor :date_recorded + + attr_accessor :rating + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'date_recorded' => :'DateRecorded', + :'rating' => :'Rating' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'date_recorded' => :'Time', + :'rating' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCPSRatingHistoryEntry` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCPSRatingHistoryEntry`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'date_recorded') + self.date_recorded = attributes[:'date_recorded'] + end + + if attributes.key?(:'rating') + self.rating = attributes[:'rating'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @date_recorded.nil? + invalid_properties.push('invalid value for "date_recorded", date_recorded cannot be nil.') + end + + if @rating.nil? + invalid_properties.push('invalid value for "rating", rating cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @date_recorded.nil? + return false if @rating.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + date_recorded == o.date_recorded && + rating == o.rating + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [date_recorded, rating].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cps_rating_indicator.rb b/lib/crimson-falcon/models/domain_cps_rating_indicator.rb new file mode 100644 index 00000000..6e47e10e --- /dev/null +++ b/lib/crimson-falcon/models/domain_cps_rating_indicator.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCPSRatingIndicator + attr_accessor :description + + attr_accessor :name + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'description' => :'Description', + :'name' => :'Name', + :'value' => :'Value' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'description' => :'String', + :'name' => :'String', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCPSRatingIndicator` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCPSRatingIndicator`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @description.nil? + invalid_properties.push('invalid value for "description", description cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @value.nil? + invalid_properties.push('invalid value for "value", value cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @description.nil? + return false if @name.nil? + return false if @value.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + description == o.description && + name == o.name && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [description, name, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_create_submission_v1_error_response.rb b/lib/crimson-falcon/models/domain_create_submission_v1_error_response.rb new file mode 100644 index 00000000..057c4980 --- /dev/null +++ b/lib/crimson-falcon/models/domain_create_submission_v1_error_response.rb @@ -0,0 +1,315 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCreateSubmissionV1ErrorResponse + attr_accessor :analyzer + + attr_accessor :entity + + attr_accessor :type + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'analyzer' => :'analyzer', + :'entity' => :'entity', + :'type' => :'type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'analyzer' => :'String', + :'entity' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCreateSubmissionV1ErrorResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCreateSubmissionV1ErrorResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'analyzer') + self.analyzer = attributes[:'analyzer'] + end + + if attributes.key?(:'entity') + self.entity = attributes[:'entity'] + else + self.entity = 'sha256' + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @analyzer.nil? + invalid_properties.push('invalid value for "analyzer", analyzer cannot be nil.') + end + + if @entity.nil? + invalid_properties.push('invalid value for "entity", entity cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @analyzer.nil? + analyzer_validator = EnumAttributeValidator.new('String', ["rapidscan"]) + return false unless analyzer_validator.valid?(@analyzer) + return false if @entity.nil? + return false if @type.nil? + type_validator = EnumAttributeValidator.new('String', ["file"]) + return false unless type_validator.valid?(@type) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] analyzer Object to be assigned + def analyzer=(analyzer) + validator = EnumAttributeValidator.new('String', ["rapidscan"]) + unless validator.valid?(analyzer) + fail ArgumentError, "invalid value for \"analyzer\", must be one of #{validator.allowable_values}." + end + @analyzer = analyzer + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] type Object to be assigned + def type=(type) + validator = EnumAttributeValidator.new('String', ["file"]) + unless validator.valid?(type) + fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}." + end + @type = type + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + analyzer == o.analyzer && + entity == o.entity && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [analyzer, entity, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_credentials.rb b/lib/crimson-falcon/models/domain_credentials.rb index fc5f031f..2663a984 100644 --- a/lib/crimson-falcon/models/domain_credentials.rb +++ b/lib/crimson-falcon/models/domain_credentials.rb @@ -32,18 +32,12 @@ module Falcon class DomainCredentials - attr_accessor :sites_all - - attr_accessor :sites_with_cookie_only - - attr_accessor :sites_with_password + attr_accessor :token # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'sites_all' => :'sites_all', - :'sites_with_cookie_only' => :'sites_with_cookie_only', - :'sites_with_password' => :'sites_with_password' + :'token' => :'token' } end @@ -55,9 +49,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'sites_all' => :'Array', - :'sites_with_cookie_only' => :'Array', - :'sites_with_password' => :'Array' + :'token' => :'String' } end @@ -82,22 +74,8 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'sites_all') - if (value = attributes[:'sites_all']).is_a?(Array) - self.sites_all = value - end - end - - if attributes.key?(:'sites_with_cookie_only') - if (value = attributes[:'sites_with_cookie_only']).is_a?(Array) - self.sites_with_cookie_only = value - end - end - - if attributes.key?(:'sites_with_password') - if (value = attributes[:'sites_with_password']).is_a?(Array) - self.sites_with_password = value - end + if attributes.key?(:'token') + self.token = attributes[:'token'] end end @@ -105,12 +83,17 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @token.nil? + invalid_properties.push('invalid value for "token", token cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @token.nil? true end @@ -119,9 +102,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - sites_all == o.sites_all && - sites_with_cookie_only == o.sites_with_cookie_only && - sites_with_password == o.sites_with_password + token == o.token end # @see the `==` method @@ -133,7 +114,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [sites_all, sites_with_cookie_only, sites_with_password].hash + [token].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_cve.rb b/lib/crimson-falcon/models/domain_cve.rb new file mode 100644 index 00000000..a184812e --- /dev/null +++ b/lib/crimson-falcon/models/domain_cve.rb @@ -0,0 +1,543 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCVE + attr_accessor :actors + + attr_accessor :additional_info + + attr_accessor :base_score + + attr_accessor :cisa_kev_info + + attr_accessor :content_packages + + attr_accessor :cps_rating + + attr_accessor :cvss_v2_score + + attr_accessor :cvss_v3_score + + attr_accessor :cvss_version + + attr_accessor :description + + attr_accessor :exploitability_score + + attr_accessor :exploited + + attr_accessor :id + + attr_accessor :impact_score + + attr_accessor :is_supported + + attr_accessor :metadata_hash + + attr_accessor :name + + attr_accessor :published_date + + attr_accessor :references + + attr_accessor :severity + + attr_accessor :source + + attr_accessor :source_type + + attr_accessor :spotlight_published_date + + attr_accessor :types + + attr_accessor :vector + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'actors' => :'actors', + :'additional_info' => :'additional_info', + :'base_score' => :'base_score', + :'cisa_kev_info' => :'cisa_kev_info', + :'content_packages' => :'content_packages', + :'cps_rating' => :'cps_rating', + :'cvss_v2_score' => :'cvss_v2_score', + :'cvss_v3_score' => :'cvss_v3_score', + :'cvss_version' => :'cvss_version', + :'description' => :'description', + :'exploitability_score' => :'exploitability_score', + :'exploited' => :'exploited', + :'id' => :'id', + :'impact_score' => :'impact_score', + :'is_supported' => :'is_supported', + :'metadata_hash' => :'metadata_hash', + :'name' => :'name', + :'published_date' => :'published_date', + :'references' => :'references', + :'severity' => :'severity', + :'source' => :'source', + :'source_type' => :'source_type', + :'spotlight_published_date' => :'spotlight_published_date', + :'types' => :'types', + :'vector' => :'vector' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'actors' => :'Array', + :'additional_info' => :'String', + :'base_score' => :'Float', + :'cisa_kev_info' => :'DomainCISAKnownExploitedVulnerabilitiesInfo', + :'content_packages' => :'Array', + :'cps_rating' => :'DomainCPSRating', + :'cvss_v2_score' => :'DomainCVSSv2', + :'cvss_v3_score' => :'DomainCVSSv3', + :'cvss_version' => :'String', + :'description' => :'String', + :'exploitability_score' => :'Float', + :'exploited' => :'DomainCVEExploit', + :'id' => :'String', + :'impact_score' => :'Float', + :'is_supported' => :'Boolean', + :'metadata_hash' => :'Integer', + :'name' => :'String', + :'published_date' => :'Time', + :'references' => :'Array', + :'severity' => :'String', + :'source' => :'String', + :'source_type' => :'String', + :'spotlight_published_date' => :'Time', + :'types' => :'Array', + :'vector' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCVE` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCVE`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'actors') + if (value = attributes[:'actors']).is_a?(Array) + self.actors = value + end + end + + if attributes.key?(:'additional_info') + self.additional_info = attributes[:'additional_info'] + end + + if attributes.key?(:'base_score') + self.base_score = attributes[:'base_score'] + end + + if attributes.key?(:'cisa_kev_info') + self.cisa_kev_info = attributes[:'cisa_kev_info'] + end + + if attributes.key?(:'content_packages') + if (value = attributes[:'content_packages']).is_a?(Array) + self.content_packages = value + end + end + + if attributes.key?(:'cps_rating') + self.cps_rating = attributes[:'cps_rating'] + end + + if attributes.key?(:'cvss_v2_score') + self.cvss_v2_score = attributes[:'cvss_v2_score'] + end + + if attributes.key?(:'cvss_v3_score') + self.cvss_v3_score = attributes[:'cvss_v3_score'] + end + + if attributes.key?(:'cvss_version') + self.cvss_version = attributes[:'cvss_version'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'exploitability_score') + self.exploitability_score = attributes[:'exploitability_score'] + end + + if attributes.key?(:'exploited') + self.exploited = attributes[:'exploited'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'impact_score') + self.impact_score = attributes[:'impact_score'] + end + + if attributes.key?(:'is_supported') + self.is_supported = attributes[:'is_supported'] + end + + if attributes.key?(:'metadata_hash') + self.metadata_hash = attributes[:'metadata_hash'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'published_date') + self.published_date = attributes[:'published_date'] + end + + if attributes.key?(:'references') + if (value = attributes[:'references']).is_a?(Array) + self.references = value + end + end + + if attributes.key?(:'severity') + self.severity = attributes[:'severity'] + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + + if attributes.key?(:'source_type') + self.source_type = attributes[:'source_type'] + end + + if attributes.key?(:'spotlight_published_date') + self.spotlight_published_date = attributes[:'spotlight_published_date'] + end + + if attributes.key?(:'types') + if (value = attributes[:'types']).is_a?(Array) + self.types = value + end + end + + if attributes.key?(:'vector') + self.vector = attributes[:'vector'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @actors.nil? + invalid_properties.push('invalid value for "actors", actors cannot be nil.') + end + + if @base_score.nil? + invalid_properties.push('invalid value for "base_score", base_score cannot be nil.') + end + + if @cisa_kev_info.nil? + invalid_properties.push('invalid value for "cisa_kev_info", cisa_kev_info cannot be nil.') + end + + if @cps_rating.nil? + invalid_properties.push('invalid value for "cps_rating", cps_rating cannot be nil.') + end + + if @cvss_version.nil? + invalid_properties.push('invalid value for "cvss_version", cvss_version cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @is_supported.nil? + invalid_properties.push('invalid value for "is_supported", is_supported cannot be nil.') + end + + if @metadata_hash.nil? + invalid_properties.push('invalid value for "metadata_hash", metadata_hash cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @published_date.nil? + invalid_properties.push('invalid value for "published_date", published_date cannot be nil.') + end + + if @references.nil? + invalid_properties.push('invalid value for "references", references cannot be nil.') + end + + if @severity.nil? + invalid_properties.push('invalid value for "severity", severity cannot be nil.') + end + + if @source.nil? + invalid_properties.push('invalid value for "source", source cannot be nil.') + end + + if @source_type.nil? + invalid_properties.push('invalid value for "source_type", source_type cannot be nil.') + end + + if @spotlight_published_date.nil? + invalid_properties.push('invalid value for "spotlight_published_date", spotlight_published_date cannot be nil.') + end + + if @types.nil? + invalid_properties.push('invalid value for "types", types cannot be nil.') + end + + if @vector.nil? + invalid_properties.push('invalid value for "vector", vector cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @actors.nil? + return false if @base_score.nil? + return false if @cisa_kev_info.nil? + return false if @cps_rating.nil? + return false if @cvss_version.nil? + return false if @id.nil? + return false if @is_supported.nil? + return false if @metadata_hash.nil? + return false if @name.nil? + return false if @published_date.nil? + return false if @references.nil? + return false if @severity.nil? + return false if @source.nil? + return false if @source_type.nil? + return false if @spotlight_published_date.nil? + return false if @types.nil? + return false if @vector.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + actors == o.actors && + additional_info == o.additional_info && + base_score == o.base_score && + cisa_kev_info == o.cisa_kev_info && + content_packages == o.content_packages && + cps_rating == o.cps_rating && + cvss_v2_score == o.cvss_v2_score && + cvss_v3_score == o.cvss_v3_score && + cvss_version == o.cvss_version && + description == o.description && + exploitability_score == o.exploitability_score && + exploited == o.exploited && + id == o.id && + impact_score == o.impact_score && + is_supported == o.is_supported && + metadata_hash == o.metadata_hash && + name == o.name && + published_date == o.published_date && + references == o.references && + severity == o.severity && + source == o.source && + source_type == o.source_type && + spotlight_published_date == o.spotlight_published_date && + types == o.types && + vector == o.vector + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [actors, additional_info, base_score, cisa_kev_info, content_packages, cps_rating, cvss_v2_score, cvss_v3_score, cvss_version, description, exploitability_score, exploited, id, impact_score, is_supported, metadata_hash, name, published_date, references, severity, source, source_type, spotlight_published_date, types, vector].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cve_exploit.rb b/lib/crimson-falcon/models/domain_cve_exploit.rb new file mode 100644 index 00000000..162a2b48 --- /dev/null +++ b/lib/crimson-falcon/models/domain_cve_exploit.rb @@ -0,0 +1,283 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCVEExploit + attr_accessor :date_recorded + + attr_accessor :sources + + attr_accessor :status + + attr_accessor :updated_timestamp + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'date_recorded' => :'date_recorded', + :'sources' => :'sources', + :'status' => :'status', + :'updated_timestamp' => :'updated_timestamp' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'date_recorded' => :'Time', + :'sources' => :'Array', + :'status' => :'Integer', + :'updated_timestamp' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCVEExploit` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCVEExploit`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'date_recorded') + self.date_recorded = attributes[:'date_recorded'] + end + + if attributes.key?(:'sources') + if (value = attributes[:'sources']).is_a?(Array) + self.sources = value + end + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'updated_timestamp') + self.updated_timestamp = attributes[:'updated_timestamp'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @date_recorded.nil? + invalid_properties.push('invalid value for "date_recorded", date_recorded cannot be nil.') + end + + if @sources.nil? + invalid_properties.push('invalid value for "sources", sources cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @updated_timestamp.nil? + invalid_properties.push('invalid value for "updated_timestamp", updated_timestamp cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @date_recorded.nil? + return false if @sources.nil? + return false if @status.nil? + return false if @updated_timestamp.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + date_recorded == o.date_recorded && + sources == o.sources && + status == o.status && + updated_timestamp == o.updated_timestamp + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [date_recorded, sources, status, updated_timestamp].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cve_exploit_reference.rb b/lib/crimson-falcon/models/domain_cve_exploit_reference.rb new file mode 100644 index 00000000..6d4ce1de --- /dev/null +++ b/lib/crimson-falcon/models/domain_cve_exploit_reference.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCVEExploitReference + attr_accessor :kind + + attr_accessor :label + + attr_accessor :url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'kind' => :'kind', + :'label' => :'label', + :'url' => :'url' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'kind' => :'Integer', + :'label' => :'String', + :'url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCVEExploitReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCVEExploitReference`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'kind') + self.kind = attributes[:'kind'] + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @kind.nil? + invalid_properties.push('invalid value for "kind", kind cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @kind.nil? + return false if @label.nil? + return false if @url.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + kind == o.kind && + label == o.label && + url == o.url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [kind, label, url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cve_exploit_source.rb b/lib/crimson-falcon/models/domain_cve_exploit_source.rb new file mode 100644 index 00000000..a60bf1fe --- /dev/null +++ b/lib/crimson-falcon/models/domain_cve_exploit_source.rb @@ -0,0 +1,283 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCVEExploitSource + attr_accessor :is_flat + + attr_accessor :label + + attr_accessor :references + + attr_accessor :source + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'is_flat' => :'is_flat', + :'label' => :'label', + :'references' => :'references', + :'source' => :'source' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'is_flat' => :'Boolean', + :'label' => :'String', + :'references' => :'Array', + :'source' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCVEExploitSource` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCVEExploitSource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'is_flat') + self.is_flat = attributes[:'is_flat'] + end + + if attributes.key?(:'label') + self.label = attributes[:'label'] + end + + if attributes.key?(:'references') + if (value = attributes[:'references']).is_a?(Array) + self.references = value + end + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @is_flat.nil? + invalid_properties.push('invalid value for "is_flat", is_flat cannot be nil.') + end + + if @label.nil? + invalid_properties.push('invalid value for "label", label cannot be nil.') + end + + if @references.nil? + invalid_properties.push('invalid value for "references", references cannot be nil.') + end + + if @source.nil? + invalid_properties.push('invalid value for "source", source cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @is_flat.nil? + return false if @label.nil? + return false if @references.nil? + return false if @source.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + is_flat == o.is_flat && + label == o.label && + references == o.references && + source == o.source + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [is_flat, label, references, source].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cvssv2.rb b/lib/crimson-falcon/models/domain_cvssv2.rb new file mode 100644 index 00000000..19dc6fc8 --- /dev/null +++ b/lib/crimson-falcon/models/domain_cvssv2.rb @@ -0,0 +1,280 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCVSSv2 + attr_accessor :base_score + + attr_accessor :exploitability_score + + attr_accessor :impact_score + + attr_accessor :severity + + attr_accessor :vector + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'base_score' => :'base_score', + :'exploitability_score' => :'exploitability_score', + :'impact_score' => :'impact_score', + :'severity' => :'severity', + :'vector' => :'vector' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'base_score' => :'Float', + :'exploitability_score' => :'Float', + :'impact_score' => :'Float', + :'severity' => :'String', + :'vector' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCVSSv2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCVSSv2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'base_score') + self.base_score = attributes[:'base_score'] + end + + if attributes.key?(:'exploitability_score') + self.exploitability_score = attributes[:'exploitability_score'] + end + + if attributes.key?(:'impact_score') + self.impact_score = attributes[:'impact_score'] + end + + if attributes.key?(:'severity') + self.severity = attributes[:'severity'] + end + + if attributes.key?(:'vector') + self.vector = attributes[:'vector'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @base_score.nil? + invalid_properties.push('invalid value for "base_score", base_score cannot be nil.') + end + + if @vector.nil? + invalid_properties.push('invalid value for "vector", vector cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @base_score.nil? + return false if @vector.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + base_score == o.base_score && + exploitability_score == o.exploitability_score && + impact_score == o.impact_score && + severity == o.severity && + vector == o.vector + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [base_score, exploitability_score, impact_score, severity, vector].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_cvssv3.rb b/lib/crimson-falcon/models/domain_cvssv3.rb new file mode 100644 index 00000000..a960c6bf --- /dev/null +++ b/lib/crimson-falcon/models/domain_cvssv3.rb @@ -0,0 +1,352 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainCVSSv3 + attr_accessor :attack_complexity + + attr_accessor :attack_vector + + attr_accessor :availability_impact + + attr_accessor :base_score + + attr_accessor :confidentiality_impact + + attr_accessor :exploitability_score + + attr_accessor :impact_score + + attr_accessor :integrity_impact + + attr_accessor :privileges_required + + attr_accessor :scope + + attr_accessor :severity + + attr_accessor :user_interaction + + attr_accessor :vector + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'attack_complexity' => :'attack_complexity', + :'attack_vector' => :'attack_vector', + :'availability_impact' => :'availability_impact', + :'base_score' => :'base_score', + :'confidentiality_impact' => :'confidentiality_impact', + :'exploitability_score' => :'exploitability_score', + :'impact_score' => :'impact_score', + :'integrity_impact' => :'integrity_impact', + :'privileges_required' => :'privileges_required', + :'scope' => :'scope', + :'severity' => :'severity', + :'user_interaction' => :'user_interaction', + :'vector' => :'vector' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'attack_complexity' => :'String', + :'attack_vector' => :'String', + :'availability_impact' => :'String', + :'base_score' => :'Float', + :'confidentiality_impact' => :'String', + :'exploitability_score' => :'Float', + :'impact_score' => :'Float', + :'integrity_impact' => :'String', + :'privileges_required' => :'String', + :'scope' => :'String', + :'severity' => :'String', + :'user_interaction' => :'String', + :'vector' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainCVSSv3` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainCVSSv3`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'attack_complexity') + self.attack_complexity = attributes[:'attack_complexity'] + end + + if attributes.key?(:'attack_vector') + self.attack_vector = attributes[:'attack_vector'] + end + + if attributes.key?(:'availability_impact') + self.availability_impact = attributes[:'availability_impact'] + end + + if attributes.key?(:'base_score') + self.base_score = attributes[:'base_score'] + end + + if attributes.key?(:'confidentiality_impact') + self.confidentiality_impact = attributes[:'confidentiality_impact'] + end + + if attributes.key?(:'exploitability_score') + self.exploitability_score = attributes[:'exploitability_score'] + end + + if attributes.key?(:'impact_score') + self.impact_score = attributes[:'impact_score'] + end + + if attributes.key?(:'integrity_impact') + self.integrity_impact = attributes[:'integrity_impact'] + end + + if attributes.key?(:'privileges_required') + self.privileges_required = attributes[:'privileges_required'] + end + + if attributes.key?(:'scope') + self.scope = attributes[:'scope'] + end + + if attributes.key?(:'severity') + self.severity = attributes[:'severity'] + end + + if attributes.key?(:'user_interaction') + self.user_interaction = attributes[:'user_interaction'] + end + + if attributes.key?(:'vector') + self.vector = attributes[:'vector'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @base_score.nil? + invalid_properties.push('invalid value for "base_score", base_score cannot be nil.') + end + + if @vector.nil? + invalid_properties.push('invalid value for "vector", vector cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @base_score.nil? + return false if @vector.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attack_complexity == o.attack_complexity && + attack_vector == o.attack_vector && + availability_impact == o.availability_impact && + base_score == o.base_score && + confidentiality_impact == o.confidentiality_impact && + exploitability_score == o.exploitability_score && + impact_score == o.impact_score && + integrity_impact == o.integrity_impact && + privileges_required == o.privileges_required && + scope == o.scope && + severity == o.severity && + user_interaction == o.user_interaction && + vector == o.vector + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [attack_complexity, attack_vector, availability_impact, base_score, confidentiality_impact, exploitability_score, impact_score, integrity_impact, privileges_required, scope, severity, user_interaction, vector].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_denormalized_adversary_reference.rb b/lib/crimson-falcon/models/domain_denormalized_adversary_reference.rb new file mode 100644 index 00000000..d09f18e0 --- /dev/null +++ b/lib/crimson-falcon/models/domain_denormalized_adversary_reference.rb @@ -0,0 +1,257 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDenormalizedAdversaryReference + attr_accessor :id + + attr_accessor :name + + attr_accessor :type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name', + :'type' => :'type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'name' => :'String', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDenormalizedAdversaryReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDenormalizedAdversaryReference`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, name, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/msaspec_error.rb b/lib/crimson-falcon/models/domain_denormalized_country.rb similarity index 90% rename from lib/crimson-falcon/models/msaspec_error.rb rename to lib/crimson-falcon/models/domain_denormalized_country.rb index f15c8bbd..4e4a79bb 100644 --- a/lib/crimson-falcon/models/msaspec_error.rb +++ b/lib/crimson-falcon/models/domain_denormalized_country.rb @@ -31,19 +31,16 @@ require 'time' module Falcon - class MsaspecError + class DomainDenormalizedCountry attr_accessor :code - attr_accessor :id - - attr_accessor :message + attr_accessor :name # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'code' => :'code', - :'id' => :'id', - :'message' => :'message' + :'name' => :'name' } end @@ -55,9 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'code' => :'Integer', - :'id' => :'String', - :'message' => :'String' + :'code' => :'String', + :'name' => :'String' } end @@ -71,13 +67,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::MsaspecError` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDenormalizedCountry` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::MsaspecError`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDenormalizedCountry`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } @@ -86,12 +82,8 @@ def initialize(attributes = {}) self.code = attributes[:'code'] end - if attributes.key?(:'id') - self.id = attributes[:'id'] - end - - if attributes.key?(:'message') - self.message = attributes[:'message'] + if attributes.key?(:'name') + self.name = attributes[:'name'] end end @@ -103,8 +95,8 @@ def list_invalid_properties invalid_properties.push('invalid value for "code", code cannot be nil.') end - if @message.nil? - invalid_properties.push('invalid value for "message", message cannot be nil.') + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') end invalid_properties @@ -114,7 +106,7 @@ def list_invalid_properties # @return true if the model is valid def valid? return false if @code.nil? - return false if @message.nil? + return false if @name.nil? true end @@ -124,8 +116,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && code == o.code && - id == o.id && - message == o.message + name == o.name end # @see the `==` method @@ -137,7 +128,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [code, id, message].hash + [code, name].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_denormalized_customer_target.rb b/lib/crimson-falcon/models/domain_denormalized_customer_target.rb new file mode 100644 index 00000000..cf6b378b --- /dev/null +++ b/lib/crimson-falcon/models/domain_denormalized_customer_target.rb @@ -0,0 +1,239 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDenormalizedCustomerTarget + attr_accessor :customer_target + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'customer_target' => :'customer_target' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'customer_target' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDenormalizedCustomerTarget` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDenormalizedCustomerTarget`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'customer_target') + self.customer_target = attributes[:'customer_target'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @customer_target.nil? + invalid_properties.push('invalid value for "customer_target", customer_target cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @customer_target.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + customer_target == o.customer_target + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [customer_target].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_denormalized_report_reference.rb b/lib/crimson-falcon/models/domain_denormalized_report_reference.rb new file mode 100644 index 00000000..cd9af24e --- /dev/null +++ b/lib/crimson-falcon/models/domain_denormalized_report_reference.rb @@ -0,0 +1,257 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDenormalizedReportReference + attr_accessor :publish_date + + attr_accessor :report_id + + attr_accessor :title + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'publish_date' => :'publish_date', + :'report_id' => :'report_id', + :'title' => :'title' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'publish_date' => :'String', + :'report_id' => :'String', + :'title' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDenormalizedReportReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDenormalizedReportReference`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'publish_date') + self.publish_date = attributes[:'publish_date'] + end + + if attributes.key?(:'report_id') + self.report_id = attributes[:'report_id'] + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @report_id.nil? + invalid_properties.push('invalid value for "report_id", report_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @report_id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + publish_date == o.publish_date && + report_id == o.report_id && + title == o.title + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [publish_date, report_id, title].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_denormalized_sector.rb b/lib/crimson-falcon/models/domain_denormalized_sector.rb new file mode 100644 index 00000000..fc4227d7 --- /dev/null +++ b/lib/crimson-falcon/models/domain_denormalized_sector.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDenormalizedSector + attr_accessor :id + + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDenormalizedSector` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDenormalizedSector`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + return false if @name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_denormalized_threat_reference.rb b/lib/crimson-falcon/models/domain_denormalized_threat_reference.rb new file mode 100644 index 00000000..ebeac879 --- /dev/null +++ b/lib/crimson-falcon/models/domain_denormalized_threat_reference.rb @@ -0,0 +1,248 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDenormalizedThreatReference + attr_accessor :name + + attr_accessor :slug + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'slug' => :'slug' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'slug' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDenormalizedThreatReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDenormalizedThreatReference`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'slug') + self.slug = attributes[:'slug'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @slug.nil? + invalid_properties.push('invalid value for "slug", slug cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @slug.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + slug == o.slug + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, slug].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_denormalized_threat_used_mitre.rb b/lib/crimson-falcon/models/domain_denormalized_threat_used_mitre.rb new file mode 100644 index 00000000..d0c7e56b --- /dev/null +++ b/lib/crimson-falcon/models/domain_denormalized_threat_used_mitre.rb @@ -0,0 +1,292 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDenormalizedThreatUsedMitre + attr_accessor :attack_id + + attr_accessor :observables + + attr_accessor :reports + + attr_accessor :tactic_id + + attr_accessor :tactic_name + + attr_accessor :technique_id + + attr_accessor :technique_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'attack_id' => :'attack_id', + :'observables' => :'observables', + :'reports' => :'reports', + :'tactic_id' => :'tactic_id', + :'tactic_name' => :'tactic_name', + :'technique_id' => :'technique_id', + :'technique_name' => :'technique_name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'attack_id' => :'String', + :'observables' => :'Array', + :'reports' => :'Array', + :'tactic_id' => :'String', + :'tactic_name' => :'String', + :'technique_id' => :'String', + :'technique_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDenormalizedThreatUsedMitre` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDenormalizedThreatUsedMitre`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'attack_id') + self.attack_id = attributes[:'attack_id'] + end + + if attributes.key?(:'observables') + if (value = attributes[:'observables']).is_a?(Array) + self.observables = value + end + end + + if attributes.key?(:'reports') + if (value = attributes[:'reports']).is_a?(Array) + self.reports = value + end + end + + if attributes.key?(:'tactic_id') + self.tactic_id = attributes[:'tactic_id'] + end + + if attributes.key?(:'tactic_name') + self.tactic_name = attributes[:'tactic_name'] + end + + if attributes.key?(:'technique_id') + self.technique_id = attributes[:'technique_id'] + end + + if attributes.key?(:'technique_name') + self.technique_name = attributes[:'technique_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attack_id == o.attack_id && + observables == o.observables && + reports == o.reports && + tactic_id == o.tactic_id && + tactic_name == o.tactic_name && + technique_id == o.technique_id && + technique_name == o.technique_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [attack_id, observables, reports, tactic_id, tactic_name, technique_id, technique_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_device.rb b/lib/crimson-falcon/models/domain_device.rb index 51d70b3e..441ef9d0 100644 --- a/lib/crimson-falcon/models/domain_device.rb +++ b/lib/crimson-falcon/models/domain_device.rb @@ -32,7 +32,7 @@ module Falcon class DomainDevice - attr_accessor :platform_id_numeric + attr_accessor :_ attr_accessor :agent_version @@ -105,7 +105,7 @@ class DomainDevice # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'platform_id_numeric' => :'PlatformIDNumeric', + :'_' => :'_', :'agent_version' => :'agent_version', :'config_id_base' => :'config_id_base', :'config_id_build' => :'config_id_build', @@ -151,7 +151,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'platform_id_numeric' => :'Integer', + :'_' => :'Integer', :'agent_version' => :'String', :'config_id_base' => :'String', :'config_id_build' => :'String', @@ -210,8 +210,8 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'platform_id_numeric') - self.platform_id_numeric = attributes[:'platform_id_numeric'] + if attributes.key?(:'_') + self._ = attributes[:'_'] end if attributes.key?(:'agent_version') @@ -361,8 +361,8 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @platform_id_numeric.nil? - invalid_properties.push('invalid value for "platform_id_numeric", platform_id_numeric cannot be nil.') + if @_.nil? + invalid_properties.push('invalid value for "_", _ cannot be nil.') end if @device_id.nil? @@ -375,7 +375,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @platform_id_numeric.nil? + return false if @_.nil? return false if @device_id.nil? true end @@ -385,7 +385,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - platform_id_numeric == o.platform_id_numeric && + _ == o._ && agent_version == o.agent_version && config_id_base == o.config_id_base && config_id_build == o.config_id_build && @@ -431,7 +431,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [platform_id_numeric, agent_version, config_id_base, config_id_build, config_id_platform, device_id, device_policies, external_ip, first_login_timestamp, first_login_user, first_seen, hostname, last_login_timestamp, last_login_user, last_seen, last_seen_ago_seconds, local_ip, mac_address, machine_domain, major_version, minor_version, modified_timestamp, notes, os_version, ou, platform_id, platform_name, product_type, product_type_desc, release_group, site_name, status, system_manufacturer, system_product_name, tags].hash + [_, agent_version, config_id_base, config_id_build, config_id_platform, device_id, device_policies, external_ip, first_login_timestamp, first_login_user, first_seen, hostname, last_login_timestamp, last_login_user, last_seen, last_seen_ago_seconds, local_ip, mac_address, machine_domain, major_version, minor_version, modified_timestamp, notes, os_version, ou, platform_id, platform_name, product_type, product_type_desc, release_group, site_name, status, system_manufacturer, system_product_name, tags].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_discover_api_account.rb b/lib/crimson-falcon/models/domain_discover_api_account.rb index e6d6861e..26718ec3 100644 --- a/lib/crimson-falcon/models/domain_discover_api_account.rb +++ b/lib/crimson-falcon/models/domain_discover_api_account.rb @@ -57,7 +57,7 @@ class DomainDiscoverAPIAccount # The date and time of the account's most recent failed login. attr_accessor :last_failed_login_timestamp - # The type of the account's most recent failed login.
  • Interactive
  • Network
  • Batch
  • Service
  • Unlock
  • Network cleartext
  • New credentials
  • Terminal server
  • Cached credentials
  • Auditing
+ # The type of the account's most recent failed login.
  • Interactive
  • Network
  • Batch
  • Service
  • Unlock
  • Network cleartext
  • New credentials
  • Remote interactive
  • Cached credentials
  • Auditing
attr_accessor :last_failed_login_type # The name of the city where the asset is located on which the account last successfully logged in. @@ -75,7 +75,7 @@ class DomainDiscoverAPIAccount # The date and time of the account's most recent successful login. attr_accessor :last_successful_login_timestamp - # The type of the account's most recent successful login.
  • Interactive
  • Service
  • Terminal server
  • Cached credentials
  • Auditing
+ # The type of the account's most recent successful login.
  • Interactive
  • Network
  • Service
  • Remote interactive
  • Cached credentials
  • Auditing
attr_accessor :last_successful_login_type # Whether the account has local administrator privileges (Yes, No). diff --git a/lib/crimson-falcon/models/domain_discover_api_account_entities_response.rb b/lib/crimson-falcon/models/domain_discover_api_account_entities_response.rb index a42923a0..1e1d6d15 100644 --- a/lib/crimson-falcon/models/domain_discover_api_account_entities_response.rb +++ b/lib/crimson-falcon/models/domain_discover_api_account_entities_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_discover_api_application.rb b/lib/crimson-falcon/models/domain_discover_api_application.rb index 570ca61f..93ea1f25 100644 --- a/lib/crimson-falcon/models/domain_discover_api_application.rb +++ b/lib/crimson-falcon/models/domain_discover_api_application.rb @@ -36,6 +36,8 @@ class DomainDiscoverAPIApplication # Represents the application architectures (x86 / x64). attr_accessor :architectures + attr_accessor :browser_extension + # The category of the application. attr_accessor :category @@ -92,6 +94,9 @@ class DomainDiscoverAPIApplication # The combined field on which we will be able to group by app + version. attr_accessor :name_vendor_version + # The type of software of the application. + attr_accessor :software_type + # The name the application's vendor. attr_accessor :vendor @@ -105,6 +110,7 @@ class DomainDiscoverAPIApplication def self.attribute_map { :'architectures' => :'architectures', + :'browser_extension' => :'browser_extension', :'category' => :'category', :'cid' => :'cid', :'first_seen_timestamp' => :'first_seen_timestamp', @@ -124,6 +130,7 @@ def self.attribute_map :'name' => :'name', :'name_vendor' => :'name_vendor', :'name_vendor_version' => :'name_vendor_version', + :'software_type' => :'software_type', :'vendor' => :'vendor', :'version' => :'version', :'versioning_scheme' => :'versioning_scheme' @@ -139,6 +146,7 @@ def self.acceptable_attributes def self.openapi_types { :'architectures' => :'Array', + :'browser_extension' => :'DomainDiscoverAPIApplicationBrowserExtension', :'category' => :'String', :'cid' => :'String', :'first_seen_timestamp' => :'String', @@ -158,6 +166,7 @@ def self.openapi_types :'name' => :'String', :'name_vendor' => :'String', :'name_vendor_version' => :'String', + :'software_type' => :'String', :'vendor' => :'String', :'version' => :'String', :'versioning_scheme' => :'String' @@ -191,6 +200,10 @@ def initialize(attributes = {}) end end + if attributes.key?(:'browser_extension') + self.browser_extension = attributes[:'browser_extension'] + end + if attributes.key?(:'category') self.category = attributes[:'category'] end @@ -271,6 +284,10 @@ def initialize(attributes = {}) self.name_vendor_version = attributes[:'name_vendor_version'] end + if attributes.key?(:'software_type') + self.software_type = attributes[:'software_type'] + end + if attributes.key?(:'vendor') self.vendor = attributes[:'vendor'] end @@ -313,6 +330,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && architectures == o.architectures && + browser_extension == o.browser_extension && category == o.category && cid == o.cid && first_seen_timestamp == o.first_seen_timestamp && @@ -332,6 +350,7 @@ def ==(o) name == o.name && name_vendor == o.name_vendor && name_vendor_version == o.name_vendor_version && + software_type == o.software_type && vendor == o.vendor && version == o.version && versioning_scheme == o.versioning_scheme @@ -346,7 +365,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [architectures, category, cid, first_seen_timestamp, groups, host, id, installation_paths, installation_timestamp, is_normalized, is_suspicious, last_updated_timestamp, last_used_file_hash, last_used_file_name, last_used_timestamp, last_used_user_name, last_used_user_sid, name, name_vendor, name_vendor_version, vendor, version, versioning_scheme].hash + [architectures, browser_extension, category, cid, first_seen_timestamp, groups, host, id, installation_paths, installation_timestamp, is_normalized, is_suspicious, last_updated_timestamp, last_used_file_hash, last_used_file_name, last_used_timestamp, last_used_user_name, last_used_user_sid, name, name_vendor, name_vendor_version, software_type, vendor, version, versioning_scheme].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_discover_api_application_browser_extension.rb b/lib/crimson-falcon/models/domain_discover_api_application_browser_extension.rb new file mode 100644 index 00000000..6c07154c --- /dev/null +++ b/lib/crimson-falcon/models/domain_discover_api_application_browser_extension.rb @@ -0,0 +1,320 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + # Uniquely identifies a browser extension. + class DomainDiscoverAPIApplicationBrowserExtension + # The architecture of the browser extension + attr_accessor :architecture + + # The name of the browser that's running the extension + attr_accessor :browser_name + + # Describes if the extension is enabled on the host on at least one browser profile + attr_accessor :enabled + + # The unique ID of the browser extension. + attr_accessor :id + + # The installations of this browser extension for each browser profile + attr_accessor :installations + + # The computed serverity of all permissions requested by the browser extension + attr_accessor :permission_severity + + # The browser permissions the extension requires to run + attr_accessor :permissions + + # The calculated browser webstore URL for this extension + attr_accessor :store_url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'architecture' => :'architecture', + :'browser_name' => :'browser_name', + :'enabled' => :'enabled', + :'id' => :'id', + :'installations' => :'installations', + :'permission_severity' => :'permission_severity', + :'permissions' => :'permissions', + :'store_url' => :'store_url' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'architecture' => :'String', + :'browser_name' => :'String', + :'enabled' => :'Boolean', + :'id' => :'String', + :'installations' => :'Array', + :'permission_severity' => :'String', + :'permissions' => :'Array', + :'store_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDiscoverAPIApplicationBrowserExtension` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDiscoverAPIApplicationBrowserExtension`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'architecture') + self.architecture = attributes[:'architecture'] + end + + if attributes.key?(:'browser_name') + self.browser_name = attributes[:'browser_name'] + end + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'installations') + if (value = attributes[:'installations']).is_a?(Array) + self.installations = value + end + end + + if attributes.key?(:'permission_severity') + self.permission_severity = attributes[:'permission_severity'] + end + + if attributes.key?(:'permissions') + if (value = attributes[:'permissions']).is_a?(Array) + self.permissions = value + end + end + + if attributes.key?(:'store_url') + self.store_url = attributes[:'store_url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @enabled.nil? + invalid_properties.push('invalid value for "enabled", enabled cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @enabled.nil? + return false if @id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + architecture == o.architecture && + browser_name == o.browser_name && + enabled == o.enabled && + id == o.id && + installations == o.installations && + permission_severity == o.permission_severity && + permissions == o.permissions && + store_url == o.store_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [architecture, browser_name, enabled, id, installations, permission_severity, permissions, store_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_discover_api_application_browser_extension_installation.rb b/lib/crimson-falcon/models/domain_discover_api_application_browser_extension_installation.rb new file mode 100644 index 00000000..96278970 --- /dev/null +++ b/lib/crimson-falcon/models/domain_discover_api_application_browser_extension_installation.rb @@ -0,0 +1,320 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDiscoverAPIApplicationBrowserExtensionInstallation + # The browser profile ID of this installation + attr_accessor :browser_profile_id + + # The browser profile name of this installation + attr_accessor :browser_profile_name + + # The version of the browser running this extension + attr_accessor :browser_version + + # Describes if the extension is enabled on this browser profile installation + attr_accessor :enabled + + # The method that was used to install the browser extension + attr_accessor :method + + # The file path location of the browser extension + attr_accessor :path + + # The role of the account that installed the extension + attr_accessor :role + + # The host user SID for which the extension was installed + attr_accessor :user_sid + + # The host username for which the extension was installed + attr_accessor :username + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'browser_profile_id' => :'browser_profile_id', + :'browser_profile_name' => :'browser_profile_name', + :'browser_version' => :'browser_version', + :'enabled' => :'enabled', + :'method' => :'method', + :'path' => :'path', + :'role' => :'role', + :'user_sid' => :'user_sid', + :'username' => :'username' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'browser_profile_id' => :'String', + :'browser_profile_name' => :'String', + :'browser_version' => :'String', + :'enabled' => :'Boolean', + :'method' => :'String', + :'path' => :'String', + :'role' => :'String', + :'user_sid' => :'String', + :'username' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDiscoverAPIApplicationBrowserExtensionInstallation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDiscoverAPIApplicationBrowserExtensionInstallation`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'browser_profile_id') + self.browser_profile_id = attributes[:'browser_profile_id'] + end + + if attributes.key?(:'browser_profile_name') + self.browser_profile_name = attributes[:'browser_profile_name'] + end + + if attributes.key?(:'browser_version') + self.browser_version = attributes[:'browser_version'] + end + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'method') + self.method = attributes[:'method'] + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + end + + if attributes.key?(:'role') + self.role = attributes[:'role'] + end + + if attributes.key?(:'user_sid') + self.user_sid = attributes[:'user_sid'] + end + + if attributes.key?(:'username') + self.username = attributes[:'username'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @enabled.nil? + invalid_properties.push('invalid value for "enabled", enabled cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @enabled.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + browser_profile_id == o.browser_profile_id && + browser_profile_name == o.browser_profile_name && + browser_version == o.browser_version && + enabled == o.enabled && + method == o.method && + path == o.path && + role == o.role && + user_sid == o.user_sid && + username == o.username + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [browser_profile_id, browser_profile_name, browser_version, enabled, method, path, role, user_sid, username].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_discover_api_application_entities_response.rb b/lib/crimson-falcon/models/domain_discover_api_application_entities_response.rb index 6ac62ae6..caa0d6f8 100644 --- a/lib/crimson-falcon/models/domain_discover_api_application_entities_response.rb +++ b/lib/crimson-falcon/models/domain_discover_api_application_entities_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_discover_api_combined_applications_response.rb b/lib/crimson-falcon/models/domain_discover_api_combined_applications_response.rb new file mode 100644 index 00000000..9953c009 --- /dev/null +++ b/lib/crimson-falcon/models/domain_discover_api_combined_applications_response.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDiscoverAPICombinedApplicationsResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'DomainDiscoverAPIMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDiscoverAPICombinedApplicationsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDiscoverAPICombinedApplicationsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_discover_api_combined_hosts_response.rb b/lib/crimson-falcon/models/domain_discover_api_combined_hosts_response.rb new file mode 100644 index 00000000..93630936 --- /dev/null +++ b/lib/crimson-falcon/models/domain_discover_api_combined_hosts_response.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDiscoverAPICombinedHostsResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'DomainDiscoverAPIMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDiscoverAPICombinedHostsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDiscoverAPICombinedHostsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_discover_api_host.rb b/lib/crimson-falcon/models/domain_discover_api_host.rb index cde736b3..47ec2d0b 100644 --- a/lib/crimson-falcon/models/domain_discover_api_host.rb +++ b/lib/crimson-falcon/models/domain_discover_api_host.rb @@ -31,7 +31,6 @@ require 'time' module Falcon - # Represents information about a managed, an unmanaged or an unsupported asset. class DomainDiscoverAPIHost # Whether the asset is account-enabled in Active Directory (Yes or No). attr_accessor :account_enabled @@ -80,12 +79,18 @@ class DomainDiscoverAPIHost # The asset's BIOS version. attr_accessor :bios_version + # The business criticality of the IoT asset. + attr_accessor :business_criticality + # The asset's customer ID. attr_accessor :cid # The name of the city where the asset is located. attr_accessor :city + # The external ID of the IoT Device in 3rd Party System(Claroty). + attr_accessor :claroty_id + # How the server is classified, such as production, development, disaster recovery, or user acceptance testing. attr_accessor :classification @@ -167,6 +172,21 @@ class DomainDiscoverAPIHost # The descriptions of the asset in Active Directory (Cannot be used for filtering, sorting, or querying). attr_accessor :descriptions + # The Device Class of IoT Asset + attr_accessor :device_class + + # The Device Family of IoT Asset + attr_accessor :device_family + + # The device mode of the host + attr_accessor :device_mode + + # The slots of IoT Asset + attr_accessor :device_slots + + # The Device Type of IoT Asset + attr_accessor :device_type + # The agent IDs of the Falcon sensors installed on the sources that discovered the asset. attr_accessor :discoverer_aids @@ -179,6 +199,9 @@ class DomainDiscoverAPIHost # The hostnames of the sources that discovered the asset. attr_accessor :discoverer_hostnames + # A list of agent IDs of the Falcon sensors installed on the source hosts that discovered the asset via ICS Asset discovery mechanism + attr_accessor :discoverer_ics_collector_ids + # The platform names of the sources that discovered the asset. attr_accessor :discoverer_platform_names @@ -194,6 +217,9 @@ class DomainDiscoverAPIHost # The names and sizes of the disks on the asset attr_accessor :disk_sizes + # The ID generated by dragos asset discovery mechanism + attr_accessor :dragos_id + # The email of the asset as listed in Active Directory. attr_accessor :email @@ -233,6 +259,9 @@ class DomainDiscoverAPIHost # The asset's hostname. attr_accessor :hostname + # The ID generated by ICS collector asset discovery mechanism + attr_accessor :ics_id + # The unique ID of the asset. attr_accessor :id @@ -257,6 +286,9 @@ class DomainDiscoverAPIHost # The hostname of the last source that discovered the asset. attr_accessor :last_discoverer_hostname + # The agent ID of the Falcon sensor installed on the source host that most recently discovered the asset via ICS Asset discovery mechanism + attr_accessor :last_discoverer_ics_collector_id + # The most recent time the asset was seen in your environment. attr_accessor :last_seen_timestamp @@ -290,12 +322,21 @@ class DomainDiscoverAPIHost # The max processor usage in the last 15 minutes on the host attr_accessor :max_processor_usage + # The Total memory. + attr_accessor :memory_total + # The path, used and available space on mounted disks attr_accessor :mount_storage_info + # The network ID to which device is connected. + attr_accessor :network_id + # The asset's network interfaces (Cannot be used for filtering, sorting, or querying). attr_accessor :network_interfaces + # The set of unique identifiers for the asset scanned by the Falcon sensor. + attr_accessor :network_scanned_ids + # The number of active physical drives available on the system. attr_accessor :number_of_disk_drives @@ -316,6 +357,15 @@ class DomainDiscoverAPIHost # The OS version of the asset. attr_accessor :os_version + # A list of sources through which host is discovered + attr_accessor :ot_information_sources + + # A list of network ids to which host belongs + attr_accessor :ot_network_ids + + # A list of ot serial numbers that discovered with host + attr_accessor :ot_serial_numbers + # The organizational unit of the asset. attr_accessor :ou @@ -346,6 +396,18 @@ class DomainDiscoverAPIHost # The product type of the asset (Workstation, Domain Controller, Server). attr_accessor :product_type_desc + # The list of protocols supported by the device + attr_accessor :protocols + + # The purdue level of IoT Asset + attr_accessor :purdue_level + + # Represents the unique identifier of an asset reported by Qualys + attr_accessor :qualys_id + + # Represents the network id of an asset reported by Qualys + attr_accessor :qualys_network_id + # Whether the asset is in reduced functionality mode (Yes or No). attr_accessor :reduced_functionality_mode @@ -358,6 +420,9 @@ class DomainDiscoverAPIHost # The name of the U.S. state where the asset is located. attr_accessor :state + # The subnet to which device is connected. + attr_accessor :subnet + # The asset's system manufacturer. attr_accessor :system_manufacturer @@ -405,6 +470,15 @@ class DomainDiscoverAPIHost # The internet exposure manually assigned to the asset attr_accessor :user_internet_exposure + # The Virtual Zone name in which device is installed. + attr_accessor :virtual_zone + + # The VLAN IDs to which device is connected. + attr_accessor :vlan + + # The external ID of the IoT Device in 3rd Party System(Claroty Xdome) + attr_accessor :xdome_id + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -424,8 +498,10 @@ def self.attribute_map :'bios_id' => :'bios_id', :'bios_manufacturer' => :'bios_manufacturer', :'bios_version' => :'bios_version', + :'business_criticality' => :'business_criticality', :'cid' => :'cid', :'city' => :'city', + :'claroty_id' => :'claroty_id', :'classification' => :'classification', :'cloud_account_id' => :'cloud_account_id', :'cloud_instance_id' => :'cloud_instance_id', @@ -453,15 +529,22 @@ def self.attribute_map :'data_providers_count' => :'data_providers_count', :'department' => :'department', :'descriptions' => :'descriptions', + :'device_class' => :'device_class', + :'device_family' => :'device_family', + :'device_mode' => :'device_mode', + :'device_slots' => :'device_slots', + :'device_type' => :'device_type', :'discoverer_aids' => :'discoverer_aids', :'discoverer_count' => :'discoverer_count', :'discoverer_criticalities' => :'discoverer_criticalities', :'discoverer_hostnames' => :'discoverer_hostnames', + :'discoverer_ics_collector_ids' => :'discoverer_ics_collector_ids', :'discoverer_platform_names' => :'discoverer_platform_names', :'discoverer_product_type_descs' => :'discoverer_product_type_descs', :'discoverer_tags' => :'discoverer_tags', :'discovering_by' => :'discovering_by', :'disk_sizes' => :'disk_sizes', + :'dragos_id' => :'dragos_id', :'email' => :'email', :'encrypted_drives' => :'encrypted_drives', :'encrypted_drives_count' => :'encrypted_drives_count', @@ -475,6 +558,7 @@ def self.attribute_map :'fqdn' => :'fqdn', :'groups' => :'groups', :'hostname' => :'hostname', + :'ics_id' => :'ics_id', :'id' => :'id', :'internet_exposure' => :'internet_exposure', :'internet_exposure_description' => :'internet_exposure_description', @@ -483,6 +567,7 @@ def self.attribute_map :'kernel_version' => :'kernel_version', :'last_discoverer_aid' => :'last_discoverer_aid', :'last_discoverer_hostname' => :'last_discoverer_hostname', + :'last_discoverer_ics_collector_id' => :'last_discoverer_ics_collector_id', :'last_seen_timestamp' => :'last_seen_timestamp', :'local_ip_addresses' => :'local_ip_addresses', :'local_ips_count' => :'local_ips_count', @@ -494,8 +579,11 @@ def self.attribute_map :'max_memory_usage' => :'max_memory_usage', :'max_memory_usage_pct' => :'max_memory_usage_pct', :'max_processor_usage' => :'max_processor_usage', + :'memory_total' => :'memory_total', :'mount_storage_info' => :'mount_storage_info', + :'network_id' => :'network_id', :'network_interfaces' => :'network_interfaces', + :'network_scanned_ids' => :'network_scanned_ids', :'number_of_disk_drives' => :'number_of_disk_drives', :'object_guid' => :'object_guid', :'object_sid' => :'object_sid', @@ -503,6 +591,9 @@ def self.attribute_map :'os_security' => :'os_security', :'os_service_pack' => :'os_service_pack', :'os_version' => :'os_version', + :'ot_information_sources' => :'ot_information_sources', + :'ot_network_ids' => :'ot_network_ids', + :'ot_serial_numbers' => :'ot_serial_numbers', :'ou' => :'ou', :'override_asset_roles' => :'override_asset_roles', :'override_criticality_rules' => :'override_criticality_rules', @@ -513,10 +604,15 @@ def self.attribute_map :'processor_package_count' => :'processor_package_count', :'product_type' => :'product_type', :'product_type_desc' => :'product_type_desc', + :'protocols' => :'protocols', + :'purdue_level' => :'purdue_level', + :'qualys_id' => :'qualys_id', + :'qualys_network_id' => :'qualys_network_id', :'reduced_functionality_mode' => :'reduced_functionality_mode', :'servicenow_id' => :'servicenow_id', :'site_name' => :'site_name', :'state' => :'state', + :'subnet' => :'subnet', :'system_manufacturer' => :'system_manufacturer', :'system_product_name' => :'system_product_name', :'system_serial_number' => :'system_serial_number', @@ -532,7 +628,10 @@ def self.attribute_map :'used_disk_space_pct' => :'used_disk_space_pct', :'used_for' => :'used_for', :'user_asset_roles' => :'user_asset_roles', - :'user_internet_exposure' => :'user_internet_exposure' + :'user_internet_exposure' => :'user_internet_exposure', + :'virtual_zone' => :'virtual_zone', + :'vlan' => :'vlan', + :'xdome_id' => :'xdome_id' } end @@ -560,8 +659,10 @@ def self.openapi_types :'bios_id' => :'String', :'bios_manufacturer' => :'String', :'bios_version' => :'String', + :'business_criticality' => :'String', :'cid' => :'String', :'city' => :'String', + :'claroty_id' => :'String', :'classification' => :'String', :'cloud_account_id' => :'String', :'cloud_instance_id' => :'String', @@ -589,15 +690,22 @@ def self.openapi_types :'data_providers_count' => :'Integer', :'department' => :'String', :'descriptions' => :'Array', + :'device_class' => :'String', + :'device_family' => :'String', + :'device_mode' => :'String', + :'device_slots' => :'Array', + :'device_type' => :'String', :'discoverer_aids' => :'Array', :'discoverer_count' => :'Integer', :'discoverer_criticalities' => :'Array', :'discoverer_hostnames' => :'Array', + :'discoverer_ics_collector_ids' => :'Array', :'discoverer_platform_names' => :'Array', :'discoverer_product_type_descs' => :'Array', :'discoverer_tags' => :'Array', :'discovering_by' => :'Array', :'disk_sizes' => :'Array', + :'dragos_id' => :'String', :'email' => :'String', :'encrypted_drives' => :'Array', :'encrypted_drives_count' => :'Integer', @@ -611,6 +719,7 @@ def self.openapi_types :'fqdn' => :'String', :'groups' => :'Array', :'hostname' => :'String', + :'ics_id' => :'String', :'id' => :'String', :'internet_exposure' => :'String', :'internet_exposure_description' => :'String', @@ -619,6 +728,7 @@ def self.openapi_types :'kernel_version' => :'String', :'last_discoverer_aid' => :'String', :'last_discoverer_hostname' => :'String', + :'last_discoverer_ics_collector_id' => :'String', :'last_seen_timestamp' => :'String', :'local_ip_addresses' => :'Array', :'local_ips_count' => :'Integer', @@ -630,8 +740,11 @@ def self.openapi_types :'max_memory_usage' => :'Integer', :'max_memory_usage_pct' => :'Integer', :'max_processor_usage' => :'Integer', + :'memory_total' => :'Integer', :'mount_storage_info' => :'Array', + :'network_id' => :'String', :'network_interfaces' => :'Array', + :'network_scanned_ids' => :'Array', :'number_of_disk_drives' => :'Integer', :'object_guid' => :'String', :'object_sid' => :'String', @@ -639,6 +752,9 @@ def self.openapi_types :'os_security' => :'DomainDiscoverAPIOsSecurity', :'os_service_pack' => :'String', :'os_version' => :'String', + :'ot_information_sources' => :'Array', + :'ot_network_ids' => :'Array', + :'ot_serial_numbers' => :'Array', :'ou' => :'String', :'override_asset_roles' => :'Boolean', :'override_criticality_rules' => :'Boolean', @@ -649,10 +765,15 @@ def self.openapi_types :'processor_package_count' => :'Integer', :'product_type' => :'String', :'product_type_desc' => :'String', + :'protocols' => :'Array', + :'purdue_level' => :'String', + :'qualys_id' => :'String', + :'qualys_network_id' => :'String', :'reduced_functionality_mode' => :'String', :'servicenow_id' => :'String', :'site_name' => :'String', :'state' => :'String', + :'subnet' => :'String', :'system_manufacturer' => :'String', :'system_product_name' => :'String', :'system_serial_number' => :'String', @@ -668,7 +789,10 @@ def self.openapi_types :'used_disk_space_pct' => :'Integer', :'used_for' => :'String', :'user_asset_roles' => :'Array', - :'user_internet_exposure' => :'String' + :'user_internet_exposure' => :'String', + :'virtual_zone' => :'String', + :'vlan' => :'Array', + :'xdome_id' => :'String' } end @@ -761,6 +885,10 @@ def initialize(attributes = {}) self.bios_version = attributes[:'bios_version'] end + if attributes.key?(:'business_criticality') + self.business_criticality = attributes[:'business_criticality'] + end + if attributes.key?(:'cid') self.cid = attributes[:'cid'] end @@ -769,6 +897,10 @@ def initialize(attributes = {}) self.city = attributes[:'city'] end + if attributes.key?(:'claroty_id') + self.claroty_id = attributes[:'claroty_id'] + end + if attributes.key?(:'classification') self.classification = attributes[:'classification'] end @@ -883,6 +1015,28 @@ def initialize(attributes = {}) end end + if attributes.key?(:'device_class') + self.device_class = attributes[:'device_class'] + end + + if attributes.key?(:'device_family') + self.device_family = attributes[:'device_family'] + end + + if attributes.key?(:'device_mode') + self.device_mode = attributes[:'device_mode'] + end + + if attributes.key?(:'device_slots') + if (value = attributes[:'device_slots']).is_a?(Array) + self.device_slots = value + end + end + + if attributes.key?(:'device_type') + self.device_type = attributes[:'device_type'] + end + if attributes.key?(:'discoverer_aids') if (value = attributes[:'discoverer_aids']).is_a?(Array) self.discoverer_aids = value @@ -905,6 +1059,12 @@ def initialize(attributes = {}) end end + if attributes.key?(:'discoverer_ics_collector_ids') + if (value = attributes[:'discoverer_ics_collector_ids']).is_a?(Array) + self.discoverer_ics_collector_ids = value + end + end + if attributes.key?(:'discoverer_platform_names') if (value = attributes[:'discoverer_platform_names']).is_a?(Array) self.discoverer_platform_names = value @@ -935,6 +1095,10 @@ def initialize(attributes = {}) end end + if attributes.key?(:'dragos_id') + self.dragos_id = attributes[:'dragos_id'] + end + if attributes.key?(:'email') self.email = attributes[:'email'] end @@ -993,6 +1157,10 @@ def initialize(attributes = {}) self.hostname = attributes[:'hostname'] end + if attributes.key?(:'ics_id') + self.ics_id = attributes[:'ics_id'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -1025,6 +1193,10 @@ def initialize(attributes = {}) self.last_discoverer_hostname = attributes[:'last_discoverer_hostname'] end + if attributes.key?(:'last_discoverer_ics_collector_id') + self.last_discoverer_ics_collector_id = attributes[:'last_discoverer_ics_collector_id'] + end + if attributes.key?(:'last_seen_timestamp') self.last_seen_timestamp = attributes[:'last_seen_timestamp'] end @@ -1073,18 +1245,32 @@ def initialize(attributes = {}) self.max_processor_usage = attributes[:'max_processor_usage'] end + if attributes.key?(:'memory_total') + self.memory_total = attributes[:'memory_total'] + end + if attributes.key?(:'mount_storage_info') if (value = attributes[:'mount_storage_info']).is_a?(Array) self.mount_storage_info = value end end + if attributes.key?(:'network_id') + self.network_id = attributes[:'network_id'] + end + if attributes.key?(:'network_interfaces') if (value = attributes[:'network_interfaces']).is_a?(Array) self.network_interfaces = value end end + if attributes.key?(:'network_scanned_ids') + if (value = attributes[:'network_scanned_ids']).is_a?(Array) + self.network_scanned_ids = value + end + end + if attributes.key?(:'number_of_disk_drives') self.number_of_disk_drives = attributes[:'number_of_disk_drives'] end @@ -1113,6 +1299,24 @@ def initialize(attributes = {}) self.os_version = attributes[:'os_version'] end + if attributes.key?(:'ot_information_sources') + if (value = attributes[:'ot_information_sources']).is_a?(Array) + self.ot_information_sources = value + end + end + + if attributes.key?(:'ot_network_ids') + if (value = attributes[:'ot_network_ids']).is_a?(Array) + self.ot_network_ids = value + end + end + + if attributes.key?(:'ot_serial_numbers') + if (value = attributes[:'ot_serial_numbers']).is_a?(Array) + self.ot_serial_numbers = value + end + end + if attributes.key?(:'ou') self.ou = attributes[:'ou'] end @@ -1153,6 +1357,24 @@ def initialize(attributes = {}) self.product_type_desc = attributes[:'product_type_desc'] end + if attributes.key?(:'protocols') + if (value = attributes[:'protocols']).is_a?(Array) + self.protocols = value + end + end + + if attributes.key?(:'purdue_level') + self.purdue_level = attributes[:'purdue_level'] + end + + if attributes.key?(:'qualys_id') + self.qualys_id = attributes[:'qualys_id'] + end + + if attributes.key?(:'qualys_network_id') + self.qualys_network_id = attributes[:'qualys_network_id'] + end + if attributes.key?(:'reduced_functionality_mode') self.reduced_functionality_mode = attributes[:'reduced_functionality_mode'] end @@ -1169,6 +1391,10 @@ def initialize(attributes = {}) self.state = attributes[:'state'] end + if attributes.key?(:'subnet') + self.subnet = attributes[:'subnet'] + end + if attributes.key?(:'system_manufacturer') self.system_manufacturer = attributes[:'system_manufacturer'] end @@ -1238,6 +1464,20 @@ def initialize(attributes = {}) if attributes.key?(:'user_internet_exposure') self.user_internet_exposure = attributes[:'user_internet_exposure'] end + + if attributes.key?(:'virtual_zone') + self.virtual_zone = attributes[:'virtual_zone'] + end + + if attributes.key?(:'vlan') + if (value = attributes[:'vlan']).is_a?(Array) + self.vlan = value + end + end + + if attributes.key?(:'xdome_id') + self.xdome_id = attributes[:'xdome_id'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -1284,8 +1524,10 @@ def ==(o) bios_id == o.bios_id && bios_manufacturer == o.bios_manufacturer && bios_version == o.bios_version && + business_criticality == o.business_criticality && cid == o.cid && city == o.city && + claroty_id == o.claroty_id && classification == o.classification && cloud_account_id == o.cloud_account_id && cloud_instance_id == o.cloud_instance_id && @@ -1313,15 +1555,22 @@ def ==(o) data_providers_count == o.data_providers_count && department == o.department && descriptions == o.descriptions && + device_class == o.device_class && + device_family == o.device_family && + device_mode == o.device_mode && + device_slots == o.device_slots && + device_type == o.device_type && discoverer_aids == o.discoverer_aids && discoverer_count == o.discoverer_count && discoverer_criticalities == o.discoverer_criticalities && discoverer_hostnames == o.discoverer_hostnames && + discoverer_ics_collector_ids == o.discoverer_ics_collector_ids && discoverer_platform_names == o.discoverer_platform_names && discoverer_product_type_descs == o.discoverer_product_type_descs && discoverer_tags == o.discoverer_tags && discovering_by == o.discovering_by && disk_sizes == o.disk_sizes && + dragos_id == o.dragos_id && email == o.email && encrypted_drives == o.encrypted_drives && encrypted_drives_count == o.encrypted_drives_count && @@ -1335,6 +1584,7 @@ def ==(o) fqdn == o.fqdn && groups == o.groups && hostname == o.hostname && + ics_id == o.ics_id && id == o.id && internet_exposure == o.internet_exposure && internet_exposure_description == o.internet_exposure_description && @@ -1343,6 +1593,7 @@ def ==(o) kernel_version == o.kernel_version && last_discoverer_aid == o.last_discoverer_aid && last_discoverer_hostname == o.last_discoverer_hostname && + last_discoverer_ics_collector_id == o.last_discoverer_ics_collector_id && last_seen_timestamp == o.last_seen_timestamp && local_ip_addresses == o.local_ip_addresses && local_ips_count == o.local_ips_count && @@ -1354,8 +1605,11 @@ def ==(o) max_memory_usage == o.max_memory_usage && max_memory_usage_pct == o.max_memory_usage_pct && max_processor_usage == o.max_processor_usage && + memory_total == o.memory_total && mount_storage_info == o.mount_storage_info && + network_id == o.network_id && network_interfaces == o.network_interfaces && + network_scanned_ids == o.network_scanned_ids && number_of_disk_drives == o.number_of_disk_drives && object_guid == o.object_guid && object_sid == o.object_sid && @@ -1363,6 +1617,9 @@ def ==(o) os_security == o.os_security && os_service_pack == o.os_service_pack && os_version == o.os_version && + ot_information_sources == o.ot_information_sources && + ot_network_ids == o.ot_network_ids && + ot_serial_numbers == o.ot_serial_numbers && ou == o.ou && override_asset_roles == o.override_asset_roles && override_criticality_rules == o.override_criticality_rules && @@ -1373,10 +1630,15 @@ def ==(o) processor_package_count == o.processor_package_count && product_type == o.product_type && product_type_desc == o.product_type_desc && + protocols == o.protocols && + purdue_level == o.purdue_level && + qualys_id == o.qualys_id && + qualys_network_id == o.qualys_network_id && reduced_functionality_mode == o.reduced_functionality_mode && servicenow_id == o.servicenow_id && site_name == o.site_name && state == o.state && + subnet == o.subnet && system_manufacturer == o.system_manufacturer && system_product_name == o.system_product_name && system_serial_number == o.system_serial_number && @@ -1392,7 +1654,10 @@ def ==(o) used_disk_space_pct == o.used_disk_space_pct && used_for == o.used_for && user_asset_roles == o.user_asset_roles && - user_internet_exposure == o.user_internet_exposure + user_internet_exposure == o.user_internet_exposure && + virtual_zone == o.virtual_zone && + vlan == o.vlan && + xdome_id == o.xdome_id end # @see the `==` method @@ -1404,7 +1669,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [account_enabled, active_discovery, ad_user_account_control, agent_version, aid, asset_roles, assigned_to, available_disk_space, available_disk_space_pct, average_memory_usage, average_memory_usage_pct, average_processor_usage, bios_hashes_data, bios_id, bios_manufacturer, bios_version, cid, city, classification, cloud_account_id, cloud_instance_id, cloud_provider, cloud_region, cloud_registered, cloud_resource_id, computed_asset_roles, computed_internet_exposure, computed_internet_exposure_external_ip, computed_internet_exposure_last_seen, confidence, country, cpu_manufacturer, cpu_processor_name, creation_timestamp, criticality, criticality_description, criticality_rule_id, criticality_timestamp, criticality_username, current_local_ip, current_network_prefix, data_providers, data_providers_count, department, descriptions, discoverer_aids, discoverer_count, discoverer_criticalities, discoverer_hostnames, discoverer_platform_names, discoverer_product_type_descs, discoverer_tags, discovering_by, disk_sizes, email, encrypted_drives, encrypted_drives_count, encryption_status, entity_type, external_ip, field_metadata, first_discoverer_aid, first_seen_timestamp, form_factor, fqdn, groups, hostname, id, internet_exposure, internet_exposure_description, internet_exposure_timestamp, internet_exposure_username, kernel_version, last_discoverer_aid, last_discoverer_hostname, last_seen_timestamp, local_ip_addresses, local_ips_count, location, logical_core_count, mac_addresses, machine_domain, managed_by, max_memory_usage, max_memory_usage_pct, max_processor_usage, mount_storage_info, network_interfaces, number_of_disk_drives, object_guid, object_sid, os_is_eol, os_security, os_service_pack, os_version, ou, override_asset_roles, override_criticality_rules, override_internet_exposure, owned_by, physical_core_count, platform_name, processor_package_count, product_type, product_type_desc, reduced_functionality_mode, servicenow_id, site_name, state, system_manufacturer, system_product_name, system_serial_number, tags, tenableio_id, total_bios_files, total_disk_space, total_memory, triage, unencrypted_drives, unencrypted_drives_count, used_disk_space, used_disk_space_pct, used_for, user_asset_roles, user_internet_exposure].hash + [account_enabled, active_discovery, ad_user_account_control, agent_version, aid, asset_roles, assigned_to, available_disk_space, available_disk_space_pct, average_memory_usage, average_memory_usage_pct, average_processor_usage, bios_hashes_data, bios_id, bios_manufacturer, bios_version, business_criticality, cid, city, claroty_id, classification, cloud_account_id, cloud_instance_id, cloud_provider, cloud_region, cloud_registered, cloud_resource_id, computed_asset_roles, computed_internet_exposure, computed_internet_exposure_external_ip, computed_internet_exposure_last_seen, confidence, country, cpu_manufacturer, cpu_processor_name, creation_timestamp, criticality, criticality_description, criticality_rule_id, criticality_timestamp, criticality_username, current_local_ip, current_network_prefix, data_providers, data_providers_count, department, descriptions, device_class, device_family, device_mode, device_slots, device_type, discoverer_aids, discoverer_count, discoverer_criticalities, discoverer_hostnames, discoverer_ics_collector_ids, discoverer_platform_names, discoverer_product_type_descs, discoverer_tags, discovering_by, disk_sizes, dragos_id, email, encrypted_drives, encrypted_drives_count, encryption_status, entity_type, external_ip, field_metadata, first_discoverer_aid, first_seen_timestamp, form_factor, fqdn, groups, hostname, ics_id, id, internet_exposure, internet_exposure_description, internet_exposure_timestamp, internet_exposure_username, kernel_version, last_discoverer_aid, last_discoverer_hostname, last_discoverer_ics_collector_id, last_seen_timestamp, local_ip_addresses, local_ips_count, location, logical_core_count, mac_addresses, machine_domain, managed_by, max_memory_usage, max_memory_usage_pct, max_processor_usage, memory_total, mount_storage_info, network_id, network_interfaces, network_scanned_ids, number_of_disk_drives, object_guid, object_sid, os_is_eol, os_security, os_service_pack, os_version, ot_information_sources, ot_network_ids, ot_serial_numbers, ou, override_asset_roles, override_criticality_rules, override_internet_exposure, owned_by, physical_core_count, platform_name, processor_package_count, product_type, product_type_desc, protocols, purdue_level, qualys_id, qualys_network_id, reduced_functionality_mode, servicenow_id, site_name, state, subnet, system_manufacturer, system_product_name, system_serial_number, tags, tenableio_id, total_bios_files, total_disk_space, total_memory, triage, unencrypted_drives, unencrypted_drives_count, used_disk_space, used_disk_space_pct, used_for, user_asset_roles, user_internet_exposure, virtual_zone, vlan, xdome_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_discover_api_host_entities_response.rb b/lib/crimson-falcon/models/domain_discover_api_host_entities_response.rb index 2fdd0050..548fe003 100644 --- a/lib/crimson-falcon/models/domain_discover_api_host_entities_response.rb +++ b/lib/crimson-falcon/models/domain_discover_api_host_entities_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_discover_api_login.rb b/lib/crimson-falcon/models/domain_discover_api_login.rb index 79142b84..a77abc7a 100644 --- a/lib/crimson-falcon/models/domain_discover_api_login.rb +++ b/lib/crimson-falcon/models/domain_discover_api_login.rb @@ -93,7 +93,7 @@ class DomainDiscoverAPILogin # The date and time of the most recent attempt in the login. attr_accessor :login_timestamp - # The type of the login. For successful logins:
  • Interactive
  • Service
  • Terminal server
  • Cached credentials
  • Auditing
For failed logins:
  • Interactive
  • Network
  • Batch
  • Service
  • Unlock
  • Network cleartext
  • New credentials
  • Terminal server
  • Cached credentials
  • Auditing
+ # The type of the login. For successful logins:
  • Interactive
  • Network
  • Service
  • Remote interactive
  • Cached credentials
  • Auditing
For failed logins:
  • Interactive
  • Network
  • Batch
  • Service
  • Unlock
  • Network cleartext
  • New credentials
  • Remote Credentials
  • Cached credentials
  • Auditing
attr_accessor :login_type # The remote IP address where the login was initiated. diff --git a/lib/crimson-falcon/models/domain_discover_api_login_entities_response.rb b/lib/crimson-falcon/models/domain_discover_api_login_entities_response.rb index 53d31b17..4f9e83c1 100644 --- a/lib/crimson-falcon/models/domain_discover_api_login_entities_response.rb +++ b/lib/crimson-falcon/models/domain_discover_api_login_entities_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/msaspec_meta_info.rb b/lib/crimson-falcon/models/domain_discover_api_meta_info.rb similarity index 96% rename from lib/crimson-falcon/models/msaspec_meta_info.rb rename to lib/crimson-falcon/models/domain_discover_api_meta_info.rb index 210c7a55..57a4dfae 100644 --- a/lib/crimson-falcon/models/msaspec_meta_info.rb +++ b/lib/crimson-falcon/models/domain_discover_api_meta_info.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class MsaspecMetaInfo + class DomainDiscoverAPIMetaInfo attr_accessor :pagination attr_accessor :powered_by @@ -61,7 +61,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'pagination' => :'MsaspecPaging', + :'pagination' => :'DomainDiscoverAPIPaging', :'powered_by' => :'String', :'query_time' => :'Float', :'trace_id' => :'String', @@ -79,13 +79,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::MsaspecMetaInfo` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDiscoverAPIMetaInfo` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::MsaspecMetaInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDiscoverAPIMetaInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/domain_discover_api_paging.rb b/lib/crimson-falcon/models/domain_discover_api_paging.rb new file mode 100644 index 00000000..92d8e267 --- /dev/null +++ b/lib/crimson-falcon/models/domain_discover_api_paging.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDiscoverAPIPaging + attr_accessor :after + + attr_accessor :limit + + attr_accessor :total + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'after' => :'after', + :'limit' => :'limit', + :'total' => :'total' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'after' => :'String', + :'limit' => :'Integer', + :'total' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDiscoverAPIPaging` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDiscoverAPIPaging`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'after') + self.after = attributes[:'after'] + end + + if attributes.key?(:'limit') + self.limit = attributes[:'limit'] + end + + if attributes.key?(:'total') + self.total = attributes[:'total'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @after.nil? + invalid_properties.push('invalid value for "after", after cannot be nil.') + end + + if @limit.nil? + invalid_properties.push('invalid value for "limit", limit cannot be nil.') + end + + if @total.nil? + invalid_properties.push('invalid value for "total", total cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @after.nil? + return false if @limit.nil? + return false if @total.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + after == o.after && + limit == o.limit && + total == o.total + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [after, limit, total].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_discover_api_response.rb b/lib/crimson-falcon/models/domain_discover_api_response.rb new file mode 100644 index 00000000..2858176a --- /dev/null +++ b/lib/crimson-falcon/models/domain_discover_api_response.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDiscoverAPIResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'DomainDiscoverAPIMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDiscoverAPIResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDiscoverAPIResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_discover_apiio_t_host.rb b/lib/crimson-falcon/models/domain_discover_apiio_t_host.rb index 0c9f2a2d..c63a8cf2 100644 --- a/lib/crimson-falcon/models/domain_discover_apiio_t_host.rb +++ b/lib/crimson-falcon/models/domain_discover_apiio_t_host.rb @@ -31,24 +31,44 @@ require 'time' module Falcon - # Represents information about a managed, an unmanaged or an unsupported asset. class DomainDiscoverAPIIoTHost + # Whether the asset is account-enabled in Active Directory (Yes or No). + attr_accessor :account_enabled + + # The user account control properties in Active Directory. + attr_accessor :ad_user_account_control + # The version of the Falcon sensor that's installed on the asset. attr_accessor :agent_version # The agent ID of the Falcon sensor installed on the asset. attr_accessor :aid - # The Amount of available disk space on the asset in GB + # The asset role or roles currently assigned to the asset either automatically or by a user (Jump host, Highly connected, Highly active, Server by behavior, DHCP server, DNS server, FTP server, SSH server, or Web server). + attr_accessor :asset_roles + + # The first and last name of the person who is assigned to this asset. + attr_accessor :assigned_to + + # The available disk space in the last 15 minutes on the host attr_accessor :available_disk_space - # The average memory usage in the last 15 minutes on the asset + # The available disk space percent in the last 15 minutes on the host + attr_accessor :available_disk_space_pct + + # The average memory usage in the last 15 minutes on the host attr_accessor :average_memory_usage - # The average processor usage in the last 15 minutes on the asset + # The average memory usage percent in the last 15 minutes on the host + attr_accessor :average_memory_usage_pct + + # The average processor usage in the last 15 minutes on the host attr_accessor :average_processor_usage - # The id of the bios on the asset + # The list of found sha256 and their measurement types + attr_accessor :bios_hashes_data + + # The id of the bios on the host attr_accessor :bios_id # The name of the asset's BIOS manufacturer. @@ -69,13 +89,19 @@ class DomainDiscoverAPIIoTHost # The external ID of the IoT Device in 3rd Party System(Claroty). attr_accessor :claroty_id - # Whether the asset is exposed to the internet (Yes or Unknown) + # How the server is classified, such as production, development, disaster recovery, or user acceptance testing. + attr_accessor :classification + + # The asset role or roles assigned to the asset automatically (Jump host, Highly connected, Highly active, Server by behavior, DHCP server, DNS server, FTP server, SSH server, or Web server). + attr_accessor :computed_asset_roles + + # Whether the asset is exposed to the internet as determined automatically (Yes, No, or Pending). attr_accessor :computed_internet_exposure - # External IP that is exposed to the Internet + # External IP exposed to the internet. attr_accessor :computed_internet_exposure_external_ip - # Timestamp when the asset was last seen as exposed to the Internet + # When the asset was last seen as internet exposed. attr_accessor :computed_internet_exposure_last_seen # The level of confidence that the asset is a corporate asset (25 = low confidence, 50 = medium confidence, 75 = high confidence). @@ -84,29 +110,56 @@ class DomainDiscoverAPIIoTHost # The name of the country where the asset is located. attr_accessor :country - # The Detailed processor name + # The manufacturer of the asset's CPU. + attr_accessor :cpu_manufacturer + + # The name of the processor on the system attr_accessor :cpu_processor_name - # The credential guard status of the asset - attr_accessor :credential_guard_status + # The time the asset was created in Active Directory, according to LDAP info. + attr_accessor :creation_timestamp + + # The criticality level of the asset (Critical, High, Noncritical, or Unassigned) + attr_accessor :criticality + + # The description the user entered when manually assigning a criticality level + attr_accessor :criticality_description + + # The ID of the criticality rule that has most recently applied to the asset. + attr_accessor :criticality_rule_id + + # The date and time the criticality level was manually assigned + attr_accessor :criticality_timestamp + + # The username of the account that manually assigned the criticality level + attr_accessor :criticality_username # The last seen local IPv4 address of the asset. attr_accessor :current_local_ip - # The asset's data providers. + # The last seen network prefix of the asset. + attr_accessor :current_network_prefix + + # Where the data about the asset came from (such as CrowdStrike, ServiceNow, or Active Directory). attr_accessor :data_providers - # The number of data providers for the asset. + # How many services provided data about the asset. attr_accessor :data_providers_count + # The department where the asset is used. + attr_accessor :department + + # The descriptions of the asset in Active Directory (Cannot be used for filtering, sorting, or querying). + attr_accessor :descriptions + # The Device Class of IoT Asset attr_accessor :device_class # The Device Family of IoT Asset attr_accessor :device_family - # The device guard status of the asset - attr_accessor :device_guard_status + # The device mode of the host + attr_accessor :device_mode # The slots of IoT Asset attr_accessor :device_slots @@ -114,28 +167,49 @@ class DomainDiscoverAPIIoTHost # The Device Type of IoT Asset attr_accessor :device_type + # The agent IDs of the Falcon sensors installed on the sources that discovered the asset. + attr_accessor :discoverer_aids + # The number of sources that discovered the asset. attr_accessor :discoverer_count + # The criticalities of the sources that discovered the asset + attr_accessor :discoverer_criticalities + + # The hostnames of the sources that discovered the asset. + attr_accessor :discoverer_hostnames + # A list of agent IDs of the Falcon sensors installed on the source hosts that discovered the asset via ICS Asset discovery mechanism attr_accessor :discoverer_ics_collector_ids + # The platform names of the sources that discovered the asset. + attr_accessor :discoverer_platform_names + # The product type descriptions of the sources that discovered the asset. attr_accessor :discoverer_product_type_descs + # The tags of the sources that discovered the asset. + attr_accessor :discoverer_tags + + # Represents the status of a managed host (“Not Discovering“, “Passive“, “Active“ or both). + attr_accessor :discovering_by + # The names and sizes of the disks on the asset attr_accessor :disk_sizes # The ID generated by dragos asset discovery mechanism attr_accessor :dragos_id - # The list of encrypted drives on the asset + # The email of the asset as listed in Active Directory. + attr_accessor :email + + # The list of encrypted drives on the host attr_accessor :encrypted_drives - # The count of encrypted drives on the asset + # The count of encrypted drives on the host attr_accessor :encrypted_drives_count - # The encryption status of the asset + # The encryption status of the host attr_accessor :encryption_status # The type of asset (managed, unmanaged, unsupported). @@ -147,13 +221,22 @@ class DomainDiscoverAPIIoTHost # Lists the data providers for each property in the response (Cannot be used for filtering, sorting, or querying). attr_accessor :field_metadata + # The agent ID of the Falcon sensor on the source that first discovered the asset. + attr_accessor :first_discoverer_aid + # The first time the asset was seen in your environment. attr_accessor :first_seen_timestamp + # The form factor of the host + attr_accessor :form_factor + + # The fully qualified domain name of the asset. + attr_accessor :fqdn + # The host management groups the asset is part of. attr_accessor :groups - # The asset's hostname . + # The asset's hostname. attr_accessor :hostname # The ID generated by ICS collector asset discovery mechanism @@ -162,43 +245,61 @@ class DomainDiscoverAPIIoTHost # The unique ID of the asset. attr_accessor :id - # Whether the asset is exposed to the internet (Yes or Unknown) + # Whether the asset is exposed to the internet (Yes, No or Pending). attr_accessor :internet_exposure - # The iommu protection status of the host - attr_accessor :iommu_protection_status + # The description the user entered when manually assigning a internet exposure level + attr_accessor :internet_exposure_description - # The kernel dma protection status of the asset - attr_accessor :kernel_dma_protection_status + # The date and time the internet exposure level was manually assigned + attr_accessor :internet_exposure_timestamp + + # The username of the account that manually assigned the internet exposure level + attr_accessor :internet_exposure_username # For Linux and Mac hosts: the major version, minor version, and patch version of the kernel for the asset. For Windows hosts: the build number of the asset. attr_accessor :kernel_version + # The agent ID of the Falcon sensor installed on the source that most recently discovered the asset. + attr_accessor :last_discoverer_aid + + # The hostname of the last source that discovered the asset. + attr_accessor :last_discoverer_hostname + # The agent ID of the Falcon sensor installed on the source host that most recently discovered the asset via ICS Asset discovery mechanism attr_accessor :last_discoverer_ics_collector_id # The most recent time the asset was seen in your environment. attr_accessor :last_seen_timestamp - # The IoT asset's IP address list + # Historical local IPv4 addresses associated with the asset. attr_accessor :local_ip_addresses # The number of historical local IPv4 addresses the asset has had. attr_accessor :local_ips_count - # The Number of Logical Cores on the asset + # The location of the asset. + attr_accessor :location + + # The number of logical cores available on the system attr_accessor :logical_core_count - # The IoT asset's MAC address list + # Historical MAC addresses associated with the asset. attr_accessor :mac_addresses - # The domain name the asset is currently joined to (applies only to Windows hosts). + # The domain name the asset is currently joined to. attr_accessor :machine_domain - # The max memory usage in the last 15 minutes on the asset + # The first and last name of the person who manages this asset. + attr_accessor :managed_by + + # The max memory usage in the last 15 minutes on the host attr_accessor :max_memory_usage - # The max processor usage in the last 15 minutes on the asset + # The max memory usage percent in the last 15 minutes on the host + attr_accessor :max_memory_usage_pct + + # The max processor usage in the last 15 minutes on the host attr_accessor :max_processor_usage # The Total memory. @@ -210,34 +311,60 @@ class DomainDiscoverAPIIoTHost # The network ID to which device is connected. attr_accessor :network_id - # The asset's network interfaces. + # The asset's network interfaces (Cannot be used for filtering, sorting, or querying). attr_accessor :network_interfaces - # The number of active physical drives available on the system + # The number of active physical drives available on the system. attr_accessor :number_of_disk_drives - # Whether the asset is at end of support (Yes, No, or Unknown) + # The globally unique identifier (GUID) of the asset in Active Directory. + attr_accessor :object_guid + + # The security identifier (SID) of the asset in Active Directory. + attr_accessor :object_sid + + # Whether the asset is at end of support (Yes, No, or Unknown). attr_accessor :os_is_eol + attr_accessor :os_security + + # The OS service pack on the asset. + attr_accessor :os_service_pack + # The OS version of the asset. attr_accessor :os_version # A list of sources through which host is discovered attr_accessor :ot_information_sources + # A list of network ids to which host belongs + attr_accessor :ot_network_ids + # A list of ot serial numbers that discovered with host attr_accessor :ot_serial_numbers - # The organizational unit of the asset (applies only to Windows hosts). + # The organizational unit of the asset. attr_accessor :ou - # The number of physical CPU cores available on the system + # Whether a user overrode automatically assigned asset roles to manually assign a role to the asset (true or false). + attr_accessor :override_asset_roles + + # Whether a user overrode a criticality rule to manually assign a criticality level on the asset (true or false). + attr_accessor :override_criticality_rules + + # Whether a user overrode the automatically assigned internet exposure (True or False). + attr_accessor :override_internet_exposure + + # The first and last name of the person who owns this asset. + attr_accessor :owned_by + + # The number of physical CPU cores available on the system. attr_accessor :physical_core_count # The platform name of the asset (Windows, Mac, Linux). attr_accessor :platform_name - # The number of physical processors available on the system + # The number of physical processors available on the system. attr_accessor :processor_package_count # The product type of the asset represented as a number (1 = Workstation, 2 = Domain Controller, 3 = Server). @@ -252,27 +379,21 @@ class DomainDiscoverAPIIoTHost # The purdue level of IoT Asset attr_accessor :purdue_level - # Whether the asset is in reduced functionality mode (Yes or No) + # Whether the asset is in reduced functionality mode (Yes or No). attr_accessor :reduced_functionality_mode - # The secure boot enabled status of the asset - attr_accessor :secure_boot_enabled_status - - # The secure boot requested status of the asset - attr_accessor :secure_boot_requested_status - - # The secure memory overwrite requested status of the asset - attr_accessor :secure_memory_overwrite_requested_status + # The unique identifier of the asset from ServiceNow, if any. + attr_accessor :servicenow_id # The site name of the domain the asset is joined to (applies only to Windows hosts). attr_accessor :site_name + # The name of the U.S. state where the asset is located. + attr_accessor :state + # The subnet to which device is connected. attr_accessor :subnet - # The system guard status of the asset - attr_accessor :system_guard_status - # The asset's system manufacturer. attr_accessor :system_manufacturer @@ -288,27 +409,38 @@ class DomainDiscoverAPIIoTHost # The count of bios files measured by the firmware image attr_accessor :total_bios_files - # The Total amount of disk space available on the asset in GB + # Total amount of disk space available on the system attr_accessor :total_disk_space - # The uefi memory protection status of the asset - attr_accessor :uefi_memory_protection_status + # The total memory of the asset + attr_accessor :total_memory - # The list of unencrypted drives on the asset + attr_accessor :triage + + # The list of unencrypted drives on the host attr_accessor :unencrypted_drives - # The count of unencrypted drives on the asset + # The count of unencrypted drives on the host attr_accessor :unencrypted_drives_count - # The Current amount of used disk space on the asset in GB + # The used disk space in the last 15 minutes on the host attr_accessor :used_disk_space + # The used disk space percent in the last 15 minutes on the host + attr_accessor :used_disk_space_pct + + # What the asset is used for, such as production, staging, or QA. + attr_accessor :used_for + + # The asset role or roles manually assigned to the asset. + attr_accessor :user_asset_roles + + # The internet exposure manually assigned to the asset + attr_accessor :user_internet_exposure + # The Virtual Zone name in which device is installed. attr_accessor :virtual_zone - # The virtualization based security status of the asset - attr_accessor :virtualization_based_security_status - # The VLAN IDs to which device is connected. attr_accessor :vlan @@ -318,11 +450,18 @@ class DomainDiscoverAPIIoTHost # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'account_enabled' => :'account_enabled', + :'ad_user_account_control' => :'ad_user_account_control', :'agent_version' => :'agent_version', :'aid' => :'aid', + :'asset_roles' => :'asset_roles', + :'assigned_to' => :'assigned_to', :'available_disk_space' => :'available_disk_space', + :'available_disk_space_pct' => :'available_disk_space_pct', :'average_memory_usage' => :'average_memory_usage', + :'average_memory_usage_pct' => :'average_memory_usage_pct', :'average_processor_usage' => :'average_processor_usage', + :'bios_hashes_data' => :'bios_hashes_data', :'bios_id' => :'bios_id', :'bios_manufacturer' => :'bios_manufacturer', :'bios_version' => :'bios_version', @@ -330,60 +469,96 @@ def self.attribute_map :'cid' => :'cid', :'city' => :'city', :'claroty_id' => :'claroty_id', + :'classification' => :'classification', + :'computed_asset_roles' => :'computed_asset_roles', :'computed_internet_exposure' => :'computed_internet_exposure', :'computed_internet_exposure_external_ip' => :'computed_internet_exposure_external_ip', :'computed_internet_exposure_last_seen' => :'computed_internet_exposure_last_seen', :'confidence' => :'confidence', :'country' => :'country', + :'cpu_manufacturer' => :'cpu_manufacturer', :'cpu_processor_name' => :'cpu_processor_name', - :'credential_guard_status' => :'credential_guard_status', + :'creation_timestamp' => :'creation_timestamp', + :'criticality' => :'criticality', + :'criticality_description' => :'criticality_description', + :'criticality_rule_id' => :'criticality_rule_id', + :'criticality_timestamp' => :'criticality_timestamp', + :'criticality_username' => :'criticality_username', :'current_local_ip' => :'current_local_ip', + :'current_network_prefix' => :'current_network_prefix', :'data_providers' => :'data_providers', :'data_providers_count' => :'data_providers_count', + :'department' => :'department', + :'descriptions' => :'descriptions', :'device_class' => :'device_class', :'device_family' => :'device_family', - :'device_guard_status' => :'device_guard_status', + :'device_mode' => :'device_mode', :'device_slots' => :'device_slots', :'device_type' => :'device_type', + :'discoverer_aids' => :'discoverer_aids', :'discoverer_count' => :'discoverer_count', + :'discoverer_criticalities' => :'discoverer_criticalities', + :'discoverer_hostnames' => :'discoverer_hostnames', :'discoverer_ics_collector_ids' => :'discoverer_ics_collector_ids', + :'discoverer_platform_names' => :'discoverer_platform_names', :'discoverer_product_type_descs' => :'discoverer_product_type_descs', + :'discoverer_tags' => :'discoverer_tags', + :'discovering_by' => :'discovering_by', :'disk_sizes' => :'disk_sizes', :'dragos_id' => :'dragos_id', + :'email' => :'email', :'encrypted_drives' => :'encrypted_drives', :'encrypted_drives_count' => :'encrypted_drives_count', :'encryption_status' => :'encryption_status', :'entity_type' => :'entity_type', :'external_ip' => :'external_ip', :'field_metadata' => :'field_metadata', + :'first_discoverer_aid' => :'first_discoverer_aid', :'first_seen_timestamp' => :'first_seen_timestamp', + :'form_factor' => :'form_factor', + :'fqdn' => :'fqdn', :'groups' => :'groups', :'hostname' => :'hostname', :'ics_id' => :'ics_id', :'id' => :'id', :'internet_exposure' => :'internet_exposure', - :'iommu_protection_status' => :'iommu_protection_status', - :'kernel_dma_protection_status' => :'kernel_dma_protection_status', + :'internet_exposure_description' => :'internet_exposure_description', + :'internet_exposure_timestamp' => :'internet_exposure_timestamp', + :'internet_exposure_username' => :'internet_exposure_username', :'kernel_version' => :'kernel_version', + :'last_discoverer_aid' => :'last_discoverer_aid', + :'last_discoverer_hostname' => :'last_discoverer_hostname', :'last_discoverer_ics_collector_id' => :'last_discoverer_ics_collector_id', :'last_seen_timestamp' => :'last_seen_timestamp', :'local_ip_addresses' => :'local_ip_addresses', :'local_ips_count' => :'local_ips_count', + :'location' => :'location', :'logical_core_count' => :'logical_core_count', :'mac_addresses' => :'mac_addresses', :'machine_domain' => :'machine_domain', + :'managed_by' => :'managed_by', :'max_memory_usage' => :'max_memory_usage', + :'max_memory_usage_pct' => :'max_memory_usage_pct', :'max_processor_usage' => :'max_processor_usage', :'memory_total' => :'memory_total', :'mount_storage_info' => :'mount_storage_info', :'network_id' => :'network_id', :'network_interfaces' => :'network_interfaces', :'number_of_disk_drives' => :'number_of_disk_drives', + :'object_guid' => :'object_guid', + :'object_sid' => :'object_sid', :'os_is_eol' => :'os_is_eol', + :'os_security' => :'os_security', + :'os_service_pack' => :'os_service_pack', :'os_version' => :'os_version', :'ot_information_sources' => :'ot_information_sources', + :'ot_network_ids' => :'ot_network_ids', :'ot_serial_numbers' => :'ot_serial_numbers', :'ou' => :'ou', + :'override_asset_roles' => :'override_asset_roles', + :'override_criticality_rules' => :'override_criticality_rules', + :'override_internet_exposure' => :'override_internet_exposure', + :'owned_by' => :'owned_by', :'physical_core_count' => :'physical_core_count', :'platform_name' => :'platform_name', :'processor_package_count' => :'processor_package_count', @@ -392,24 +567,26 @@ def self.attribute_map :'protocols' => :'protocols', :'purdue_level' => :'purdue_level', :'reduced_functionality_mode' => :'reduced_functionality_mode', - :'secure_boot_enabled_status' => :'secure_boot_enabled_status', - :'secure_boot_requested_status' => :'secure_boot_requested_status', - :'secure_memory_overwrite_requested_status' => :'secure_memory_overwrite_requested_status', + :'servicenow_id' => :'servicenow_id', :'site_name' => :'site_name', + :'state' => :'state', :'subnet' => :'subnet', - :'system_guard_status' => :'system_guard_status', :'system_manufacturer' => :'system_manufacturer', :'system_product_name' => :'system_product_name', :'system_serial_number' => :'system_serial_number', :'tags' => :'tags', :'total_bios_files' => :'total_bios_files', :'total_disk_space' => :'total_disk_space', - :'uefi_memory_protection_status' => :'uefi_memory_protection_status', + :'total_memory' => :'total_memory', + :'triage' => :'triage', :'unencrypted_drives' => :'unencrypted_drives', :'unencrypted_drives_count' => :'unencrypted_drives_count', :'used_disk_space' => :'used_disk_space', + :'used_disk_space_pct' => :'used_disk_space_pct', + :'used_for' => :'used_for', + :'user_asset_roles' => :'user_asset_roles', + :'user_internet_exposure' => :'user_internet_exposure', :'virtual_zone' => :'virtual_zone', - :'virtualization_based_security_status' => :'virtualization_based_security_status', :'vlan' => :'vlan', :'xdome_id' => :'xdome_id' } @@ -423,11 +600,18 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'account_enabled' => :'String', + :'ad_user_account_control' => :'Integer', :'agent_version' => :'String', :'aid' => :'String', + :'asset_roles' => :'Array', + :'assigned_to' => :'String', :'available_disk_space' => :'Integer', + :'available_disk_space_pct' => :'Integer', :'average_memory_usage' => :'Integer', + :'average_memory_usage_pct' => :'Integer', :'average_processor_usage' => :'Integer', + :'bios_hashes_data' => :'Array', :'bios_id' => :'String', :'bios_manufacturer' => :'String', :'bios_version' => :'String', @@ -435,60 +619,96 @@ def self.openapi_types :'cid' => :'String', :'city' => :'String', :'claroty_id' => :'String', + :'classification' => :'String', + :'computed_asset_roles' => :'Array', :'computed_internet_exposure' => :'String', :'computed_internet_exposure_external_ip' => :'String', :'computed_internet_exposure_last_seen' => :'String', :'confidence' => :'Integer', :'country' => :'String', + :'cpu_manufacturer' => :'String', :'cpu_processor_name' => :'String', - :'credential_guard_status' => :'Boolean', + :'creation_timestamp' => :'String', + :'criticality' => :'String', + :'criticality_description' => :'String', + :'criticality_rule_id' => :'String', + :'criticality_timestamp' => :'String', + :'criticality_username' => :'String', :'current_local_ip' => :'String', + :'current_network_prefix' => :'String', :'data_providers' => :'Array', :'data_providers_count' => :'Integer', + :'department' => :'String', + :'descriptions' => :'Array', :'device_class' => :'String', :'device_family' => :'String', - :'device_guard_status' => :'Boolean', + :'device_mode' => :'String', :'device_slots' => :'Array', :'device_type' => :'String', + :'discoverer_aids' => :'Array', :'discoverer_count' => :'Integer', + :'discoverer_criticalities' => :'Array', + :'discoverer_hostnames' => :'Array', :'discoverer_ics_collector_ids' => :'Array', + :'discoverer_platform_names' => :'Array', :'discoverer_product_type_descs' => :'Array', + :'discoverer_tags' => :'Array', + :'discovering_by' => :'Array', :'disk_sizes' => :'Array', :'dragos_id' => :'String', + :'email' => :'String', :'encrypted_drives' => :'Array', :'encrypted_drives_count' => :'Integer', :'encryption_status' => :'String', :'entity_type' => :'String', :'external_ip' => :'String', :'field_metadata' => :'Hash', + :'first_discoverer_aid' => :'String', :'first_seen_timestamp' => :'String', + :'form_factor' => :'String', + :'fqdn' => :'String', :'groups' => :'Array', :'hostname' => :'String', :'ics_id' => :'String', :'id' => :'String', :'internet_exposure' => :'String', - :'iommu_protection_status' => :'String', - :'kernel_dma_protection_status' => :'Boolean', + :'internet_exposure_description' => :'String', + :'internet_exposure_timestamp' => :'String', + :'internet_exposure_username' => :'String', :'kernel_version' => :'String', + :'last_discoverer_aid' => :'String', + :'last_discoverer_hostname' => :'String', :'last_discoverer_ics_collector_id' => :'String', :'last_seen_timestamp' => :'String', :'local_ip_addresses' => :'Array', :'local_ips_count' => :'Integer', + :'location' => :'String', :'logical_core_count' => :'Integer', :'mac_addresses' => :'Array', :'machine_domain' => :'String', + :'managed_by' => :'String', :'max_memory_usage' => :'Integer', + :'max_memory_usage_pct' => :'Integer', :'max_processor_usage' => :'Integer', :'memory_total' => :'Integer', :'mount_storage_info' => :'Array', :'network_id' => :'String', :'network_interfaces' => :'Array', :'number_of_disk_drives' => :'Integer', + :'object_guid' => :'String', + :'object_sid' => :'String', :'os_is_eol' => :'String', + :'os_security' => :'DomainDiscoverAPIOsSecurity', + :'os_service_pack' => :'String', :'os_version' => :'String', :'ot_information_sources' => :'Array', + :'ot_network_ids' => :'Array', :'ot_serial_numbers' => :'Array', :'ou' => :'String', + :'override_asset_roles' => :'Boolean', + :'override_criticality_rules' => :'Boolean', + :'override_internet_exposure' => :'Boolean', + :'owned_by' => :'String', :'physical_core_count' => :'Integer', :'platform_name' => :'String', :'processor_package_count' => :'Integer', @@ -497,24 +717,26 @@ def self.openapi_types :'protocols' => :'Array', :'purdue_level' => :'String', :'reduced_functionality_mode' => :'String', - :'secure_boot_enabled_status' => :'Boolean', - :'secure_boot_requested_status' => :'Boolean', - :'secure_memory_overwrite_requested_status' => :'String', + :'servicenow_id' => :'String', :'site_name' => :'String', + :'state' => :'String', :'subnet' => :'String', - :'system_guard_status' => :'String', :'system_manufacturer' => :'String', :'system_product_name' => :'String', :'system_serial_number' => :'String', :'tags' => :'Array', :'total_bios_files' => :'Integer', :'total_disk_space' => :'Integer', - :'uefi_memory_protection_status' => :'String', + :'total_memory' => :'Integer', + :'triage' => :'DomainDiscoverAPIIoTHostTriage', :'unencrypted_drives' => :'Array', :'unencrypted_drives_count' => :'Integer', :'used_disk_space' => :'Integer', + :'used_disk_space_pct' => :'Integer', + :'used_for' => :'String', + :'user_asset_roles' => :'Array', + :'user_internet_exposure' => :'String', :'virtual_zone' => :'String', - :'virtualization_based_security_status' => :'Boolean', :'vlan' => :'Array', :'xdome_id' => :'String' } @@ -541,6 +763,14 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'account_enabled') + self.account_enabled = attributes[:'account_enabled'] + end + + if attributes.key?(:'ad_user_account_control') + self.ad_user_account_control = attributes[:'ad_user_account_control'] + end + if attributes.key?(:'agent_version') self.agent_version = attributes[:'agent_version'] end @@ -549,18 +779,42 @@ def initialize(attributes = {}) self.aid = attributes[:'aid'] end + if attributes.key?(:'asset_roles') + if (value = attributes[:'asset_roles']).is_a?(Array) + self.asset_roles = value + end + end + + if attributes.key?(:'assigned_to') + self.assigned_to = attributes[:'assigned_to'] + end + if attributes.key?(:'available_disk_space') self.available_disk_space = attributes[:'available_disk_space'] end + if attributes.key?(:'available_disk_space_pct') + self.available_disk_space_pct = attributes[:'available_disk_space_pct'] + end + if attributes.key?(:'average_memory_usage') self.average_memory_usage = attributes[:'average_memory_usage'] end + if attributes.key?(:'average_memory_usage_pct') + self.average_memory_usage_pct = attributes[:'average_memory_usage_pct'] + end + if attributes.key?(:'average_processor_usage') self.average_processor_usage = attributes[:'average_processor_usage'] end + if attributes.key?(:'bios_hashes_data') + if (value = attributes[:'bios_hashes_data']).is_a?(Array) + self.bios_hashes_data = value + end + end + if attributes.key?(:'bios_id') self.bios_id = attributes[:'bios_id'] end @@ -589,6 +843,16 @@ def initialize(attributes = {}) self.claroty_id = attributes[:'claroty_id'] end + if attributes.key?(:'classification') + self.classification = attributes[:'classification'] + end + + if attributes.key?(:'computed_asset_roles') + if (value = attributes[:'computed_asset_roles']).is_a?(Array) + self.computed_asset_roles = value + end + end + if attributes.key?(:'computed_internet_exposure') self.computed_internet_exposure = attributes[:'computed_internet_exposure'] end @@ -609,18 +873,46 @@ def initialize(attributes = {}) self.country = attributes[:'country'] end + if attributes.key?(:'cpu_manufacturer') + self.cpu_manufacturer = attributes[:'cpu_manufacturer'] + end + if attributes.key?(:'cpu_processor_name') self.cpu_processor_name = attributes[:'cpu_processor_name'] end - if attributes.key?(:'credential_guard_status') - self.credential_guard_status = attributes[:'credential_guard_status'] + if attributes.key?(:'creation_timestamp') + self.creation_timestamp = attributes[:'creation_timestamp'] + end + + if attributes.key?(:'criticality') + self.criticality = attributes[:'criticality'] + end + + if attributes.key?(:'criticality_description') + self.criticality_description = attributes[:'criticality_description'] + end + + if attributes.key?(:'criticality_rule_id') + self.criticality_rule_id = attributes[:'criticality_rule_id'] + end + + if attributes.key?(:'criticality_timestamp') + self.criticality_timestamp = attributes[:'criticality_timestamp'] + end + + if attributes.key?(:'criticality_username') + self.criticality_username = attributes[:'criticality_username'] end if attributes.key?(:'current_local_ip') self.current_local_ip = attributes[:'current_local_ip'] end + if attributes.key?(:'current_network_prefix') + self.current_network_prefix = attributes[:'current_network_prefix'] + end + if attributes.key?(:'data_providers') if (value = attributes[:'data_providers']).is_a?(Array) self.data_providers = value @@ -631,6 +923,16 @@ def initialize(attributes = {}) self.data_providers_count = attributes[:'data_providers_count'] end + if attributes.key?(:'department') + self.department = attributes[:'department'] + end + + if attributes.key?(:'descriptions') + if (value = attributes[:'descriptions']).is_a?(Array) + self.descriptions = value + end + end + if attributes.key?(:'device_class') self.device_class = attributes[:'device_class'] end @@ -639,8 +941,8 @@ def initialize(attributes = {}) self.device_family = attributes[:'device_family'] end - if attributes.key?(:'device_guard_status') - self.device_guard_status = attributes[:'device_guard_status'] + if attributes.key?(:'device_mode') + self.device_mode = attributes[:'device_mode'] end if attributes.key?(:'device_slots') @@ -653,22 +955,58 @@ def initialize(attributes = {}) self.device_type = attributes[:'device_type'] end + if attributes.key?(:'discoverer_aids') + if (value = attributes[:'discoverer_aids']).is_a?(Array) + self.discoverer_aids = value + end + end + if attributes.key?(:'discoverer_count') self.discoverer_count = attributes[:'discoverer_count'] end + if attributes.key?(:'discoverer_criticalities') + if (value = attributes[:'discoverer_criticalities']).is_a?(Array) + self.discoverer_criticalities = value + end + end + + if attributes.key?(:'discoverer_hostnames') + if (value = attributes[:'discoverer_hostnames']).is_a?(Array) + self.discoverer_hostnames = value + end + end + if attributes.key?(:'discoverer_ics_collector_ids') if (value = attributes[:'discoverer_ics_collector_ids']).is_a?(Array) self.discoverer_ics_collector_ids = value end end + if attributes.key?(:'discoverer_platform_names') + if (value = attributes[:'discoverer_platform_names']).is_a?(Array) + self.discoverer_platform_names = value + end + end + if attributes.key?(:'discoverer_product_type_descs') if (value = attributes[:'discoverer_product_type_descs']).is_a?(Array) self.discoverer_product_type_descs = value end end + if attributes.key?(:'discoverer_tags') + if (value = attributes[:'discoverer_tags']).is_a?(Array) + self.discoverer_tags = value + end + end + + if attributes.key?(:'discovering_by') + if (value = attributes[:'discovering_by']).is_a?(Array) + self.discovering_by = value + end + end + if attributes.key?(:'disk_sizes') if (value = attributes[:'disk_sizes']).is_a?(Array) self.disk_sizes = value @@ -679,6 +1017,10 @@ def initialize(attributes = {}) self.dragos_id = attributes[:'dragos_id'] end + if attributes.key?(:'email') + self.email = attributes[:'email'] + end + if attributes.key?(:'encrypted_drives') if (value = attributes[:'encrypted_drives']).is_a?(Array) self.encrypted_drives = value @@ -707,10 +1049,22 @@ def initialize(attributes = {}) end end + if attributes.key?(:'first_discoverer_aid') + self.first_discoverer_aid = attributes[:'first_discoverer_aid'] + end + if attributes.key?(:'first_seen_timestamp') self.first_seen_timestamp = attributes[:'first_seen_timestamp'] end + if attributes.key?(:'form_factor') + self.form_factor = attributes[:'form_factor'] + end + + if attributes.key?(:'fqdn') + self.fqdn = attributes[:'fqdn'] + end + if attributes.key?(:'groups') if (value = attributes[:'groups']).is_a?(Array) self.groups = value @@ -733,18 +1087,30 @@ def initialize(attributes = {}) self.internet_exposure = attributes[:'internet_exposure'] end - if attributes.key?(:'iommu_protection_status') - self.iommu_protection_status = attributes[:'iommu_protection_status'] + if attributes.key?(:'internet_exposure_description') + self.internet_exposure_description = attributes[:'internet_exposure_description'] + end + + if attributes.key?(:'internet_exposure_timestamp') + self.internet_exposure_timestamp = attributes[:'internet_exposure_timestamp'] end - if attributes.key?(:'kernel_dma_protection_status') - self.kernel_dma_protection_status = attributes[:'kernel_dma_protection_status'] + if attributes.key?(:'internet_exposure_username') + self.internet_exposure_username = attributes[:'internet_exposure_username'] end if attributes.key?(:'kernel_version') self.kernel_version = attributes[:'kernel_version'] end + if attributes.key?(:'last_discoverer_aid') + self.last_discoverer_aid = attributes[:'last_discoverer_aid'] + end + + if attributes.key?(:'last_discoverer_hostname') + self.last_discoverer_hostname = attributes[:'last_discoverer_hostname'] + end + if attributes.key?(:'last_discoverer_ics_collector_id') self.last_discoverer_ics_collector_id = attributes[:'last_discoverer_ics_collector_id'] end @@ -763,6 +1129,10 @@ def initialize(attributes = {}) self.local_ips_count = attributes[:'local_ips_count'] end + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + if attributes.key?(:'logical_core_count') self.logical_core_count = attributes[:'logical_core_count'] end @@ -777,10 +1147,18 @@ def initialize(attributes = {}) self.machine_domain = attributes[:'machine_domain'] end + if attributes.key?(:'managed_by') + self.managed_by = attributes[:'managed_by'] + end + if attributes.key?(:'max_memory_usage') self.max_memory_usage = attributes[:'max_memory_usage'] end + if attributes.key?(:'max_memory_usage_pct') + self.max_memory_usage_pct = attributes[:'max_memory_usage_pct'] + end + if attributes.key?(:'max_processor_usage') self.max_processor_usage = attributes[:'max_processor_usage'] end @@ -809,10 +1187,26 @@ def initialize(attributes = {}) self.number_of_disk_drives = attributes[:'number_of_disk_drives'] end + if attributes.key?(:'object_guid') + self.object_guid = attributes[:'object_guid'] + end + + if attributes.key?(:'object_sid') + self.object_sid = attributes[:'object_sid'] + end + if attributes.key?(:'os_is_eol') self.os_is_eol = attributes[:'os_is_eol'] end + if attributes.key?(:'os_security') + self.os_security = attributes[:'os_security'] + end + + if attributes.key?(:'os_service_pack') + self.os_service_pack = attributes[:'os_service_pack'] + end + if attributes.key?(:'os_version') self.os_version = attributes[:'os_version'] end @@ -823,6 +1217,12 @@ def initialize(attributes = {}) end end + if attributes.key?(:'ot_network_ids') + if (value = attributes[:'ot_network_ids']).is_a?(Array) + self.ot_network_ids = value + end + end + if attributes.key?(:'ot_serial_numbers') if (value = attributes[:'ot_serial_numbers']).is_a?(Array) self.ot_serial_numbers = value @@ -833,6 +1233,22 @@ def initialize(attributes = {}) self.ou = attributes[:'ou'] end + if attributes.key?(:'override_asset_roles') + self.override_asset_roles = attributes[:'override_asset_roles'] + end + + if attributes.key?(:'override_criticality_rules') + self.override_criticality_rules = attributes[:'override_criticality_rules'] + end + + if attributes.key?(:'override_internet_exposure') + self.override_internet_exposure = attributes[:'override_internet_exposure'] + end + + if attributes.key?(:'owned_by') + self.owned_by = attributes[:'owned_by'] + end + if attributes.key?(:'physical_core_count') self.physical_core_count = attributes[:'physical_core_count'] end @@ -867,28 +1283,20 @@ def initialize(attributes = {}) self.reduced_functionality_mode = attributes[:'reduced_functionality_mode'] end - if attributes.key?(:'secure_boot_enabled_status') - self.secure_boot_enabled_status = attributes[:'secure_boot_enabled_status'] - end - - if attributes.key?(:'secure_boot_requested_status') - self.secure_boot_requested_status = attributes[:'secure_boot_requested_status'] - end - - if attributes.key?(:'secure_memory_overwrite_requested_status') - self.secure_memory_overwrite_requested_status = attributes[:'secure_memory_overwrite_requested_status'] + if attributes.key?(:'servicenow_id') + self.servicenow_id = attributes[:'servicenow_id'] end if attributes.key?(:'site_name') self.site_name = attributes[:'site_name'] end - if attributes.key?(:'subnet') - self.subnet = attributes[:'subnet'] + if attributes.key?(:'state') + self.state = attributes[:'state'] end - if attributes.key?(:'system_guard_status') - self.system_guard_status = attributes[:'system_guard_status'] + if attributes.key?(:'subnet') + self.subnet = attributes[:'subnet'] end if attributes.key?(:'system_manufacturer') @@ -917,8 +1325,12 @@ def initialize(attributes = {}) self.total_disk_space = attributes[:'total_disk_space'] end - if attributes.key?(:'uefi_memory_protection_status') - self.uefi_memory_protection_status = attributes[:'uefi_memory_protection_status'] + if attributes.key?(:'total_memory') + self.total_memory = attributes[:'total_memory'] + end + + if attributes.key?(:'triage') + self.triage = attributes[:'triage'] end if attributes.key?(:'unencrypted_drives') @@ -935,12 +1347,26 @@ def initialize(attributes = {}) self.used_disk_space = attributes[:'used_disk_space'] end - if attributes.key?(:'virtual_zone') - self.virtual_zone = attributes[:'virtual_zone'] + if attributes.key?(:'used_disk_space_pct') + self.used_disk_space_pct = attributes[:'used_disk_space_pct'] end - if attributes.key?(:'virtualization_based_security_status') - self.virtualization_based_security_status = attributes[:'virtualization_based_security_status'] + if attributes.key?(:'used_for') + self.used_for = attributes[:'used_for'] + end + + if attributes.key?(:'user_asset_roles') + if (value = attributes[:'user_asset_roles']).is_a?(Array) + self.user_asset_roles = value + end + end + + if attributes.key?(:'user_internet_exposure') + self.user_internet_exposure = attributes[:'user_internet_exposure'] + end + + if attributes.key?(:'virtual_zone') + self.virtual_zone = attributes[:'virtual_zone'] end if attributes.key?(:'vlan') @@ -966,14 +1392,6 @@ def list_invalid_properties invalid_properties.push('invalid value for "id", id cannot be nil.') end - if @ot_information_sources.nil? - invalid_properties.push('invalid value for "ot_information_sources", ot_information_sources cannot be nil.') - end - - if @ot_serial_numbers.nil? - invalid_properties.push('invalid value for "ot_serial_numbers", ot_serial_numbers cannot be nil.') - end - invalid_properties end @@ -982,8 +1400,6 @@ def list_invalid_properties def valid? return false if @cid.nil? return false if @id.nil? - return false if @ot_information_sources.nil? - return false if @ot_serial_numbers.nil? true end @@ -992,11 +1408,18 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + account_enabled == o.account_enabled && + ad_user_account_control == o.ad_user_account_control && agent_version == o.agent_version && aid == o.aid && + asset_roles == o.asset_roles && + assigned_to == o.assigned_to && available_disk_space == o.available_disk_space && + available_disk_space_pct == o.available_disk_space_pct && average_memory_usage == o.average_memory_usage && + average_memory_usage_pct == o.average_memory_usage_pct && average_processor_usage == o.average_processor_usage && + bios_hashes_data == o.bios_hashes_data && bios_id == o.bios_id && bios_manufacturer == o.bios_manufacturer && bios_version == o.bios_version && @@ -1004,60 +1427,96 @@ def ==(o) cid == o.cid && city == o.city && claroty_id == o.claroty_id && + classification == o.classification && + computed_asset_roles == o.computed_asset_roles && computed_internet_exposure == o.computed_internet_exposure && computed_internet_exposure_external_ip == o.computed_internet_exposure_external_ip && computed_internet_exposure_last_seen == o.computed_internet_exposure_last_seen && confidence == o.confidence && country == o.country && + cpu_manufacturer == o.cpu_manufacturer && cpu_processor_name == o.cpu_processor_name && - credential_guard_status == o.credential_guard_status && + creation_timestamp == o.creation_timestamp && + criticality == o.criticality && + criticality_description == o.criticality_description && + criticality_rule_id == o.criticality_rule_id && + criticality_timestamp == o.criticality_timestamp && + criticality_username == o.criticality_username && current_local_ip == o.current_local_ip && + current_network_prefix == o.current_network_prefix && data_providers == o.data_providers && data_providers_count == o.data_providers_count && + department == o.department && + descriptions == o.descriptions && device_class == o.device_class && device_family == o.device_family && - device_guard_status == o.device_guard_status && + device_mode == o.device_mode && device_slots == o.device_slots && device_type == o.device_type && + discoverer_aids == o.discoverer_aids && discoverer_count == o.discoverer_count && + discoverer_criticalities == o.discoverer_criticalities && + discoverer_hostnames == o.discoverer_hostnames && discoverer_ics_collector_ids == o.discoverer_ics_collector_ids && + discoverer_platform_names == o.discoverer_platform_names && discoverer_product_type_descs == o.discoverer_product_type_descs && + discoverer_tags == o.discoverer_tags && + discovering_by == o.discovering_by && disk_sizes == o.disk_sizes && dragos_id == o.dragos_id && + email == o.email && encrypted_drives == o.encrypted_drives && encrypted_drives_count == o.encrypted_drives_count && encryption_status == o.encryption_status && entity_type == o.entity_type && external_ip == o.external_ip && field_metadata == o.field_metadata && + first_discoverer_aid == o.first_discoverer_aid && first_seen_timestamp == o.first_seen_timestamp && + form_factor == o.form_factor && + fqdn == o.fqdn && groups == o.groups && hostname == o.hostname && ics_id == o.ics_id && id == o.id && internet_exposure == o.internet_exposure && - iommu_protection_status == o.iommu_protection_status && - kernel_dma_protection_status == o.kernel_dma_protection_status && + internet_exposure_description == o.internet_exposure_description && + internet_exposure_timestamp == o.internet_exposure_timestamp && + internet_exposure_username == o.internet_exposure_username && kernel_version == o.kernel_version && + last_discoverer_aid == o.last_discoverer_aid && + last_discoverer_hostname == o.last_discoverer_hostname && last_discoverer_ics_collector_id == o.last_discoverer_ics_collector_id && last_seen_timestamp == o.last_seen_timestamp && local_ip_addresses == o.local_ip_addresses && local_ips_count == o.local_ips_count && + location == o.location && logical_core_count == o.logical_core_count && mac_addresses == o.mac_addresses && machine_domain == o.machine_domain && + managed_by == o.managed_by && max_memory_usage == o.max_memory_usage && + max_memory_usage_pct == o.max_memory_usage_pct && max_processor_usage == o.max_processor_usage && memory_total == o.memory_total && mount_storage_info == o.mount_storage_info && network_id == o.network_id && network_interfaces == o.network_interfaces && number_of_disk_drives == o.number_of_disk_drives && + object_guid == o.object_guid && + object_sid == o.object_sid && os_is_eol == o.os_is_eol && + os_security == o.os_security && + os_service_pack == o.os_service_pack && os_version == o.os_version && ot_information_sources == o.ot_information_sources && + ot_network_ids == o.ot_network_ids && ot_serial_numbers == o.ot_serial_numbers && ou == o.ou && + override_asset_roles == o.override_asset_roles && + override_criticality_rules == o.override_criticality_rules && + override_internet_exposure == o.override_internet_exposure && + owned_by == o.owned_by && physical_core_count == o.physical_core_count && platform_name == o.platform_name && processor_package_count == o.processor_package_count && @@ -1066,24 +1525,26 @@ def ==(o) protocols == o.protocols && purdue_level == o.purdue_level && reduced_functionality_mode == o.reduced_functionality_mode && - secure_boot_enabled_status == o.secure_boot_enabled_status && - secure_boot_requested_status == o.secure_boot_requested_status && - secure_memory_overwrite_requested_status == o.secure_memory_overwrite_requested_status && + servicenow_id == o.servicenow_id && site_name == o.site_name && + state == o.state && subnet == o.subnet && - system_guard_status == o.system_guard_status && system_manufacturer == o.system_manufacturer && system_product_name == o.system_product_name && system_serial_number == o.system_serial_number && tags == o.tags && total_bios_files == o.total_bios_files && total_disk_space == o.total_disk_space && - uefi_memory_protection_status == o.uefi_memory_protection_status && + total_memory == o.total_memory && + triage == o.triage && unencrypted_drives == o.unencrypted_drives && unencrypted_drives_count == o.unencrypted_drives_count && used_disk_space == o.used_disk_space && + used_disk_space_pct == o.used_disk_space_pct && + used_for == o.used_for && + user_asset_roles == o.user_asset_roles && + user_internet_exposure == o.user_internet_exposure && virtual_zone == o.virtual_zone && - virtualization_based_security_status == o.virtualization_based_security_status && vlan == o.vlan && xdome_id == o.xdome_id end @@ -1097,7 +1558,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [agent_version, aid, available_disk_space, average_memory_usage, average_processor_usage, bios_id, bios_manufacturer, bios_version, business_criticality, cid, city, claroty_id, computed_internet_exposure, computed_internet_exposure_external_ip, computed_internet_exposure_last_seen, confidence, country, cpu_processor_name, credential_guard_status, current_local_ip, data_providers, data_providers_count, device_class, device_family, device_guard_status, device_slots, device_type, discoverer_count, discoverer_ics_collector_ids, discoverer_product_type_descs, disk_sizes, dragos_id, encrypted_drives, encrypted_drives_count, encryption_status, entity_type, external_ip, field_metadata, first_seen_timestamp, groups, hostname, ics_id, id, internet_exposure, iommu_protection_status, kernel_dma_protection_status, kernel_version, last_discoverer_ics_collector_id, last_seen_timestamp, local_ip_addresses, local_ips_count, logical_core_count, mac_addresses, machine_domain, max_memory_usage, max_processor_usage, memory_total, mount_storage_info, network_id, network_interfaces, number_of_disk_drives, os_is_eol, os_version, ot_information_sources, ot_serial_numbers, ou, physical_core_count, platform_name, processor_package_count, product_type, product_type_desc, protocols, purdue_level, reduced_functionality_mode, secure_boot_enabled_status, secure_boot_requested_status, secure_memory_overwrite_requested_status, site_name, subnet, system_guard_status, system_manufacturer, system_product_name, system_serial_number, tags, total_bios_files, total_disk_space, uefi_memory_protection_status, unencrypted_drives, unencrypted_drives_count, used_disk_space, virtual_zone, virtualization_based_security_status, vlan, xdome_id].hash + [account_enabled, ad_user_account_control, agent_version, aid, asset_roles, assigned_to, available_disk_space, available_disk_space_pct, average_memory_usage, average_memory_usage_pct, average_processor_usage, bios_hashes_data, bios_id, bios_manufacturer, bios_version, business_criticality, cid, city, claroty_id, classification, computed_asset_roles, computed_internet_exposure, computed_internet_exposure_external_ip, computed_internet_exposure_last_seen, confidence, country, cpu_manufacturer, cpu_processor_name, creation_timestamp, criticality, criticality_description, criticality_rule_id, criticality_timestamp, criticality_username, current_local_ip, current_network_prefix, data_providers, data_providers_count, department, descriptions, device_class, device_family, device_mode, device_slots, device_type, discoverer_aids, discoverer_count, discoverer_criticalities, discoverer_hostnames, discoverer_ics_collector_ids, discoverer_platform_names, discoverer_product_type_descs, discoverer_tags, discovering_by, disk_sizes, dragos_id, email, encrypted_drives, encrypted_drives_count, encryption_status, entity_type, external_ip, field_metadata, first_discoverer_aid, first_seen_timestamp, form_factor, fqdn, groups, hostname, ics_id, id, internet_exposure, internet_exposure_description, internet_exposure_timestamp, internet_exposure_username, kernel_version, last_discoverer_aid, last_discoverer_hostname, last_discoverer_ics_collector_id, last_seen_timestamp, local_ip_addresses, local_ips_count, location, logical_core_count, mac_addresses, machine_domain, managed_by, max_memory_usage, max_memory_usage_pct, max_processor_usage, memory_total, mount_storage_info, network_id, network_interfaces, number_of_disk_drives, object_guid, object_sid, os_is_eol, os_security, os_service_pack, os_version, ot_information_sources, ot_network_ids, ot_serial_numbers, ou, override_asset_roles, override_criticality_rules, override_internet_exposure, owned_by, physical_core_count, platform_name, processor_package_count, product_type, product_type_desc, protocols, purdue_level, reduced_functionality_mode, servicenow_id, site_name, state, subnet, system_manufacturer, system_product_name, system_serial_number, tags, total_bios_files, total_disk_space, total_memory, triage, unencrypted_drives, unencrypted_drives_count, used_disk_space, used_disk_space_pct, used_for, user_asset_roles, user_internet_exposure, virtual_zone, vlan, xdome_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_discover_apiio_t_host_entities_response.rb b/lib/crimson-falcon/models/domain_discover_apiio_t_host_entities_response.rb index 25d0c795..19e74f48 100644 --- a/lib/crimson-falcon/models/domain_discover_apiio_t_host_entities_response.rb +++ b/lib/crimson-falcon/models/domain_discover_apiio_t_host_entities_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_discover_apiio_t_host_triage.rb b/lib/crimson-falcon/models/domain_discover_apiio_t_host_triage.rb new file mode 100644 index 00000000..ca017f12 --- /dev/null +++ b/lib/crimson-falcon/models/domain_discover_apiio_t_host_triage.rb @@ -0,0 +1,285 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainDiscoverAPIIoTHostTriage + # The host triage action. + attr_accessor :action + + # The user assigned to triage the host. + attr_accessor :assigned_to + + # The host triage description. + attr_accessor :description + + # The host triage status. + attr_accessor :status + + # The user who last triaged the host.' + attr_accessor :updated_by + + # The time at which the host was last triaged. + attr_accessor :updated_timestamp + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'action' => :'action', + :'assigned_to' => :'assigned_to', + :'description' => :'description', + :'status' => :'status', + :'updated_by' => :'updated_by', + :'updated_timestamp' => :'updated_timestamp' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'action' => :'String', + :'assigned_to' => :'String', + :'description' => :'String', + :'status' => :'String', + :'updated_by' => :'String', + :'updated_timestamp' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDiscoverAPIIoTHostTriage` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDiscoverAPIIoTHostTriage`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'action') + self.action = attributes[:'action'] + end + + if attributes.key?(:'assigned_to') + self.assigned_to = attributes[:'assigned_to'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'updated_by') + self.updated_by = attributes[:'updated_by'] + end + + if attributes.key?(:'updated_timestamp') + self.updated_timestamp = attributes[:'updated_timestamp'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + action == o.action && + assigned_to == o.assigned_to && + description == o.description && + status == o.status && + updated_by == o.updated_by && + updated_timestamp == o.updated_timestamp + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [action, assigned_to, description, status, updated_by, updated_timestamp].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_discover_params.rb b/lib/crimson-falcon/models/domain_discover_params.rb index c741d960..d8991505 100644 --- a/lib/crimson-falcon/models/domain_discover_params.rb +++ b/lib/crimson-falcon/models/domain_discover_params.rb @@ -38,6 +38,8 @@ class DomainDiscoverParams attr_accessor :application_vendors + attr_accessor :inline_app_filter + attr_accessor :requirement_criteria # Attribute mapping from ruby-style variable name to JSON key. @@ -46,6 +48,7 @@ def self.attribute_map :'application_filters' => :'application_filters', :'application_group_id' => :'application_group_id', :'application_vendors' => :'application_vendors', + :'inline_app_filter' => :'inline_app_filter', :'requirement_criteria' => :'requirement_criteria' } end @@ -61,6 +64,7 @@ def self.openapi_types :'application_filters' => :'String', :'application_group_id' => :'String', :'application_vendors' => :'String', + :'inline_app_filter' => :'String', :'requirement_criteria' => :'String' } end @@ -98,6 +102,10 @@ def initialize(attributes = {}) self.application_vendors = attributes[:'application_vendors'] end + if attributes.key?(:'inline_app_filter') + self.inline_app_filter = attributes[:'inline_app_filter'] + end + if attributes.key?(:'requirement_criteria') self.requirement_criteria = attributes[:'requirement_criteria'] end @@ -119,6 +127,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "application_vendors", application_vendors cannot be nil.') end + if @inline_app_filter.nil? + invalid_properties.push('invalid value for "inline_app_filter", inline_app_filter cannot be nil.') + end + if @requirement_criteria.nil? invalid_properties.push('invalid value for "requirement_criteria", requirement_criteria cannot be nil.') end @@ -132,6 +144,7 @@ def valid? return false if @application_filters.nil? return false if @application_group_id.nil? return false if @application_vendors.nil? + return false if @inline_app_filter.nil? return false if @requirement_criteria.nil? true end @@ -144,6 +157,7 @@ def ==(o) application_filters == o.application_filters && application_group_id == o.application_group_id && application_vendors == o.application_vendors && + inline_app_filter == o.inline_app_filter && requirement_criteria == o.requirement_criteria end @@ -156,7 +170,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [application_filters, application_group_id, application_vendors, requirement_criteria].hash + [application_filters, application_group_id, application_vendors, inline_app_filter, requirement_criteria].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_errors_only.rb b/lib/crimson-falcon/models/domain_errors_only.rb index c000b990..2cbe55e0 100644 --- a/lib/crimson-falcon/models/domain_errors_only.rb +++ b/lib/crimson-falcon/models/domain_errors_only.rb @@ -53,7 +53,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/domain_execute_command_request_v1.rb b/lib/crimson-falcon/models/domain_execute_command_request_v1.rb new file mode 100644 index 00000000..72c2904b --- /dev/null +++ b/lib/crimson-falcon/models/domain_execute_command_request_v1.rb @@ -0,0 +1,242 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExecuteCommandRequestV1 + # List of commands to execute + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExecuteCommandRequestV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExecuteCommandRequestV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_execute_command_result_v1.rb b/lib/crimson-falcon/models/domain_execute_command_result_v1.rb new file mode 100644 index 00000000..1ccb6ecd --- /dev/null +++ b/lib/crimson-falcon/models/domain_execute_command_result_v1.rb @@ -0,0 +1,286 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExecuteCommandResultV1 + # The response headers from the partner operation + attr_accessor :headers + + # ID of the plugin that was executed in the format 'definition_id.operation_id'. Multi-instance plugins require a config_id as part of the id as well in the format 'definition_id.operation_id.config_id'. + attr_accessor :id + + # The response headers from the partner operation + attr_accessor :parsed_headers + + attr_accessor :response_body + + # The response status code from the partner operation. + attr_accessor :status_code + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'headers' => :'headers', + :'id' => :'id', + :'parsed_headers' => :'parsed_headers', + :'response_body' => :'response_body', + :'status_code' => :'status_code' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'headers' => :'Hash>', + :'id' => :'String', + :'parsed_headers' => :'Object', + :'response_body' => :'Object', + :'status_code' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExecuteCommandResultV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExecuteCommandResultV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'headers') + if (value = attributes[:'headers']).is_a?(Hash) + self.headers = value + end + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'parsed_headers') + self.parsed_headers = attributes[:'parsed_headers'] + end + + if attributes.key?(:'response_body') + self.response_body = attributes[:'response_body'] + end + + if attributes.key?(:'status_code') + self.status_code = attributes[:'status_code'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @status_code.nil? + invalid_properties.push('invalid value for "status_code", status_code cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + return false if @status_code.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + headers == o.headers && + id == o.id && + parsed_headers == o.parsed_headers && + response_body == o.response_body && + status_code == o.status_code + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [headers, id, parsed_headers, response_body, status_code].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_execute_command_results_v1.rb b/lib/crimson-falcon/models/domain_execute_command_results_v1.rb new file mode 100644 index 00000000..ecae8fc6 --- /dev/null +++ b/lib/crimson-falcon/models/domain_execute_command_results_v1.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExecuteCommandResultsV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExecuteCommandResultsV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExecuteCommandResultsV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_execute_command_v1.rb b/lib/crimson-falcon/models/domain_execute_command_v1.rb new file mode 100644 index 00000000..3a7eaceb --- /dev/null +++ b/lib/crimson-falcon/models/domain_execute_command_v1.rb @@ -0,0 +1,329 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExecuteCommandV1 + # Config auth type for plugin to execute. Only applicable for oneOf security scheme plugins. If not provided, it will use the default auth type on the config + attr_accessor :config_auth_type + + # ConfigID for plugin to execute. If omitted, the oldest config will be used as part of the execution. + attr_accessor :config_id + + # ID of the definition containing the operation to execute.' + attr_accessor :definition_id + + # ID of the specific plugin to execute, in the format 'definition_name.operation_name' + attr_accessor :id + + # The specific operation to execute. + attr_accessor :operation_id + + attr_accessor :request + + # The version of the definition to execute. + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'config_auth_type' => :'config_auth_type', + :'config_id' => :'config_id', + :'definition_id' => :'definition_id', + :'id' => :'id', + :'operation_id' => :'operation_id', + :'request' => :'request', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'config_auth_type' => :'String', + :'config_id' => :'String', + :'definition_id' => :'String', + :'id' => :'String', + :'operation_id' => :'String', + :'request' => :'DomainRequest', + :'version' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExecuteCommandV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExecuteCommandV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'config_auth_type') + self.config_auth_type = attributes[:'config_auth_type'] + end + + if attributes.key?(:'config_id') + self.config_id = attributes[:'config_id'] + end + + if attributes.key?(:'definition_id') + self.definition_id = attributes[:'definition_id'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'operation_id') + self.operation_id = attributes[:'operation_id'] + end + + if attributes.key?(:'request') + self.request = attributes[:'request'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @config_auth_type.nil? + invalid_properties.push('invalid value for "config_auth_type", config_auth_type cannot be nil.') + end + + if @config_id.nil? + invalid_properties.push('invalid value for "config_id", config_id cannot be nil.') + end + + if @definition_id.nil? + invalid_properties.push('invalid value for "definition_id", definition_id cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @operation_id.nil? + invalid_properties.push('invalid value for "operation_id", operation_id cannot be nil.') + end + + if @request.nil? + invalid_properties.push('invalid value for "request", request cannot be nil.') + end + + if @version.nil? + invalid_properties.push('invalid value for "version", version cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @config_auth_type.nil? + return false if @config_id.nil? + return false if @definition_id.nil? + return false if @id.nil? + return false if @operation_id.nil? + return false if @request.nil? + return false if @version.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + config_auth_type == o.config_auth_type && + config_id == o.config_id && + definition_id == o.definition_id && + id == o.id && + operation_id == o.operation_id && + request == o.request && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [config_auth_type, config_id, definition_id, id, operation_id, request, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_execution_metadata_summary.rb b/lib/crimson-falcon/models/domain_execution_metadata_summary.rb index e075259e..39df2147 100644 --- a/lib/crimson-falcon/models/domain_execution_metadata_summary.rb +++ b/lib/crimson-falcon/models/domain_execution_metadata_summary.rb @@ -32,6 +32,8 @@ module Falcon class DomainExecutionMetadataSummary + attr_accessor :report_params + attr_accessor :subtype attr_accessor :unscheduled_execution_type @@ -43,6 +45,7 @@ class DomainExecutionMetadataSummary # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'report_params' => :'report_params', :'subtype' => :'subtype', :'unscheduled_execution_type' => :'unscheduled_execution_type', :'xdr_data' => :'xdr_data', @@ -58,6 +61,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'report_params' => :'DomainReportParams', :'subtype' => :'String', :'unscheduled_execution_type' => :'String', :'xdr_data' => :'DomainXDRData', @@ -86,6 +90,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'report_params') + self.report_params = attributes[:'report_params'] + end + if attributes.key?(:'subtype') self.subtype = attributes[:'subtype'] end @@ -107,6 +115,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @report_params.nil? + invalid_properties.push('invalid value for "report_params", report_params cannot be nil.') + end + if @subtype.nil? invalid_properties.push('invalid value for "subtype", subtype cannot be nil.') end @@ -129,6 +141,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @report_params.nil? return false if @subtype.nil? return false if @unscheduled_execution_type.nil? return false if @xdr_data.nil? @@ -141,6 +154,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + report_params == o.report_params && subtype == o.subtype && unscheduled_execution_type == o.unscheduled_execution_type && xdr_data == o.xdr_data && @@ -156,7 +170,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [subtype, unscheduled_execution_type, xdr_data, xdr_params].hash + [report_params, subtype, unscheduled_execution_type, xdr_data, xdr_params].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_execution_metadata_v1.rb b/lib/crimson-falcon/models/domain_execution_metadata_v1.rb index 16ba92e7..d6c30284 100644 --- a/lib/crimson-falcon/models/domain_execution_metadata_v1.rb +++ b/lib/crimson-falcon/models/domain_execution_metadata_v1.rb @@ -32,6 +32,8 @@ module Falcon class DomainExecutionMetadataV1 + attr_accessor :report_params + attr_accessor :retry_allowed attr_accessor :retry_performed @@ -49,6 +51,7 @@ class DomainExecutionMetadataV1 # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'report_params' => :'report_params', :'retry_allowed' => :'retry_allowed', :'retry_performed' => :'retry_performed', :'retry_report_execution_id' => :'retry_report_execution_id', @@ -67,6 +70,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'report_params' => :'DomainReportParams', :'retry_allowed' => :'Boolean', :'retry_performed' => :'Boolean', :'retry_report_execution_id' => :'String', @@ -98,6 +102,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'report_params') + self.report_params = attributes[:'report_params'] + end + if attributes.key?(:'retry_allowed') self.retry_allowed = attributes[:'retry_allowed'] end @@ -131,6 +139,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @report_params.nil? + invalid_properties.push('invalid value for "report_params", report_params cannot be nil.') + end + if @retry_allowed.nil? invalid_properties.push('invalid value for "retry_allowed", retry_allowed cannot be nil.') end @@ -165,6 +177,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @report_params.nil? return false if @retry_allowed.nil? return false if @retry_performed.nil? return false if @retry_report_execution_id.nil? @@ -180,6 +193,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + report_params == o.report_params && retry_allowed == o.retry_allowed && retry_performed == o.retry_performed && retry_report_execution_id == o.retry_report_execution_id && @@ -198,7 +212,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [retry_allowed, retry_performed, retry_report_execution_id, subtype, unscheduled_execution_type, xdr_data, xdr_params].hash + [report_params, retry_allowed, retry_performed, retry_report_execution_id, subtype, unscheduled_execution_type, xdr_data, xdr_params].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_export_job_entities_response_v1.rb b/lib/crimson-falcon/models/domain_export_job_entities_response_v1.rb index ffd3412f..c534e97a 100644 --- a/lib/crimson-falcon/models/domain_export_job_entities_response_v1.rb +++ b/lib/crimson-falcon/models/domain_export_job_entities_response_v1.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_export_job_id_response_v1.rb b/lib/crimson-falcon/models/domain_export_job_id_response_v1.rb index be958d69..ad9a177d 100644 --- a/lib/crimson-falcon/models/domain_export_job_id_response_v1.rb +++ b/lib/crimson-falcon/models/domain_export_job_id_response_v1.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_external_asset_api_delete_request_v1.rb b/lib/crimson-falcon/models/domain_external_asset_api_delete_request_v1.rb new file mode 100644 index 00000000..62cba840 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_api_delete_request_v1.rb @@ -0,0 +1,235 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetAPIDeleteRequestV1 + # Some description that the user attached to the delete + attr_accessor :description + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'description' => :'description' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'description' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetAPIDeleteRequestV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetAPIDeleteRequestV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + description == o.description + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [description].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_api_patch_request_v1.rb b/lib/crimson-falcon/models/domain_external_asset_api_patch_request_v1.rb new file mode 100644 index 00000000..60ed269a --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_api_patch_request_v1.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + # Represents the payload for patching multiple assets. + class DomainExternalAssetAPIPatchRequestV1 + # List of asset patches + attr_accessor :assets + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'assets' => :'assets' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'assets' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetAPIPatchRequestV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetAPIPatchRequestV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'assets') + if (value = attributes[:'assets']).is_a?(Array) + self.assets = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @assets.nil? + invalid_properties.push('invalid value for "assets", assets cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @assets.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + assets == o.assets + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [assets].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_application.rb b/lib/crimson-falcon/models/domain_external_asset_application.rb new file mode 100644 index 00000000..8898a465 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_application.rb @@ -0,0 +1,270 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetApplication + attr_accessor :category + + attr_accessor :cpe + + attr_accessor :name + + attr_accessor :vendor + + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'category' => :'category', + :'cpe' => :'cpe', + :'name' => :'name', + :'vendor' => :'vendor', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'category' => :'String', + :'cpe' => :'String', + :'name' => :'String', + :'vendor' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetApplication`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'category') + self.category = attributes[:'category'] + end + + if attributes.key?(:'cpe') + self.cpe = attributes[:'cpe'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'vendor') + self.vendor = attributes[:'vendor'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + category == o.category && + cpe == o.cpe && + name == o.name && + vendor == o.vendor && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [category, cpe, name, vendor, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_certificate.rb b/lib/crimson-falcon/models/domain_external_asset_certificate.rb new file mode 100644 index 00000000..26031fd9 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_certificate.rb @@ -0,0 +1,317 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetCertificate + attr_accessor :ciphers + + attr_accessor :fingerprint_sha256 + + attr_accessor :issuer + + attr_accessor :pubkey_bits + + attr_accessor :pubkey_type + + attr_accessor :serial + + attr_accessor :signature_algorithm + + attr_accessor :subject + + attr_accessor :valid_from + + attr_accessor :valid_to + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'ciphers' => :'ciphers', + :'fingerprint_sha256' => :'fingerprint_sha256', + :'issuer' => :'issuer', + :'pubkey_bits' => :'pubkey_bits', + :'pubkey_type' => :'pubkey_type', + :'serial' => :'serial', + :'signature_algorithm' => :'signature_algorithm', + :'subject' => :'subject', + :'valid_from' => :'valid_from', + :'valid_to' => :'valid_to' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'ciphers' => :'Array', + :'fingerprint_sha256' => :'String', + :'issuer' => :'DomainExternalAssetCertificateEntityIdentifiers', + :'pubkey_bits' => :'Integer', + :'pubkey_type' => :'String', + :'serial' => :'String', + :'signature_algorithm' => :'String', + :'subject' => :'DomainExternalAssetCertificateEntityIdentifiers', + :'valid_from' => :'Time', + :'valid_to' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetCertificate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetCertificate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'ciphers') + if (value = attributes[:'ciphers']).is_a?(Array) + self.ciphers = value + end + end + + if attributes.key?(:'fingerprint_sha256') + self.fingerprint_sha256 = attributes[:'fingerprint_sha256'] + end + + if attributes.key?(:'issuer') + self.issuer = attributes[:'issuer'] + end + + if attributes.key?(:'pubkey_bits') + self.pubkey_bits = attributes[:'pubkey_bits'] + end + + if attributes.key?(:'pubkey_type') + self.pubkey_type = attributes[:'pubkey_type'] + end + + if attributes.key?(:'serial') + self.serial = attributes[:'serial'] + end + + if attributes.key?(:'signature_algorithm') + self.signature_algorithm = attributes[:'signature_algorithm'] + end + + if attributes.key?(:'subject') + self.subject = attributes[:'subject'] + end + + if attributes.key?(:'valid_from') + self.valid_from = attributes[:'valid_from'] + end + + if attributes.key?(:'valid_to') + self.valid_to = attributes[:'valid_to'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + ciphers == o.ciphers && + fingerprint_sha256 == o.fingerprint_sha256 && + issuer == o.issuer && + pubkey_bits == o.pubkey_bits && + pubkey_type == o.pubkey_type && + serial == o.serial && + signature_algorithm == o.signature_algorithm && + subject == o.subject && + valid_from == o.valid_from && + valid_to == o.valid_to + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [ciphers, fingerprint_sha256, issuer, pubkey_bits, pubkey_type, serial, signature_algorithm, subject, valid_from, valid_to].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_certificate_entity_identifiers.rb b/lib/crimson-falcon/models/domain_external_asset_certificate_entity_identifiers.rb new file mode 100644 index 00000000..21aa1dbc --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_certificate_entity_identifiers.rb @@ -0,0 +1,369 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetCertificateEntityIdentifiers + attr_accessor :common_name + + attr_accessor :country_name + + attr_accessor :dn_qualifier + + attr_accessor :domain_component + + attr_accessor :email_address + + attr_accessor :generation_qualifier + + attr_accessor :given_name + + attr_accessor :locality_name + + attr_accessor :organization_name + + attr_accessor :organizational_unit + + attr_accessor :pseudonym + + attr_accessor :serial_number + + attr_accessor :state_or_province_name + + attr_accessor :street_address + + attr_accessor :surname + + attr_accessor :user_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'common_name' => :'common_name', + :'country_name' => :'country_name', + :'dn_qualifier' => :'dn_qualifier', + :'domain_component' => :'domain_component', + :'email_address' => :'email_address', + :'generation_qualifier' => :'generation_qualifier', + :'given_name' => :'given_name', + :'locality_name' => :'locality_name', + :'organization_name' => :'organization_name', + :'organizational_unit' => :'organizational_unit', + :'pseudonym' => :'pseudonym', + :'serial_number' => :'serial_number', + :'state_or_province_name' => :'state_or_province_name', + :'street_address' => :'street_address', + :'surname' => :'surname', + :'user_id' => :'user_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'common_name' => :'String', + :'country_name' => :'String', + :'dn_qualifier' => :'String', + :'domain_component' => :'String', + :'email_address' => :'String', + :'generation_qualifier' => :'String', + :'given_name' => :'String', + :'locality_name' => :'String', + :'organization_name' => :'String', + :'organizational_unit' => :'String', + :'pseudonym' => :'String', + :'serial_number' => :'String', + :'state_or_province_name' => :'String', + :'street_address' => :'String', + :'surname' => :'String', + :'user_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetCertificateEntityIdentifiers` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetCertificateEntityIdentifiers`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'common_name') + self.common_name = attributes[:'common_name'] + end + + if attributes.key?(:'country_name') + self.country_name = attributes[:'country_name'] + end + + if attributes.key?(:'dn_qualifier') + self.dn_qualifier = attributes[:'dn_qualifier'] + end + + if attributes.key?(:'domain_component') + self.domain_component = attributes[:'domain_component'] + end + + if attributes.key?(:'email_address') + self.email_address = attributes[:'email_address'] + end + + if attributes.key?(:'generation_qualifier') + self.generation_qualifier = attributes[:'generation_qualifier'] + end + + if attributes.key?(:'given_name') + self.given_name = attributes[:'given_name'] + end + + if attributes.key?(:'locality_name') + self.locality_name = attributes[:'locality_name'] + end + + if attributes.key?(:'organization_name') + self.organization_name = attributes[:'organization_name'] + end + + if attributes.key?(:'organizational_unit') + self.organizational_unit = attributes[:'organizational_unit'] + end + + if attributes.key?(:'pseudonym') + self.pseudonym = attributes[:'pseudonym'] + end + + if attributes.key?(:'serial_number') + self.serial_number = attributes[:'serial_number'] + end + + if attributes.key?(:'state_or_province_name') + self.state_or_province_name = attributes[:'state_or_province_name'] + end + + if attributes.key?(:'street_address') + self.street_address = attributes[:'street_address'] + end + + if attributes.key?(:'surname') + self.surname = attributes[:'surname'] + end + + if attributes.key?(:'user_id') + self.user_id = attributes[:'user_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + common_name == o.common_name && + country_name == o.country_name && + dn_qualifier == o.dn_qualifier && + domain_component == o.domain_component && + email_address == o.email_address && + generation_qualifier == o.generation_qualifier && + given_name == o.given_name && + locality_name == o.locality_name && + organization_name == o.organization_name && + organizational_unit == o.organizational_unit && + pseudonym == o.pseudonym && + serial_number == o.serial_number && + state_or_province_name == o.state_or_province_name && + street_address == o.street_address && + surname == o.surname && + user_id == o.user_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [common_name, country_name, dn_qualifier, domain_component, email_address, generation_qualifier, given_name, locality_name, organization_name, organizational_unit, pseudonym, serial_number, state_or_province_name, street_address, surname, user_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_cloud_vm.rb b/lib/crimson-falcon/models/domain_external_asset_cloud_vm.rb new file mode 100644 index 00000000..066b2419 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_cloud_vm.rb @@ -0,0 +1,347 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetCloudVM + # The VM description + attr_accessor :description + + # The ID of the cloud VM + attr_accessor :instance_id + + # The lifecycle phase + attr_accessor :lifecycle + + # MAC address of the VM + attr_accessor :mac_address + + # VM owner ID + attr_accessor :owner_id + + # VM platform information + attr_accessor :platform + + # VM private IP address + attr_accessor :private_ip + + # VM public IP address + attr_accessor :public_ip + + # The cloud region + attr_accessor :region + + # Security groups + attr_accessor :security_groups + + # The VM source image + attr_accessor :source + + # Connectivity status of the cloud VM + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'description' => :'description', + :'instance_id' => :'instance_id', + :'lifecycle' => :'lifecycle', + :'mac_address' => :'mac_address', + :'owner_id' => :'owner_id', + :'platform' => :'platform', + :'private_ip' => :'private_ip', + :'public_ip' => :'public_ip', + :'region' => :'region', + :'security_groups' => :'security_groups', + :'source' => :'source', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'description' => :'String', + :'instance_id' => :'String', + :'lifecycle' => :'String', + :'mac_address' => :'String', + :'owner_id' => :'String', + :'platform' => :'String', + :'private_ip' => :'String', + :'public_ip' => :'String', + :'region' => :'String', + :'security_groups' => :'Array', + :'source' => :'String', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetCloudVM` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetCloudVM`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'instance_id') + self.instance_id = attributes[:'instance_id'] + end + + if attributes.key?(:'lifecycle') + self.lifecycle = attributes[:'lifecycle'] + end + + if attributes.key?(:'mac_address') + self.mac_address = attributes[:'mac_address'] + end + + if attributes.key?(:'owner_id') + self.owner_id = attributes[:'owner_id'] + end + + if attributes.key?(:'platform') + self.platform = attributes[:'platform'] + end + + if attributes.key?(:'private_ip') + self.private_ip = attributes[:'private_ip'] + end + + if attributes.key?(:'public_ip') + self.public_ip = attributes[:'public_ip'] + end + + if attributes.key?(:'region') + self.region = attributes[:'region'] + end + + if attributes.key?(:'security_groups') + if (value = attributes[:'security_groups']).is_a?(Array) + self.security_groups = value + end + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + description == o.description && + instance_id == o.instance_id && + lifecycle == o.lifecycle && + mac_address == o.mac_address && + owner_id == o.owner_id && + platform == o.platform && + private_ip == o.private_ip && + public_ip == o.public_ip && + region == o.region && + security_groups == o.security_groups && + source == o.source && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [description, instance_id, lifecycle, mac_address, owner_id, platform, private_ip, public_ip, region, security_groups, source, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_discovery_attributes.rb b/lib/crimson-falcon/models/domain_external_asset_discovery_attributes.rb new file mode 100644 index 00000000..5827bcf5 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_discovery_attributes.rb @@ -0,0 +1,251 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetDiscoveryAttributes + # Alternative discovery paths + attr_accessor :alternative_paths + + attr_accessor :path + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'alternative_paths' => :'alternative_paths', + :'path' => :'path' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'alternative_paths' => :'Array', + :'path' => :'DomainExternalAssetDiscoveryPathAttributes' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetDiscoveryAttributes` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetDiscoveryAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'alternative_paths') + if (value = attributes[:'alternative_paths']).is_a?(Array) + self.alternative_paths = value + end + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @path.nil? + invalid_properties.push('invalid value for "path", path cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @path.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + alternative_paths == o.alternative_paths && + path == o.path + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [alternative_paths, path].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_discovery_path_attributes.rb b/lib/crimson-falcon/models/domain_external_asset_discovery_path_attributes.rb new file mode 100644 index 00000000..23a74551 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_discovery_path_attributes.rb @@ -0,0 +1,237 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetDiscoveryPathAttributes + # The list of steps in the current discovery path + attr_accessor :steps + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'steps' => :'steps' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'steps' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetDiscoveryPathAttributes` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetDiscoveryPathAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'steps') + if (value = attributes[:'steps']).is_a?(Array) + self.steps = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + steps == o.steps + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [steps].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_discovery_step_attributes.rb b/lib/crimson-falcon/models/domain_external_asset_discovery_step_attributes.rb new file mode 100644 index 00000000..56226664 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_discovery_step_attributes.rb @@ -0,0 +1,292 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetDiscoveryStepAttributes + # The reasoning behind this association + attr_accessor :clue + + # The step entity + attr_accessor :entity + + # The entity type of the described entity + attr_accessor :entity_type + + # The discovery step identifier + attr_accessor :id + + # The redirect path + attr_accessor :redirect_path + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'clue' => :'clue', + :'entity' => :'entity', + :'entity_type' => :'entity_type', + :'id' => :'id', + :'redirect_path' => :'redirect_path' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'clue' => :'String', + :'entity' => :'String', + :'entity_type' => :'String', + :'id' => :'String', + :'redirect_path' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetDiscoveryStepAttributes` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetDiscoveryStepAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'clue') + self.clue = attributes[:'clue'] + end + + if attributes.key?(:'entity') + self.entity = attributes[:'entity'] + end + + if attributes.key?(:'entity_type') + self.entity_type = attributes[:'entity_type'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'redirect_path') + if (value = attributes[:'redirect_path']).is_a?(Array) + self.redirect_path = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @clue.nil? + invalid_properties.push('invalid value for "clue", clue cannot be nil.') + end + + if @entity.nil? + invalid_properties.push('invalid value for "entity", entity cannot be nil.') + end + + if @entity_type.nil? + invalid_properties.push('invalid value for "entity_type", entity_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @clue.nil? + return false if @entity.nil? + return false if @entity_type.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + clue == o.clue && + entity == o.entity && + entity_type == o.entity_type && + id == o.id && + redirect_path == o.redirect_path + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [clue, entity, entity_type, id, redirect_path].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_geographical_location.rb b/lib/crimson-falcon/models/domain_external_asset_geographical_location.rb new file mode 100644 index 00000000..868c436a --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_geographical_location.rb @@ -0,0 +1,306 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetGeographicalLocation + attr_accessor :area_code + + attr_accessor :city + + attr_accessor :country_code + + attr_accessor :country_name + + attr_accessor :geo_point + + attr_accessor :postal_code + + attr_accessor :region_code + + attr_accessor :region_name + + attr_accessor :timezone + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'area_code' => :'area_code', + :'city' => :'city', + :'country_code' => :'country_code', + :'country_name' => :'country_name', + :'geo_point' => :'geo_point', + :'postal_code' => :'postal_code', + :'region_code' => :'region_code', + :'region_name' => :'region_name', + :'timezone' => :'timezone' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'area_code' => :'String', + :'city' => :'String', + :'country_code' => :'String', + :'country_name' => :'String', + :'geo_point' => :'DomainGeoPoint', + :'postal_code' => :'String', + :'region_code' => :'String', + :'region_name' => :'String', + :'timezone' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetGeographicalLocation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetGeographicalLocation`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'area_code') + self.area_code = attributes[:'area_code'] + end + + if attributes.key?(:'city') + self.city = attributes[:'city'] + end + + if attributes.key?(:'country_code') + self.country_code = attributes[:'country_code'] + end + + if attributes.key?(:'country_name') + self.country_name = attributes[:'country_name'] + end + + if attributes.key?(:'geo_point') + self.geo_point = attributes[:'geo_point'] + end + + if attributes.key?(:'postal_code') + self.postal_code = attributes[:'postal_code'] + end + + if attributes.key?(:'region_code') + self.region_code = attributes[:'region_code'] + end + + if attributes.key?(:'region_name') + self.region_name = attributes[:'region_name'] + end + + if attributes.key?(:'timezone') + self.timezone = attributes[:'timezone'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + area_code == o.area_code && + city == o.city && + country_code == o.country_code && + country_name == o.country_name && + geo_point == o.geo_point && + postal_code == o.postal_code && + region_code == o.region_code && + region_name == o.region_name && + timezone == o.timezone + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [area_code, city, country_code, country_name, geo_point, postal_code, region_code, region_name, timezone].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_http_attributes.rb b/lib/crimson-falcon/models/domain_external_asset_http_attributes.rb new file mode 100644 index 00000000..d302cf4c --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_http_attributes.rb @@ -0,0 +1,281 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetHTTPAttributes + attr_accessor :cookies + + attr_accessor :meta + + attr_accessor :response_headers + + attr_accessor :technologies + + attr_accessor :title + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cookies' => :'cookies', + :'meta' => :'meta', + :'response_headers' => :'response_headers', + :'technologies' => :'technologies', + :'title' => :'title' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cookies' => :'Array', + :'meta' => :'Array', + :'response_headers' => :'String', + :'technologies' => :'Array', + :'title' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetHTTPAttributes` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetHTTPAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cookies') + if (value = attributes[:'cookies']).is_a?(Array) + self.cookies = value + end + end + + if attributes.key?(:'meta') + if (value = attributes[:'meta']).is_a?(Array) + self.meta = value + end + end + + if attributes.key?(:'response_headers') + self.response_headers = attributes[:'response_headers'] + end + + if attributes.key?(:'technologies') + if (value = attributes[:'technologies']).is_a?(Array) + self.technologies = value + end + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @response_headers.nil? + invalid_properties.push('invalid value for "response_headers", response_headers cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @response_headers.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cookies == o.cookies && + meta == o.meta && + response_headers == o.response_headers && + technologies == o.technologies && + title == o.title + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cookies, meta, response_headers, technologies, title].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_redirect_step_attributes.rb b/lib/crimson-falcon/models/domain_external_asset_redirect_step_attributes.rb new file mode 100644 index 00000000..0e0ad030 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_redirect_step_attributes.rb @@ -0,0 +1,280 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetRedirectStepAttributes + # Clue to how the entity was discovered + attr_accessor :clue + + # The value of the entity being presented + attr_accessor :entity + + # The entity type of the described entity + attr_accessor :entity_type + + # The discovery redirect step identifier, can be omitted + attr_accessor :id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'clue' => :'clue', + :'entity' => :'entity', + :'entity_type' => :'entity_type', + :'id' => :'id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'clue' => :'String', + :'entity' => :'String', + :'entity_type' => :'String', + :'id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetRedirectStepAttributes` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetRedirectStepAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'clue') + self.clue = attributes[:'clue'] + end + + if attributes.key?(:'entity') + self.entity = attributes[:'entity'] + end + + if attributes.key?(:'entity_type') + self.entity_type = attributes[:'entity_type'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @clue.nil? + invalid_properties.push('invalid value for "clue", clue cannot be nil.') + end + + if @entity.nil? + invalid_properties.push('invalid value for "entity", entity cannot be nil.') + end + + if @entity_type.nil? + invalid_properties.push('invalid value for "entity_type", entity_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @clue.nil? + return false if @entity.nil? + return false if @entity_type.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + clue == o.clue && + entity == o.entity && + entity_type == o.entity_type && + id == o.id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [clue, entity, entity_type, id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_service.rb b/lib/crimson-falcon/models/domain_external_asset_service.rb new file mode 100644 index 00000000..5fb9e79d --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_service.rb @@ -0,0 +1,443 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetService + # Details about the applications associated to the service + attr_accessor :applications + + attr_accessor :blob_links + + # The cloud provider name + attr_accessor :cloud_provider + + # A list of Common Platform Enumeration identifiers for this service. The schema format is: cpe:::::::::::: + attr_accessor :cpes + + # The first time this service was observed + attr_accessor :first_seen + + # The hosting provider name + attr_accessor :hosting_provider + + attr_accessor :http_attributes + + # The unique external asset identifier + attr_accessor :id + + # The date on which this was last scanned + attr_accessor :last_seen + + # The operating system the service is running on + attr_accessor :os + + # The name of the platform on which the service is running (Windows, Mac, Linux). + attr_accessor :platform_name + + # The port on which the service is accessible + attr_accessor :port + + # The protocol used to access this service + attr_accessor :protocol + + # The availability status for this service + attr_accessor :status + + # The status code returned by the service + attr_accessor :status_code + + # List of subsidiaries that the asset belongs to + attr_accessor :subsidiaries + + attr_accessor :tls + + # The network transport used to access this service + attr_accessor :transport + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'applications' => :'applications', + :'blob_links' => :'blob_links', + :'cloud_provider' => :'cloud_provider', + :'cpes' => :'cpes', + :'first_seen' => :'first_seen', + :'hosting_provider' => :'hosting_provider', + :'http_attributes' => :'http_attributes', + :'id' => :'id', + :'last_seen' => :'last_seen', + :'os' => :'os', + :'platform_name' => :'platform_name', + :'port' => :'port', + :'protocol' => :'protocol', + :'status' => :'status', + :'status_code' => :'status_code', + :'subsidiaries' => :'subsidiaries', + :'tls' => :'tls', + :'transport' => :'transport' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'applications' => :'Array', + :'blob_links' => :'DomainExternalAssetServiceBlobsLinks', + :'cloud_provider' => :'String', + :'cpes' => :'Array', + :'first_seen' => :'Time', + :'hosting_provider' => :'String', + :'http_attributes' => :'DomainExternalAssetHTTPAttributes', + :'id' => :'String', + :'last_seen' => :'Time', + :'os' => :'String', + :'platform_name' => :'String', + :'port' => :'Integer', + :'protocol' => :'String', + :'status' => :'String', + :'status_code' => :'Integer', + :'subsidiaries' => :'Array', + :'tls' => :'DomainExternalAssetSSLRecord', + :'transport' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetService` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetService`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'applications') + if (value = attributes[:'applications']).is_a?(Array) + self.applications = value + end + end + + if attributes.key?(:'blob_links') + self.blob_links = attributes[:'blob_links'] + end + + if attributes.key?(:'cloud_provider') + self.cloud_provider = attributes[:'cloud_provider'] + end + + if attributes.key?(:'cpes') + if (value = attributes[:'cpes']).is_a?(Array) + self.cpes = value + end + end + + if attributes.key?(:'first_seen') + self.first_seen = attributes[:'first_seen'] + end + + if attributes.key?(:'hosting_provider') + self.hosting_provider = attributes[:'hosting_provider'] + end + + if attributes.key?(:'http_attributes') + self.http_attributes = attributes[:'http_attributes'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'last_seen') + self.last_seen = attributes[:'last_seen'] + end + + if attributes.key?(:'os') + self.os = attributes[:'os'] + end + + if attributes.key?(:'platform_name') + self.platform_name = attributes[:'platform_name'] + end + + if attributes.key?(:'port') + self.port = attributes[:'port'] + end + + if attributes.key?(:'protocol') + self.protocol = attributes[:'protocol'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'status_code') + self.status_code = attributes[:'status_code'] + end + + if attributes.key?(:'subsidiaries') + if (value = attributes[:'subsidiaries']).is_a?(Array) + self.subsidiaries = value + end + end + + if attributes.key?(:'tls') + self.tls = attributes[:'tls'] + end + + if attributes.key?(:'transport') + self.transport = attributes[:'transport'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @last_seen.nil? + invalid_properties.push('invalid value for "last_seen", last_seen cannot be nil.') + end + + if @port.nil? + invalid_properties.push('invalid value for "port", port cannot be nil.') + end + + if @protocol.nil? + invalid_properties.push('invalid value for "protocol", protocol cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @status_code.nil? + invalid_properties.push('invalid value for "status_code", status_code cannot be nil.') + end + + if @transport.nil? + invalid_properties.push('invalid value for "transport", transport cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + return false if @last_seen.nil? + return false if @port.nil? + return false if @protocol.nil? + return false if @status.nil? + return false if @status_code.nil? + return false if @transport.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + applications == o.applications && + blob_links == o.blob_links && + cloud_provider == o.cloud_provider && + cpes == o.cpes && + first_seen == o.first_seen && + hosting_provider == o.hosting_provider && + http_attributes == o.http_attributes && + id == o.id && + last_seen == o.last_seen && + os == o.os && + platform_name == o.platform_name && + port == o.port && + protocol == o.protocol && + status == o.status && + status_code == o.status_code && + subsidiaries == o.subsidiaries && + tls == o.tls && + transport == o.transport + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [applications, blob_links, cloud_provider, cpes, first_seen, hosting_provider, http_attributes, id, last_seen, os, platform_name, port, protocol, status, status_code, subsidiaries, tls, transport].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_service_blobs_links.rb b/lib/crimson-falcon/models/domain_external_asset_service_blobs_links.rb new file mode 100644 index 00000000..31a7d34a --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_service_blobs_links.rb @@ -0,0 +1,261 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetServiceBlobsLinks + attr_accessor :download_attributes + + attr_accessor :download_banner + + attr_accessor :preview_attributes + + attr_accessor :preview_banner + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'download_attributes' => :'download_attributes', + :'download_banner' => :'download_banner', + :'preview_attributes' => :'preview_attributes', + :'preview_banner' => :'preview_banner' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'download_attributes' => :'String', + :'download_banner' => :'String', + :'preview_attributes' => :'String', + :'preview_banner' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetServiceBlobsLinks` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetServiceBlobsLinks`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'download_attributes') + self.download_attributes = attributes[:'download_attributes'] + end + + if attributes.key?(:'download_banner') + self.download_banner = attributes[:'download_banner'] + end + + if attributes.key?(:'preview_attributes') + self.preview_attributes = attributes[:'preview_attributes'] + end + + if attributes.key?(:'preview_banner') + self.preview_banner = attributes[:'preview_banner'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + download_attributes == o.download_attributes && + download_banner == o.download_banner && + preview_attributes == o.preview_attributes && + preview_banner == o.preview_banner + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [download_attributes, download_banner, preview_attributes, preview_banner].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_ssl_record.rb b/lib/crimson-falcon/models/domain_external_asset_ssl_record.rb new file mode 100644 index 00000000..f6f7dd2e --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_ssl_record.rb @@ -0,0 +1,301 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetSSLRecord + attr_accessor :alpn + + attr_accessor :alternative_name + + attr_accessor :certificate + + attr_accessor :cipher_suites + + attr_accessor :ja3s + + attr_accessor :jarm + + attr_accessor :supported_versions + + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'alpn' => :'alpn', + :'alternative_name' => :'alternative_name', + :'certificate' => :'certificate', + :'cipher_suites' => :'cipher_suites', + :'ja3s' => :'ja3s', + :'jarm' => :'jarm', + :'supported_versions' => :'supported_versions', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'alpn' => :'String', + :'alternative_name' => :'String', + :'certificate' => :'DomainExternalAssetCertificate', + :'cipher_suites' => :'Array', + :'ja3s' => :'String', + :'jarm' => :'String', + :'supported_versions' => :'Array', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetSSLRecord` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetSSLRecord`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'alpn') + self.alpn = attributes[:'alpn'] + end + + if attributes.key?(:'alternative_name') + self.alternative_name = attributes[:'alternative_name'] + end + + if attributes.key?(:'certificate') + self.certificate = attributes[:'certificate'] + end + + if attributes.key?(:'cipher_suites') + if (value = attributes[:'cipher_suites']).is_a?(Array) + self.cipher_suites = value + end + end + + if attributes.key?(:'ja3s') + self.ja3s = attributes[:'ja3s'] + end + + if attributes.key?(:'jarm') + self.jarm = attributes[:'jarm'] + end + + if attributes.key?(:'supported_versions') + if (value = attributes[:'supported_versions']).is_a?(Array) + self.supported_versions = value + end + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + alpn == o.alpn && + alternative_name == o.alternative_name && + certificate == o.certificate && + cipher_suites == o.cipher_suites && + ja3s == o.ja3s && + jarm == o.jarm && + supported_versions == o.supported_versions && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [alpn, alternative_name, certificate, cipher_suites, ja3s, jarm, supported_versions, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_asset_subsidiary.rb b/lib/crimson-falcon/models/domain_external_asset_subsidiary.rb new file mode 100644 index 00000000..863b220f --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_asset_subsidiary.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetSubsidiary + # ExternalAssetSubsidiary ID + attr_accessor :id + + # ExternalAssetSubsidiary name + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetSubsidiary` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetSubsidiary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + return false if @name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_assets_api_patch.rb b/lib/crimson-falcon/models/domain_external_assets_api_patch.rb new file mode 100644 index 00000000..d916888f --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_assets_api_patch.rb @@ -0,0 +1,280 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + # Represents information about a managed, an unmanaged or an unsupported asset. + class DomainExternalAssetsAPIPatch + # The asset's customer ID. + attr_accessor :cid + + # The criticality level manually assigned to this asset. + attr_accessor :criticality + + # The criticality description manually assigned to this asset. + attr_accessor :criticality_description + + # The unique ID of the asset. + attr_accessor :id + + attr_accessor :triage + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cid' => :'cid', + :'criticality' => :'criticality', + :'criticality_description' => :'criticality_description', + :'id' => :'id', + :'triage' => :'triage' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cid' => :'String', + :'criticality' => :'String', + :'criticality_description' => :'String', + :'id' => :'String', + :'triage' => :'DomainExternalAssetsAPITriagePatch' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetsAPIPatch` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetsAPIPatch`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'criticality') + self.criticality = attributes[:'criticality'] + end + + if attributes.key?(:'criticality_description') + self.criticality_description = attributes[:'criticality_description'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'triage') + self.triage = attributes[:'triage'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cid == o.cid && + criticality == o.criticality && + criticality_description == o.criticality_description && + id == o.id && + triage == o.triage + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cid, criticality, criticality_description, id, triage].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_assets_api_triage.rb b/lib/crimson-falcon/models/domain_external_assets_api_triage.rb new file mode 100644 index 00000000..483669f1 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_assets_api_triage.rb @@ -0,0 +1,285 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetsAPITriage + # The asset triage action. + attr_accessor :action + + # The asset assigned to triage the host. + attr_accessor :assigned_to + + # The asset triage description. + attr_accessor :description + + # The asset triage status. + attr_accessor :status + + # The user who last triaged the asset.' + attr_accessor :updated_by + + # The time at which the asset was last triaged. + attr_accessor :updated_timestamp + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'action' => :'action', + :'assigned_to' => :'assigned_to', + :'description' => :'description', + :'status' => :'status', + :'updated_by' => :'updated_by', + :'updated_timestamp' => :'updated_timestamp' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'action' => :'String', + :'assigned_to' => :'String', + :'description' => :'String', + :'status' => :'String', + :'updated_by' => :'String', + :'updated_timestamp' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetsAPITriage` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetsAPITriage`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'action') + self.action = attributes[:'action'] + end + + if attributes.key?(:'assigned_to') + self.assigned_to = attributes[:'assigned_to'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'updated_by') + self.updated_by = attributes[:'updated_by'] + end + + if attributes.key?(:'updated_timestamp') + self.updated_timestamp = attributes[:'updated_timestamp'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + action == o.action && + assigned_to == o.assigned_to && + description == o.description && + status == o.status && + updated_by == o.updated_by && + updated_timestamp == o.updated_timestamp + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [action, assigned_to, description, status, updated_by, updated_timestamp].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_assets_api_triage_patch.rb b/lib/crimson-falcon/models/domain_external_assets_api_triage_patch.rb new file mode 100644 index 00000000..1cb50bd9 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_assets_api_triage_patch.rb @@ -0,0 +1,265 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetsAPITriagePatch + # The asset triage action. + attr_accessor :action + + # The user assigned to triage the asset. + attr_accessor :assigned_to + + # The asset triage description. + attr_accessor :description + + # The asset triage status. + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'action' => :'action', + :'assigned_to' => :'assigned_to', + :'description' => :'description', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'action' => :'String', + :'assigned_to' => :'String', + :'description' => :'String', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetsAPITriagePatch` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetsAPITriagePatch`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'action') + self.action = attributes[:'action'] + end + + if attributes.key?(:'assigned_to') + self.assigned_to = attributes[:'assigned_to'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + action == o.action && + assigned_to == o.assigned_to && + description == o.description && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [action, assigned_to, description, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_assets_api_type_v1.rb b/lib/crimson-falcon/models/domain_external_assets_api_type_v1.rb new file mode 100644 index 00000000..a23677a2 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_assets_api_type_v1.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetsAPITypeV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetsAPITypeV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetsAPITypeV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_assets_blob_api_type_v1.rb b/lib/crimson-falcon/models/domain_external_assets_blob_api_type_v1.rb new file mode 100644 index 00000000..87ee2eb3 --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_assets_blob_api_type_v1.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalAssetsBlobAPITypeV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalAssetsBlobAPITypeV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalAssetsBlobAPITypeV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_export_job.rb b/lib/crimson-falcon/models/domain_external_export_job.rb new file mode 100644 index 00000000..7f08878d --- /dev/null +++ b/lib/crimson-falcon/models/domain_external_export_job.rb @@ -0,0 +1,312 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainExternalExportJob + attr_accessor :created_at + + attr_accessor :id + + # Resource to be exported + attr_accessor :resource + + # Number of times the job was retried + attr_accessor :retries + + # Current status of the job. One of [READY, WAITING, IN_PROGRESS, DONE, FAILED, WAITING_FOR_RETRY, CANCELED, RESULT_DELETED] + attr_accessor :status + + attr_accessor :updated_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'created_at' => :'created_at', + :'id' => :'id', + :'resource' => :'resource', + :'retries' => :'retries', + :'status' => :'status', + :'updated_at' => :'updated_at' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'created_at' => :'String', + :'id' => :'String', + :'resource' => :'String', + :'retries' => :'Integer', + :'status' => :'String', + :'updated_at' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainExternalExportJob` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainExternalExportJob`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'resource') + self.resource = attributes[:'resource'] + end + + if attributes.key?(:'retries') + self.retries = attributes[:'retries'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @resource.nil? + invalid_properties.push('invalid value for "resource", resource cannot be nil.') + end + + if @retries.nil? + invalid_properties.push('invalid value for "retries", retries cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @updated_at.nil? + invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @created_at.nil? + return false if @id.nil? + return false if @resource.nil? + return false if @retries.nil? + return false if @status.nil? + return false if @updated_at.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + created_at == o.created_at && + id == o.id && + resource == o.resource && + retries == o.retries && + status == o.status && + updated_at == o.updated_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [created_at, id, resource, retries, status, updated_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_external_query_response.rb b/lib/crimson-falcon/models/domain_external_query_response.rb index cb20c41c..c0eca1d9 100644 --- a/lib/crimson-falcon/models/domain_external_query_response.rb +++ b/lib/crimson-falcon/models/domain_external_query_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_external_registry_list_response.rb b/lib/crimson-falcon/models/domain_external_registry_list_response.rb index 07a1da2f..a4725d3a 100644 --- a/lib/crimson-falcon/models/domain_external_registry_list_response.rb +++ b/lib/crimson-falcon/models/domain_external_registry_list_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_external_registry_response.rb b/lib/crimson-falcon/models/domain_external_registry_response.rb index f9843697..ad89690b 100644 --- a/lib/crimson-falcon/models/domain_external_registry_response.rb +++ b/lib/crimson-falcon/models/domain_external_registry_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'DomainExternalAPIRegistry' } end diff --git a/lib/crimson-falcon/models/domain_feature_permission.rb b/lib/crimson-falcon/models/domain_feature_permission.rb new file mode 100644 index 00000000..c4bd583c --- /dev/null +++ b/lib/crimson-falcon/models/domain_feature_permission.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainFeaturePermission + attr_accessor :feature + + attr_accessor :permissions + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'feature' => :'feature', + :'permissions' => :'permissions' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'feature' => :'String', + :'permissions' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFeaturePermission` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFeaturePermission`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'feature') + self.feature = attributes[:'feature'] + end + + if attributes.key?(:'permissions') + if (value = attributes[:'permissions']).is_a?(Array) + self.permissions = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @feature.nil? + invalid_properties.push('invalid value for "feature", feature cannot be nil.') + end + + if @permissions.nil? + invalid_properties.push('invalid value for "permissions", permissions cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @feature.nil? + return false if @permissions.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + feature == o.feature && + permissions == o.permissions + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [feature, permissions].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_feature_status.rb b/lib/crimson-falcon/models/domain_feature_status.rb new file mode 100644 index 00000000..79e109dd --- /dev/null +++ b/lib/crimson-falcon/models/domain_feature_status.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainFeatureStatus + attr_accessor :feature + + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'feature' => :'feature', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'feature' => :'String', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFeatureStatus` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFeatureStatus`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'feature') + self.feature = attributes[:'feature'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @feature.nil? + invalid_properties.push('invalid value for "feature", feature cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @feature.nil? + return false if @status.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + feature == o.feature && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [feature, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_fem_dns_domain.rb b/lib/crimson-falcon/models/domain_fem_dns_domain.rb new file mode 100644 index 00000000..5882bcf7 --- /dev/null +++ b/lib/crimson-falcon/models/domain_fem_dns_domain.rb @@ -0,0 +1,301 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainFemDNSDomain + # The FQDN + attr_accessor :fqdn + + # The ISPs hosting this domain + attr_accessor :isps + + # The ID of the parent domain (only populated if domain type is subdomain) + attr_accessor :parent_domain + + # IPs the domain resolved to + attr_accessor :resolved_ips + + # A list of exposed services on the domain + attr_accessor :services + + # The type of domain (root, subdomain) + attr_accessor :type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'fqdn' => :'fqdn', + :'isps' => :'isps', + :'parent_domain' => :'parent_domain', + :'resolved_ips' => :'resolved_ips', + :'services' => :'services', + :'type' => :'type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'fqdn' => :'String', + :'isps' => :'Array', + :'parent_domain' => :'String', + :'resolved_ips' => :'Array', + :'services' => :'Array', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFemDNSDomain` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFemDNSDomain`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'fqdn') + self.fqdn = attributes[:'fqdn'] + end + + if attributes.key?(:'isps') + if (value = attributes[:'isps']).is_a?(Array) + self.isps = value + end + end + + if attributes.key?(:'parent_domain') + self.parent_domain = attributes[:'parent_domain'] + end + + if attributes.key?(:'resolved_ips') + if (value = attributes[:'resolved_ips']).is_a?(Array) + self.resolved_ips = value + end + end + + if attributes.key?(:'services') + if (value = attributes[:'services']).is_a?(Array) + self.services = value + end + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @fqdn.nil? + invalid_properties.push('invalid value for "fqdn", fqdn cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @fqdn.nil? + return false if @type.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + fqdn == o.fqdn && + isps == o.isps && + parent_domain == o.parent_domain && + resolved_ips == o.resolved_ips && + services == o.services && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [fqdn, isps, parent_domain, resolved_ips, services, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_entities_response.rb b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_entities_response.rb new file mode 100644 index 00000000..ae9c09d9 --- /dev/null +++ b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_entities_response.rb @@ -0,0 +1,256 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainFemEcosystemSubsidiariesEntitiesResponse + attr_accessor :fem_ecosystem_subsidiaries_response_fields + + # Contains entities returned by the API + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'fem_ecosystem_subsidiaries_response_fields' => :'FemEcosystemSubsidiariesResponseFields', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'fem_ecosystem_subsidiaries_response_fields' => :'DomainFemEcosystemSubsidiariesResponseFields', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFemEcosystemSubsidiariesEntitiesResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFemEcosystemSubsidiariesEntitiesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'fem_ecosystem_subsidiaries_response_fields') + self.fem_ecosystem_subsidiaries_response_fields = attributes[:'fem_ecosystem_subsidiaries_response_fields'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @fem_ecosystem_subsidiaries_response_fields.nil? + invalid_properties.push('invalid value for "fem_ecosystem_subsidiaries_response_fields", fem_ecosystem_subsidiaries_response_fields cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @fem_ecosystem_subsidiaries_response_fields.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + fem_ecosystem_subsidiaries_response_fields == o.fem_ecosystem_subsidiaries_response_fields && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [fem_ecosystem_subsidiaries_response_fields, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_api_evaluation_logic_host_info_v1.rb b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_meta.rb similarity index 87% rename from lib/crimson-falcon/models/domain_api_evaluation_logic_host_info_v1.rb rename to lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_meta.rb index bf613331..1b77915d 100644 --- a/lib/crimson-falcon/models/domain_api_evaluation_logic_host_info_v1.rb +++ b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_meta.rb @@ -31,14 +31,17 @@ require 'time' module Falcon - class DomainAPIEvaluationLogicHostInfoV1 - # Refers to all the entities that were matched together during entity resolution process - attr_accessor :entities_matched + class DomainFemEcosystemSubsidiariesMeta + attr_accessor :meta_info + + # The version ID of an ecosystem + attr_accessor :version_id # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'entities_matched' => :'entities_matched' + :'meta_info' => :'MetaInfo', + :'version_id' => :'version_id' } end @@ -50,7 +53,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'entities_matched' => :'Array' + :'meta_info' => :'MsaMetaInfo', + :'version_id' => :'String' } end @@ -64,21 +68,23 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAPIEvaluationLogicHostInfoV1` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFemEcosystemSubsidiariesMeta` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAPIEvaluationLogicHostInfoV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFemEcosystemSubsidiariesMeta`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'entities_matched') - if (value = attributes[:'entities_matched']).is_a?(Array) - self.entities_matched = value - end + if attributes.key?(:'meta_info') + self.meta_info = attributes[:'meta_info'] + end + + if attributes.key?(:'version_id') + self.version_id = attributes[:'version_id'] end end @@ -86,8 +92,12 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @entities_matched.nil? - invalid_properties.push('invalid value for "entities_matched", entities_matched cannot be nil.') + if @meta_info.nil? + invalid_properties.push('invalid value for "meta_info", meta_info cannot be nil.') + end + + if @version_id.nil? + invalid_properties.push('invalid value for "version_id", version_id cannot be nil.') end invalid_properties @@ -96,7 +106,8 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @entities_matched.nil? + return false if @meta_info.nil? + return false if @version_id.nil? true end @@ -105,7 +116,8 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - entities_matched == o.entities_matched + meta_info == o.meta_info && + version_id == o.version_id end # @see the `==` method @@ -117,7 +129,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [entities_matched].hash + [meta_info, version_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_query_response.rb b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_query_response.rb new file mode 100644 index 00000000..8bfa7b8f --- /dev/null +++ b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_query_response.rb @@ -0,0 +1,256 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainFemEcosystemSubsidiariesQueryResponse + attr_accessor :fem_ecosystem_subsidiaries_response_fields + + # Contains entities returned by the API + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'fem_ecosystem_subsidiaries_response_fields' => :'FemEcosystemSubsidiariesResponseFields', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'fem_ecosystem_subsidiaries_response_fields' => :'DomainFemEcosystemSubsidiariesResponseFields', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFemEcosystemSubsidiariesQueryResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFemEcosystemSubsidiariesQueryResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'fem_ecosystem_subsidiaries_response_fields') + self.fem_ecosystem_subsidiaries_response_fields = attributes[:'fem_ecosystem_subsidiaries_response_fields'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @fem_ecosystem_subsidiaries_response_fields.nil? + invalid_properties.push('invalid value for "fem_ecosystem_subsidiaries_response_fields", fem_ecosystem_subsidiaries_response_fields cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @fem_ecosystem_subsidiaries_response_fields.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + fem_ecosystem_subsidiaries_response_fields == o.fem_ecosystem_subsidiaries_response_fields && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [fem_ecosystem_subsidiaries_response_fields, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_response_fields.rb b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_response_fields.rb new file mode 100644 index 00000000..a5495cea --- /dev/null +++ b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiaries_response_fields.rb @@ -0,0 +1,251 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainFemEcosystemSubsidiariesResponseFields + # Array of errors returned in case of request issues or processing failures + attr_accessor :errors + + attr_accessor :meta + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'DomainFemEcosystemSubsidiariesMeta' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFemEcosystemSubsidiariesResponseFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFemEcosystemSubsidiariesResponseFields`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiary.rb b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiary.rb new file mode 100644 index 00000000..88a475a5 --- /dev/null +++ b/lib/crimson-falcon/models/domain_fem_ecosystem_subsidiary.rb @@ -0,0 +1,344 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainFemEcosystemSubsidiary + # The number of assets associated with the subsidiary + attr_accessor :asset_count + + # The number of subsidiary children + attr_accessor :children_count + + # The customer ID + attr_accessor :cid + + attr_accessor :discovery + + # The ID of the subsidiary + attr_accessor :id + + # The name of the subsidiary + attr_accessor :name + + # The ID of the parent subsidiary + attr_accessor :parent_id + + # The primary domain of the subsidiary (Originally was called apex_domain) + attr_accessor :primary_domain + + # The risk score of the subsidiary + attr_accessor :risk_score + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'asset_count' => :'asset_count', + :'children_count' => :'children_count', + :'cid' => :'cid', + :'discovery' => :'discovery', + :'id' => :'id', + :'name' => :'name', + :'parent_id' => :'parent_id', + :'primary_domain' => :'primary_domain', + :'risk_score' => :'risk_score' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'asset_count' => :'Integer', + :'children_count' => :'Integer', + :'cid' => :'String', + :'discovery' => :'DomainExternalAssetDiscoveryAttributes', + :'id' => :'String', + :'name' => :'String', + :'parent_id' => :'String', + :'primary_domain' => :'String', + :'risk_score' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFemEcosystemSubsidiary` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFemEcosystemSubsidiary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'asset_count') + self.asset_count = attributes[:'asset_count'] + end + + if attributes.key?(:'children_count') + self.children_count = attributes[:'children_count'] + end + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'discovery') + self.discovery = attributes[:'discovery'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'parent_id') + self.parent_id = attributes[:'parent_id'] + end + + if attributes.key?(:'primary_domain') + self.primary_domain = attributes[:'primary_domain'] + end + + if attributes.key?(:'risk_score') + self.risk_score = attributes[:'risk_score'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @children_count.nil? + invalid_properties.push('invalid value for "children_count", children_count cannot be nil.') + end + + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @parent_id.nil? + invalid_properties.push('invalid value for "parent_id", parent_id cannot be nil.') + end + + if @primary_domain.nil? + invalid_properties.push('invalid value for "primary_domain", primary_domain cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @children_count.nil? + return false if @cid.nil? + return false if @id.nil? + return false if @name.nil? + return false if @parent_id.nil? + return false if @primary_domain.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + asset_count == o.asset_count && + children_count == o.children_count && + cid == o.cid && + discovery == o.discovery && + id == o.id && + name == o.name && + parent_id == o.parent_id && + primary_domain == o.primary_domain && + risk_score == o.risk_score + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [asset_count, children_count, cid, discovery, id, name, parent_id, primary_domain, risk_score].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_fem_external_asset.rb b/lib/crimson-falcon/models/domain_fem_external_asset.rb new file mode 100644 index 00000000..306cf00f --- /dev/null +++ b/lib/crimson-falcon/models/domain_fem_external_asset.rb @@ -0,0 +1,497 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainFemExternalAsset + # Lists the user actions can be taken on this asset (triage, delete, etc) + attr_accessor :applicable_actions + + # The type of external asset (ip, dns_domain) + attr_accessor :asset_type + + # The customer ID + attr_accessor :cid + + # Confidence level for the asset association to the organization + attr_accessor :confidence + + # The criticality level of the asset (Critical, High, Noncritical, or Unassigned) + attr_accessor :criticality + + # The description the user entered when manually assigning a criticality level + attr_accessor :criticality_description + + # The date and time the criticality level was manually assigned + attr_accessor :criticality_timestamp + + # The username of the account that manually assigned the criticality level + attr_accessor :criticality_username + + # A list of the source providers for the asset information + attr_accessor :data_providers + + # The identifier of the asset + attr_accessor :discovered_by + + attr_accessor :discovery + + attr_accessor :dns_domain + + # this is similar with the entity_type field from DiscoverAPIHost; it will be always 'external' and it aligns this structure with other assets structures, making UI handling of assets more generic + attr_accessor :entity_type + + # The first time this asset has been observed as externally exposed + attr_accessor :first_seen + + # The unique external asset identifier + attr_accessor :id + + # The internet exposure status of the asset + attr_accessor :internet_exposure + + attr_accessor :ip + + # The last time this asset has been observed as externally exposed + attr_accessor :last_seen + + # Flag indicating if the asset has been manually added + attr_accessor :manual + + # Perimeter of this asset (Official/Unofficial) + attr_accessor :perimeter + + # The availability status for the asset + attr_accessor :status + + # List of subsidiaries that the asset belongs to + attr_accessor :subsidiaries + + attr_accessor :triage + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'applicable_actions' => :'applicable_actions', + :'asset_type' => :'asset_type', + :'cid' => :'cid', + :'confidence' => :'confidence', + :'criticality' => :'criticality', + :'criticality_description' => :'criticality_description', + :'criticality_timestamp' => :'criticality_timestamp', + :'criticality_username' => :'criticality_username', + :'data_providers' => :'data_providers', + :'discovered_by' => :'discovered_by', + :'discovery' => :'discovery', + :'dns_domain' => :'dns_domain', + :'entity_type' => :'entity_type', + :'first_seen' => :'first_seen', + :'id' => :'id', + :'internet_exposure' => :'internet_exposure', + :'ip' => :'ip', + :'last_seen' => :'last_seen', + :'manual' => :'manual', + :'perimeter' => :'perimeter', + :'status' => :'status', + :'subsidiaries' => :'subsidiaries', + :'triage' => :'triage' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'applicable_actions' => :'Array', + :'asset_type' => :'String', + :'cid' => :'String', + :'confidence' => :'Integer', + :'criticality' => :'String', + :'criticality_description' => :'String', + :'criticality_timestamp' => :'String', + :'criticality_username' => :'String', + :'data_providers' => :'Array', + :'discovered_by' => :'String', + :'discovery' => :'DomainExternalAssetDiscoveryAttributes', + :'dns_domain' => :'DomainFemDNSDomain', + :'entity_type' => :'String', + :'first_seen' => :'String', + :'id' => :'String', + :'internet_exposure' => :'String', + :'ip' => :'DomainFemExternalIP', + :'last_seen' => :'String', + :'manual' => :'Boolean', + :'perimeter' => :'String', + :'status' => :'String', + :'subsidiaries' => :'Array', + :'triage' => :'DomainExternalAssetsAPITriage' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFemExternalAsset` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFemExternalAsset`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'applicable_actions') + if (value = attributes[:'applicable_actions']).is_a?(Array) + self.applicable_actions = value + end + end + + if attributes.key?(:'asset_type') + self.asset_type = attributes[:'asset_type'] + end + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'confidence') + self.confidence = attributes[:'confidence'] + end + + if attributes.key?(:'criticality') + self.criticality = attributes[:'criticality'] + end + + if attributes.key?(:'criticality_description') + self.criticality_description = attributes[:'criticality_description'] + end + + if attributes.key?(:'criticality_timestamp') + self.criticality_timestamp = attributes[:'criticality_timestamp'] + end + + if attributes.key?(:'criticality_username') + self.criticality_username = attributes[:'criticality_username'] + end + + if attributes.key?(:'data_providers') + if (value = attributes[:'data_providers']).is_a?(Array) + self.data_providers = value + end + end + + if attributes.key?(:'discovered_by') + self.discovered_by = attributes[:'discovered_by'] + end + + if attributes.key?(:'discovery') + self.discovery = attributes[:'discovery'] + end + + if attributes.key?(:'dns_domain') + self.dns_domain = attributes[:'dns_domain'] + end + + if attributes.key?(:'entity_type') + self.entity_type = attributes[:'entity_type'] + end + + if attributes.key?(:'first_seen') + self.first_seen = attributes[:'first_seen'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'internet_exposure') + self.internet_exposure = attributes[:'internet_exposure'] + end + + if attributes.key?(:'ip') + self.ip = attributes[:'ip'] + end + + if attributes.key?(:'last_seen') + self.last_seen = attributes[:'last_seen'] + end + + if attributes.key?(:'manual') + self.manual = attributes[:'manual'] + end + + if attributes.key?(:'perimeter') + self.perimeter = attributes[:'perimeter'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'subsidiaries') + if (value = attributes[:'subsidiaries']).is_a?(Array) + self.subsidiaries = value + end + end + + if attributes.key?(:'triage') + self.triage = attributes[:'triage'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @applicable_actions.nil? + invalid_properties.push('invalid value for "applicable_actions", applicable_actions cannot be nil.') + end + + if @asset_type.nil? + invalid_properties.push('invalid value for "asset_type", asset_type cannot be nil.') + end + + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @confidence.nil? + invalid_properties.push('invalid value for "confidence", confidence cannot be nil.') + end + + if @data_providers.nil? + invalid_properties.push('invalid value for "data_providers", data_providers cannot be nil.') + end + + if @entity_type.nil? + invalid_properties.push('invalid value for "entity_type", entity_type cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @applicable_actions.nil? + return false if @asset_type.nil? + return false if @cid.nil? + return false if @confidence.nil? + return false if @data_providers.nil? + return false if @entity_type.nil? + return false if @id.nil? + return false if @status.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + applicable_actions == o.applicable_actions && + asset_type == o.asset_type && + cid == o.cid && + confidence == o.confidence && + criticality == o.criticality && + criticality_description == o.criticality_description && + criticality_timestamp == o.criticality_timestamp && + criticality_username == o.criticality_username && + data_providers == o.data_providers && + discovered_by == o.discovered_by && + discovery == o.discovery && + dns_domain == o.dns_domain && + entity_type == o.entity_type && + first_seen == o.first_seen && + id == o.id && + internet_exposure == o.internet_exposure && + ip == o.ip && + last_seen == o.last_seen && + manual == o.manual && + perimeter == o.perimeter && + status == o.status && + subsidiaries == o.subsidiaries && + triage == o.triage + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [applicable_actions, asset_type, cid, confidence, criticality, criticality_description, criticality_timestamp, criticality_username, data_providers, discovered_by, discovery, dns_domain, entity_type, first_seen, id, internet_exposure, ip, last_seen, manual, perimeter, status, subsidiaries, triage].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_fem_external_ip.rb b/lib/crimson-falcon/models/domain_fem_external_ip.rb new file mode 100644 index 00000000..3a612bd2 --- /dev/null +++ b/lib/crimson-falcon/models/domain_fem_external_ip.rb @@ -0,0 +1,327 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainFemExternalIP + # AID if available + attr_accessor :aid + + # ASN + attr_accessor :asn + + # Cloud Provider + attr_accessor :cloud_provider + + attr_accessor :cloud_vm + + # The FQDN List of the related domains + attr_accessor :fqdns + + # The IP address + attr_accessor :ip_address + + # The ISP + attr_accessor :isp + + attr_accessor :location + + # The PTR record + attr_accessor :ptr + + # A list of exposed services on the IP + attr_accessor :services + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'aid' => :'aid', + :'asn' => :'asn', + :'cloud_provider' => :'cloud_provider', + :'cloud_vm' => :'cloud_vm', + :'fqdns' => :'fqdns', + :'ip_address' => :'ip_address', + :'isp' => :'isp', + :'location' => :'location', + :'ptr' => :'ptr', + :'services' => :'services' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'aid' => :'String', + :'asn' => :'Integer', + :'cloud_provider' => :'String', + :'cloud_vm' => :'DomainExternalAssetCloudVM', + :'fqdns' => :'Array', + :'ip_address' => :'String', + :'isp' => :'String', + :'location' => :'DomainExternalAssetGeographicalLocation', + :'ptr' => :'String', + :'services' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainFemExternalIP` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainFemExternalIP`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'aid') + self.aid = attributes[:'aid'] + end + + if attributes.key?(:'asn') + self.asn = attributes[:'asn'] + end + + if attributes.key?(:'cloud_provider') + self.cloud_provider = attributes[:'cloud_provider'] + end + + if attributes.key?(:'cloud_vm') + self.cloud_vm = attributes[:'cloud_vm'] + end + + if attributes.key?(:'fqdns') + if (value = attributes[:'fqdns']).is_a?(Array) + self.fqdns = value + end + end + + if attributes.key?(:'ip_address') + self.ip_address = attributes[:'ip_address'] + end + + if attributes.key?(:'isp') + self.isp = attributes[:'isp'] + end + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'ptr') + self.ptr = attributes[:'ptr'] + end + + if attributes.key?(:'services') + if (value = attributes[:'services']).is_a?(Array) + self.services = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + aid == o.aid && + asn == o.asn && + cloud_provider == o.cloud_provider && + cloud_vm == o.cloud_vm && + fqdns == o.fqdns && + ip_address == o.ip_address && + isp == o.isp && + location == o.location && + ptr == o.ptr && + services == o.services + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [aid, asn, cloud_provider, cloud_vm, fqdns, ip_address, isp, location, ptr, services].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_gcp_account_v1.rb b/lib/crimson-falcon/models/domain_gcp_account_v1.rb index 3f415447..bc0494a6 100644 --- a/lib/crimson-falcon/models/domain_gcp_account_v1.rb +++ b/lib/crimson-falcon/models/domain_gcp_account_v1.rb @@ -44,6 +44,8 @@ class DomainGCPAccountV1 attr_accessor :cloud_scopes + attr_accessor :conditions + attr_accessor :cspm_enabled # GCP Display Name @@ -79,6 +81,8 @@ class DomainGCPAccountV1 attr_accessor :service_account_client_id + attr_accessor :service_account_conditions + # GCP service account ID attr_accessor :service_account_id @@ -98,6 +102,7 @@ def self.attribute_map :'updated_at' => :'UpdatedAt', :'cid' => :'cid', :'cloud_scopes' => :'cloud_scopes', + :'conditions' => :'conditions', :'cspm_enabled' => :'cspm_enabled', :'display_name' => :'display_name', :'environment' => :'environment', @@ -111,6 +116,7 @@ def self.attribute_map :'project_id' => :'project_id', :'service_account_client_email' => :'service_account_client_email', :'service_account_client_id' => :'service_account_client_id', + :'service_account_conditions' => :'service_account_conditions', :'service_account_id' => :'service_account_id', :'service_account_private_key_id' => :'service_account_private_key_id', :'service_account_project_id' => :'service_account_project_id', @@ -132,6 +138,7 @@ def self.openapi_types :'updated_at' => :'Time', :'cid' => :'String', :'cloud_scopes' => :'Array', + :'conditions' => :'Array', :'cspm_enabled' => :'Boolean', :'display_name' => :'String', :'environment' => :'String', @@ -145,6 +152,7 @@ def self.openapi_types :'project_id' => :'String', :'service_account_client_email' => :'String', :'service_account_client_id' => :'String', + :'service_account_conditions' => :'Array', :'service_account_id' => :'Integer', :'service_account_private_key_id' => :'String', :'service_account_project_id' => :'String', @@ -199,6 +207,12 @@ def initialize(attributes = {}) end end + if attributes.key?(:'conditions') + if (value = attributes[:'conditions']).is_a?(Array) + self.conditions = value + end + end + if attributes.key?(:'cspm_enabled') self.cspm_enabled = attributes[:'cspm_enabled'] end @@ -253,6 +267,12 @@ def initialize(attributes = {}) self.service_account_client_id = attributes[:'service_account_client_id'] end + if attributes.key?(:'service_account_conditions') + if (value = attributes[:'service_account_conditions']).is_a?(Array) + self.service_account_conditions = value + end + end + if attributes.key?(:'service_account_id') self.service_account_id = attributes[:'service_account_id'] end @@ -339,6 +359,7 @@ def ==(o) updated_at == o.updated_at && cid == o.cid && cloud_scopes == o.cloud_scopes && + conditions == o.conditions && cspm_enabled == o.cspm_enabled && display_name == o.display_name && environment == o.environment && @@ -352,6 +373,7 @@ def ==(o) project_id == o.project_id && service_account_client_email == o.service_account_client_email && service_account_client_id == o.service_account_client_id && + service_account_conditions == o.service_account_conditions && service_account_id == o.service_account_id && service_account_private_key_id == o.service_account_private_key_id && service_account_project_id == o.service_account_project_id && @@ -367,7 +389,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [created_at, deleted_at, id, updated_at, cid, cloud_scopes, cspm_enabled, display_name, environment, folder_id, folder_name, gcp_permissions_status, organization_id, organization_name, parent_id, parent_type, project_id, service_account_client_email, service_account_client_id, service_account_id, service_account_private_key_id, service_account_project_id, status].hash + [created_at, deleted_at, id, updated_at, cid, cloud_scopes, conditions, cspm_enabled, display_name, environment, folder_id, folder_name, gcp_permissions_status, organization_id, organization_name, parent_id, parent_type, project_id, service_account_client_email, service_account_client_id, service_account_conditions, service_account_id, service_account_private_key_id, service_account_project_id, status].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_geo_point.rb b/lib/crimson-falcon/models/domain_geo_point.rb new file mode 100644 index 00000000..cd32a1e0 --- /dev/null +++ b/lib/crimson-falcon/models/domain_geo_point.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainGeoPoint + attr_accessor :lat + + attr_accessor :lon + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'lat' => :'lat', + :'lon' => :'lon' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'lat' => :'Float', + :'lon' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainGeoPoint` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainGeoPoint`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'lat') + self.lat = attributes[:'lat'] + end + + if attributes.key?(:'lon') + self.lon = attributes[:'lon'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + lat == o.lat && + lon == o.lon + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [lat, lon].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_incident.rb b/lib/crimson-falcon/models/domain_incident.rb index c7c82ee1..980f1e22 100644 --- a/lib/crimson-falcon/models/domain_incident.rb +++ b/lib/crimson-falcon/models/domain_incident.rb @@ -50,6 +50,8 @@ class DomainIncident attr_accessor :fine_score + attr_accessor :grouping_ids + attr_accessor :host_ids attr_accessor :hosts @@ -100,6 +102,7 @@ def self.attribute_map :'_end' => :'end', :'events_histogram' => :'events_histogram', :'fine_score' => :'fine_score', + :'grouping_ids' => :'grouping_ids', :'host_ids' => :'host_ids', :'hosts' => :'hosts', :'incident_id' => :'incident_id', @@ -139,6 +142,7 @@ def self.openapi_types :'_end' => :'Time', :'events_histogram' => :'Array', :'fine_score' => :'Integer', + :'grouping_ids' => :'Array', :'host_ids' => :'Array', :'hosts' => :'Array', :'incident_id' => :'String', @@ -220,6 +224,12 @@ def initialize(attributes = {}) self.fine_score = attributes[:'fine_score'] end + if attributes.key?(:'grouping_ids') + if (value = attributes[:'grouping_ids']).is_a?(Array) + self.grouping_ids = value + end + end + if attributes.key?(:'host_ids') if (value = attributes[:'host_ids']).is_a?(Array) self.host_ids = value @@ -382,6 +392,7 @@ def ==(o) _end == o._end && events_histogram == o.events_histogram && fine_score == o.fine_score && + grouping_ids == o.grouping_ids && host_ids == o.host_ids && hosts == o.hosts && incident_id == o.incident_id && @@ -412,7 +423,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [assigned_to, assigned_to_name, cid, created, description, email_state, _end, events_histogram, fine_score, host_ids, hosts, incident_id, incident_type, lm_host_ids, lm_hosts_capped, lm_types, lmra_host_ids, lmra_hosts_capped, modified_timestamp, name, objectives, start, state, status, tactics, tags, techniques, users].hash + [assigned_to, assigned_to_name, cid, created, description, email_state, _end, events_histogram, fine_score, grouping_ids, host_ids, hosts, incident_id, incident_type, lm_host_ids, lm_hosts_capped, lm_types, lmra_host_ids, lmra_hosts_capped, modified_timestamp, name, objectives, start, state, status, tactics, tags, techniques, users].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_init_response.rb b/lib/crimson-falcon/models/domain_init_response.rb index ddd4c298..e33c0644 100644 --- a/lib/crimson-falcon/models/domain_init_response.rb +++ b/lib/crimson-falcon/models/domain_init_response.rb @@ -34,10 +34,14 @@ module Falcon class DomainInitResponse attr_accessor :created_at + attr_accessor :device_id + attr_accessor :existing_aid_sessions attr_accessor :offline_queued + attr_accessor :platform + attr_accessor :previous_commands attr_accessor :pwd @@ -50,8 +54,10 @@ class DomainInitResponse def self.attribute_map { :'created_at' => :'created_at', + :'device_id' => :'device_id', :'existing_aid_sessions' => :'existing_aid_sessions', :'offline_queued' => :'offline_queued', + :'platform' => :'platform', :'previous_commands' => :'previous_commands', :'pwd' => :'pwd', :'scripts' => :'scripts', @@ -68,8 +74,10 @@ def self.acceptable_attributes def self.openapi_types { :'created_at' => :'Time', + :'device_id' => :'String', :'existing_aid_sessions' => :'Integer', :'offline_queued' => :'Boolean', + :'platform' => :'String', :'previous_commands' => :'Array', :'pwd' => :'String', :'scripts' => :'Array', @@ -102,6 +110,10 @@ def initialize(attributes = {}) self.created_at = attributes[:'created_at'] end + if attributes.key?(:'device_id') + self.device_id = attributes[:'device_id'] + end + if attributes.key?(:'existing_aid_sessions') self.existing_aid_sessions = attributes[:'existing_aid_sessions'] end @@ -110,6 +122,10 @@ def initialize(attributes = {}) self.offline_queued = attributes[:'offline_queued'] end + if attributes.key?(:'platform') + self.platform = attributes[:'platform'] + end + if attributes.key?(:'previous_commands') if (value = attributes[:'previous_commands']).is_a?(Array) self.previous_commands = value @@ -175,8 +191,10 @@ def ==(o) return true if self.equal?(o) self.class == o.class && created_at == o.created_at && + device_id == o.device_id && existing_aid_sessions == o.existing_aid_sessions && offline_queued == o.offline_queued && + platform == o.platform && previous_commands == o.previous_commands && pwd == o.pwd && scripts == o.scripts && @@ -192,7 +210,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [created_at, existing_aid_sessions, offline_queued, previous_commands, pwd, scripts, session_id].hash + [created_at, device_id, existing_aid_sessions, offline_queued, platform, previous_commands, pwd, scripts, session_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_init_response_wrapper.rb b/lib/crimson-falcon/models/domain_init_response_wrapper.rb index 4a027319..7801da7b 100644 --- a/lib/crimson-falcon/models/domain_init_response_wrapper.rb +++ b/lib/crimson-falcon/models/domain_init_response_wrapper.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_item_details_v1.rb b/lib/crimson-falcon/models/domain_item_details_v1.rb index 84619b1c..89317d92 100644 --- a/lib/crimson-falcon/models/domain_item_details_v1.rb +++ b/lib/crimson-falcon/models/domain_item_details_v1.rb @@ -32,52 +32,55 @@ module Falcon class DomainItemDetailsV1 - # Threat actor associated with the raw intelligence item, if available + # The threat actor associated with a raw intelligence item, if available. attr_accessor :actor_slug - # Pointers to attachments items linked to this item + # Attachments items linked to the raw intelligence item attr_accessor :attachments - # The raw intelligence item author username + # The author’s username of a raw intelligence item attr_accessor :author # The raw intelligence item author identifier in our system attr_accessor :author_id - # Category of the source where the item was found + # The type of source where the raw intelligence item was found attr_accessor :category - # The date when the raw intelligence item was scraped from the original source + # The date and time the raw intelligence item was scraped from the original source attr_accessor :collection_date - # Highlighted content based on the rule that generated the notifications. Highlights are surrounded with a `` tag + # Highlighted content based on the monitoring rule that generated the notification. Highlights are surrounded with a `` tag attr_accessor :content - # The date when the raw intelligence item was created + # The date and time when the raw intelligence item was created attr_accessor :created_date - # Mime type of the file for file type items + # The file type of the raw intelligence item, if available attr_accessor :file_type attr_accessor :fragment_info - # IOC types available in the raw intelligence item. List of keys populated in the iocs field + # The URL to download the full raw text content of the raw intelligence item. It has a limited time to live + attr_accessor :full_content_url + + # The types of IOCs found in the raw intelligence item. List of keys populated in the iocs field attr_accessor :ioc_types attr_accessor :iocs - # The raw intelligence item labels. These contain hints around what is actually included in the item (malware, IPs, emails, etc). + # Labels for the type of information included in a raw intelligence item attr_accessor :labels - # The raw intelligence item language + # The language of the raw intelligence item attr_accessor :language attr_accessor :marketplace_product - # Mime type of the file for file type items + # The mime type of the file attr_accessor :mime_type - # SHA256 of the file contents for file type items + # The SHA256 hash for the file attr_accessor :sha256 # The site where the raw intelligence item was found @@ -86,27 +89,27 @@ class DomainItemDetailsV1 # The ID of the site where the raw intelligence item was found attr_accessor :site_id - # Size of the item's content in bytes, if available + # The size of the item's content in bytes, if available attr_accessor :size attr_accessor :telegram_info - # Identifier that groups all raw intelligence items belonging to the same 'conversation stream', i.e. chatroom, forum thread, etc. + # Identifier that groups all raw intelligence items belonging to the same conversation thread attr_accessor :thread_id - # The raw intelligence item title + # The title of the raw intelligence item attr_accessor :title # The type of the raw intelligence item attr_accessor :type - # The date when the raw intelligence item was updated + # The date and time when the raw intelligence item was updated attr_accessor :updated_date - # The raw intelligence item URL + # The URL of the raw intelligence item attr_accessor :url - # The raw intelligence item author identifier in the original site + # The raw intelligence item author identifier in the original source attr_accessor :user_id # Attribute mapping from ruby-style variable name to JSON key. @@ -122,6 +125,7 @@ def self.attribute_map :'created_date' => :'created_date', :'file_type' => :'file_type', :'fragment_info' => :'fragment_info', + :'full_content_url' => :'full_content_url', :'ioc_types' => :'ioc_types', :'iocs' => :'iocs', :'labels' => :'labels', @@ -160,6 +164,7 @@ def self.openapi_types :'created_date' => :'Time', :'file_type' => :'String', :'fragment_info' => :'DomainFragmentInfo', + :'full_content_url' => :'String', :'ioc_types' => :'Array', :'iocs' => :'DomainIOC', :'labels' => :'Array', @@ -243,6 +248,10 @@ def initialize(attributes = {}) self.fragment_info = attributes[:'fragment_info'] end + if attributes.key?(:'full_content_url') + self.full_content_url = attributes[:'full_content_url'] + end + if attributes.key?(:'ioc_types') if (value = attributes[:'ioc_types']).is_a?(Array) self.ioc_types = value @@ -374,6 +383,7 @@ def ==(o) created_date == o.created_date && file_type == o.file_type && fragment_info == o.fragment_info && + full_content_url == o.full_content_url && ioc_types == o.ioc_types && iocs == o.iocs && labels == o.labels && @@ -402,7 +412,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [actor_slug, attachments, author, author_id, category, collection_date, content, created_date, file_type, fragment_info, ioc_types, iocs, labels, language, marketplace_product, mime_type, sha256, site, site_id, size, telegram_info, thread_id, title, type, updated_date, url, user_id].hash + [actor_slug, attachments, author, author_id, category, collection_date, content, created_date, file_type, fragment_info, full_content_url, ioc_types, iocs, labels, language, marketplace_product, mime_type, sha256, site, site_id, size, telegram_info, thread_id, title, type, updated_date, url, user_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_launch_export_job_response_v1.rb b/lib/crimson-falcon/models/domain_launch_export_job_response_v1.rb index d36b9078..26f89a09 100644 --- a/lib/crimson-falcon/models/domain_launch_export_job_response_v1.rb +++ b/lib/crimson-falcon/models/domain_launch_export_job_response_v1.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_list_files_response_wrapper.rb b/lib/crimson-falcon/models/domain_list_files_response_wrapper.rb index 69387d7d..75e5d6de 100644 --- a/lib/crimson-falcon/models/domain_list_files_response_wrapper.rb +++ b/lib/crimson-falcon/models/domain_list_files_response_wrapper.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_list_files_v2_response_wrapper.rb b/lib/crimson-falcon/models/domain_list_files_v2_response_wrapper.rb index 91425c99..9b272b8d 100644 --- a/lib/crimson-falcon/models/domain_list_files_v2_response_wrapper.rb +++ b/lib/crimson-falcon/models/domain_list_files_v2_response_wrapper.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_list_sessions_response_msa.rb b/lib/crimson-falcon/models/domain_list_sessions_response_msa.rb index 34507f34..97ed5b48 100644 --- a/lib/crimson-falcon/models/domain_list_sessions_response_msa.rb +++ b/lib/crimson-falcon/models/domain_list_sessions_response_msa.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_malware_document.rb b/lib/crimson-falcon/models/domain_malware_document.rb new file mode 100644 index 00000000..f2c3620d --- /dev/null +++ b/lib/crimson-falcon/models/domain_malware_document.rb @@ -0,0 +1,783 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + # JSON definition of a Malware, also known as a Threat + class DomainMalwareDocument + attr_accessor :actors_count + + # All the Systems affected (i.e AWS, Lambda) + attr_accessor :all_systems + + # All the actors related to this Malware + attr_accessor :associated_actors + + attr_accessor :capabilities + + # Malware's community identifiers + attr_accessor :community_identifiers + + # Malware's creation date when it was added to CKB in unix timestamp format + attr_accessor :created_timestamp + + # Malware's text description + attr_accessor :description + + attr_accessor :description_text_length + + # Actors that developed this Malware + attr_accessor :developed_by + + attr_accessor :developed_by_count + + attr_accessor :files_containing_threat_count + + # Alphanumeric ID for the Malware + attr_accessor :id + + attr_accessor :indicator_count + + attr_accessor :kill_chain + + # Malware's last updated date in unix timestamp format + attr_accessor :last_updated + + # MITRE used by this Malware + attr_accessor :mitre + + attr_accessor :mitre_attack_count + + attr_accessor :mitre_tactic_count + + attr_accessor :mitre_technique_count + + # Malware's activity motivation, one of: State-Sponsored, Criminal, Hacktivism + attr_accessor :motivation + + # Malware's family name + attr_accessor :name + + # The previous stage of this Malware + attr_accessor :next_stage_of + + # The next stages of this Malware + attr_accessor :next_stages + + # The parent of this Malware + attr_accessor :plugin_of + + # The plugins of this Malware + attr_accessor :plugins + + # Actors that purchase this Malware + attr_accessor :purchased_by + + attr_accessor :purchased_by_count + + attr_accessor :report_count + + # Reports that contain this Malware + attr_accessor :reports + + attr_accessor :seen_in_environment + + # Name in url friendly format, lowercased and spaces replaced with dash + attr_accessor :slug + + # Actors that sell this Malware + attr_accessor :sold_by + + attr_accessor :sold_by_count + + attr_accessor :status + + # The parent botnet of this Malware + attr_accessor :sub_botnet_of + + # The sub-botnets of this Malware + attr_accessor :sub_botnets + + # The predecessor of this Malware + attr_accessor :successor_of + + # The successors of this Malware + attr_accessor :successors + + attr_accessor :systems_targeted_count + + # Target countries of malware's activity and attacks, slug value is a 2 characters code for the country value, some examples: United States,United Kingdom,Germany,India,Japan,France,Australia,Canada,China + attr_accessor :target_countries + + # Target economical industries of malware's activity and attacks. List of available values: Government, Financial Services, Technology, Telecommunications, Healthcare, Energy, Academic, Media, Aerospace, NGO, Manufacturing, Industrials and Engineering, Retail, Hospitality, Consulting and Professional Services, Opportunistic, Aviation, Defense, Transportation, Oil and Gas, Legal, Pharmaceutical, Logistics, Military, Automotive, Food and Beverage, Consumer Goods, Real Estate, Insurance, Agriculture, Chemicals, Utilities, Maritime, Extractive, Travel, Dissident, Cryptocurrency, Entertainment, National Government, Law Enforcement, Think Tanks, Local Government, Sports Organizations, Computer Gaming, Biomedical, Nonprofit, Financial Management & Hedge Funds, Political Parties, Architectural and Engineering, Emergency Services, Social Media, International Government, Nuclear, Research Entities, Vocational and Higher-Level Education, eCommerce + attr_accessor :target_industries + + # Malware's targeting profile + attr_accessor :targeting_profile + + # The System directly targeted by this Malware (i.e Lambda) + attr_accessor :targets_systems + + attr_accessor :threat_file_count + + # Malware's properties one of: Commodity, OpenSource, SourceCodeLeaked, Modular, RepurposedLegitimateSoftware + attr_accessor :threat_properties + + attr_accessor :threat_relations_count + + # Actors that use this Malware + attr_accessor :used_by + + attr_accessor :used_by_count + + # The parent variant of this Malware + attr_accessor :variant_of + + # The variants of this Malware + attr_accessor :variants + + # Vulnerabilities this Malware exploits + attr_accessor :vulnerabilities + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'actors_count' => :'actors_count', + :'all_systems' => :'all_systems', + :'associated_actors' => :'associated_actors', + :'capabilities' => :'capabilities', + :'community_identifiers' => :'community_identifiers', + :'created_timestamp' => :'created_timestamp', + :'description' => :'description', + :'description_text_length' => :'description_text_length', + :'developed_by' => :'developed_by', + :'developed_by_count' => :'developed_by_count', + :'files_containing_threat_count' => :'files_containing_threat_count', + :'id' => :'id', + :'indicator_count' => :'indicator_count', + :'kill_chain' => :'kill_chain', + :'last_updated' => :'last_updated', + :'mitre' => :'mitre', + :'mitre_attack_count' => :'mitre_attack_count', + :'mitre_tactic_count' => :'mitre_tactic_count', + :'mitre_technique_count' => :'mitre_technique_count', + :'motivation' => :'motivation', + :'name' => :'name', + :'next_stage_of' => :'next_stage_of', + :'next_stages' => :'next_stages', + :'plugin_of' => :'plugin_of', + :'plugins' => :'plugins', + :'purchased_by' => :'purchased_by', + :'purchased_by_count' => :'purchased_by_count', + :'report_count' => :'report_count', + :'reports' => :'reports', + :'seen_in_environment' => :'seen_in_environment', + :'slug' => :'slug', + :'sold_by' => :'sold_by', + :'sold_by_count' => :'sold_by_count', + :'status' => :'status', + :'sub_botnet_of' => :'sub_botnet_of', + :'sub_botnets' => :'sub_botnets', + :'successor_of' => :'successor_of', + :'successors' => :'successors', + :'systems_targeted_count' => :'systems_targeted_count', + :'target_countries' => :'target_countries', + :'target_industries' => :'target_industries', + :'targeting_profile' => :'targeting_profile', + :'targets_systems' => :'targets_systems', + :'threat_file_count' => :'threat_file_count', + :'threat_properties' => :'threat_properties', + :'threat_relations_count' => :'threat_relations_count', + :'used_by' => :'used_by', + :'used_by_count' => :'used_by_count', + :'variant_of' => :'variant_of', + :'variants' => :'variants', + :'vulnerabilities' => :'vulnerabilities' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'actors_count' => :'Integer', + :'all_systems' => :'Array', + :'associated_actors' => :'Array', + :'capabilities' => :'Array', + :'community_identifiers' => :'Array', + :'created_timestamp' => :'String', + :'description' => :'String', + :'description_text_length' => :'Integer', + :'developed_by' => :'Array', + :'developed_by_count' => :'Integer', + :'files_containing_threat_count' => :'Integer', + :'id' => :'String', + :'indicator_count' => :'Integer', + :'kill_chain' => :'Array', + :'last_updated' => :'String', + :'mitre' => :'Array', + :'mitre_attack_count' => :'Integer', + :'mitre_tactic_count' => :'Integer', + :'mitre_technique_count' => :'Integer', + :'motivation' => :'Array', + :'name' => :'String', + :'next_stage_of' => :'Array', + :'next_stages' => :'Array', + :'plugin_of' => :'Array', + :'plugins' => :'Array', + :'purchased_by' => :'Array', + :'purchased_by_count' => :'Integer', + :'report_count' => :'Integer', + :'reports' => :'Array', + :'seen_in_environment' => :'DomainMalwareEnvironmentAggregates', + :'slug' => :'String', + :'sold_by' => :'Array', + :'sold_by_count' => :'Integer', + :'status' => :'String', + :'sub_botnet_of' => :'Array', + :'sub_botnets' => :'Array', + :'successor_of' => :'Array', + :'successors' => :'Array', + :'systems_targeted_count' => :'Integer', + :'target_countries' => :'Array', + :'target_industries' => :'Array', + :'targeting_profile' => :'Array', + :'targets_systems' => :'Array', + :'threat_file_count' => :'Integer', + :'threat_properties' => :'Array', + :'threat_relations_count' => :'Integer', + :'used_by' => :'Array', + :'used_by_count' => :'Integer', + :'variant_of' => :'Array', + :'variants' => :'Array', + :'vulnerabilities' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainMalwareDocument` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainMalwareDocument`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'actors_count') + self.actors_count = attributes[:'actors_count'] + end + + if attributes.key?(:'all_systems') + if (value = attributes[:'all_systems']).is_a?(Array) + self.all_systems = value + end + end + + if attributes.key?(:'associated_actors') + if (value = attributes[:'associated_actors']).is_a?(Array) + self.associated_actors = value + end + end + + if attributes.key?(:'capabilities') + if (value = attributes[:'capabilities']).is_a?(Array) + self.capabilities = value + end + end + + if attributes.key?(:'community_identifiers') + if (value = attributes[:'community_identifiers']).is_a?(Array) + self.community_identifiers = value + end + end + + if attributes.key?(:'created_timestamp') + self.created_timestamp = attributes[:'created_timestamp'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'description_text_length') + self.description_text_length = attributes[:'description_text_length'] + end + + if attributes.key?(:'developed_by') + if (value = attributes[:'developed_by']).is_a?(Array) + self.developed_by = value + end + end + + if attributes.key?(:'developed_by_count') + self.developed_by_count = attributes[:'developed_by_count'] + end + + if attributes.key?(:'files_containing_threat_count') + self.files_containing_threat_count = attributes[:'files_containing_threat_count'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'indicator_count') + self.indicator_count = attributes[:'indicator_count'] + end + + if attributes.key?(:'kill_chain') + if (value = attributes[:'kill_chain']).is_a?(Array) + self.kill_chain = value + end + end + + if attributes.key?(:'last_updated') + self.last_updated = attributes[:'last_updated'] + end + + if attributes.key?(:'mitre') + if (value = attributes[:'mitre']).is_a?(Array) + self.mitre = value + end + end + + if attributes.key?(:'mitre_attack_count') + self.mitre_attack_count = attributes[:'mitre_attack_count'] + end + + if attributes.key?(:'mitre_tactic_count') + self.mitre_tactic_count = attributes[:'mitre_tactic_count'] + end + + if attributes.key?(:'mitre_technique_count') + self.mitre_technique_count = attributes[:'mitre_technique_count'] + end + + if attributes.key?(:'motivation') + if (value = attributes[:'motivation']).is_a?(Array) + self.motivation = value + end + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'next_stage_of') + if (value = attributes[:'next_stage_of']).is_a?(Array) + self.next_stage_of = value + end + end + + if attributes.key?(:'next_stages') + if (value = attributes[:'next_stages']).is_a?(Array) + self.next_stages = value + end + end + + if attributes.key?(:'plugin_of') + if (value = attributes[:'plugin_of']).is_a?(Array) + self.plugin_of = value + end + end + + if attributes.key?(:'plugins') + if (value = attributes[:'plugins']).is_a?(Array) + self.plugins = value + end + end + + if attributes.key?(:'purchased_by') + if (value = attributes[:'purchased_by']).is_a?(Array) + self.purchased_by = value + end + end + + if attributes.key?(:'purchased_by_count') + self.purchased_by_count = attributes[:'purchased_by_count'] + end + + if attributes.key?(:'report_count') + self.report_count = attributes[:'report_count'] + end + + if attributes.key?(:'reports') + if (value = attributes[:'reports']).is_a?(Array) + self.reports = value + end + end + + if attributes.key?(:'seen_in_environment') + self.seen_in_environment = attributes[:'seen_in_environment'] + end + + if attributes.key?(:'slug') + self.slug = attributes[:'slug'] + end + + if attributes.key?(:'sold_by') + if (value = attributes[:'sold_by']).is_a?(Array) + self.sold_by = value + end + end + + if attributes.key?(:'sold_by_count') + self.sold_by_count = attributes[:'sold_by_count'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'sub_botnet_of') + if (value = attributes[:'sub_botnet_of']).is_a?(Array) + self.sub_botnet_of = value + end + end + + if attributes.key?(:'sub_botnets') + if (value = attributes[:'sub_botnets']).is_a?(Array) + self.sub_botnets = value + end + end + + if attributes.key?(:'successor_of') + if (value = attributes[:'successor_of']).is_a?(Array) + self.successor_of = value + end + end + + if attributes.key?(:'successors') + if (value = attributes[:'successors']).is_a?(Array) + self.successors = value + end + end + + if attributes.key?(:'systems_targeted_count') + self.systems_targeted_count = attributes[:'systems_targeted_count'] + end + + if attributes.key?(:'target_countries') + if (value = attributes[:'target_countries']).is_a?(Array) + self.target_countries = value + end + end + + if attributes.key?(:'target_industries') + if (value = attributes[:'target_industries']).is_a?(Array) + self.target_industries = value + end + end + + if attributes.key?(:'targeting_profile') + if (value = attributes[:'targeting_profile']).is_a?(Array) + self.targeting_profile = value + end + end + + if attributes.key?(:'targets_systems') + if (value = attributes[:'targets_systems']).is_a?(Array) + self.targets_systems = value + end + end + + if attributes.key?(:'threat_file_count') + self.threat_file_count = attributes[:'threat_file_count'] + end + + if attributes.key?(:'threat_properties') + if (value = attributes[:'threat_properties']).is_a?(Array) + self.threat_properties = value + end + end + + if attributes.key?(:'threat_relations_count') + self.threat_relations_count = attributes[:'threat_relations_count'] + end + + if attributes.key?(:'used_by') + if (value = attributes[:'used_by']).is_a?(Array) + self.used_by = value + end + end + + if attributes.key?(:'used_by_count') + self.used_by_count = attributes[:'used_by_count'] + end + + if attributes.key?(:'variant_of') + if (value = attributes[:'variant_of']).is_a?(Array) + self.variant_of = value + end + end + + if attributes.key?(:'variants') + if (value = attributes[:'variants']).is_a?(Array) + self.variants = value + end + end + + if attributes.key?(:'vulnerabilities') + if (value = attributes[:'vulnerabilities']).is_a?(Array) + self.vulnerabilities = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + return false if @name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + actors_count == o.actors_count && + all_systems == o.all_systems && + associated_actors == o.associated_actors && + capabilities == o.capabilities && + community_identifiers == o.community_identifiers && + created_timestamp == o.created_timestamp && + description == o.description && + description_text_length == o.description_text_length && + developed_by == o.developed_by && + developed_by_count == o.developed_by_count && + files_containing_threat_count == o.files_containing_threat_count && + id == o.id && + indicator_count == o.indicator_count && + kill_chain == o.kill_chain && + last_updated == o.last_updated && + mitre == o.mitre && + mitre_attack_count == o.mitre_attack_count && + mitre_tactic_count == o.mitre_tactic_count && + mitre_technique_count == o.mitre_technique_count && + motivation == o.motivation && + name == o.name && + next_stage_of == o.next_stage_of && + next_stages == o.next_stages && + plugin_of == o.plugin_of && + plugins == o.plugins && + purchased_by == o.purchased_by && + purchased_by_count == o.purchased_by_count && + report_count == o.report_count && + reports == o.reports && + seen_in_environment == o.seen_in_environment && + slug == o.slug && + sold_by == o.sold_by && + sold_by_count == o.sold_by_count && + status == o.status && + sub_botnet_of == o.sub_botnet_of && + sub_botnets == o.sub_botnets && + successor_of == o.successor_of && + successors == o.successors && + systems_targeted_count == o.systems_targeted_count && + target_countries == o.target_countries && + target_industries == o.target_industries && + targeting_profile == o.targeting_profile && + targets_systems == o.targets_systems && + threat_file_count == o.threat_file_count && + threat_properties == o.threat_properties && + threat_relations_count == o.threat_relations_count && + used_by == o.used_by && + used_by_count == o.used_by_count && + variant_of == o.variant_of && + variants == o.variants && + vulnerabilities == o.vulnerabilities + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [actors_count, all_systems, associated_actors, capabilities, community_identifiers, created_timestamp, description, description_text_length, developed_by, developed_by_count, files_containing_threat_count, id, indicator_count, kill_chain, last_updated, mitre, mitre_attack_count, mitre_tactic_count, mitre_technique_count, motivation, name, next_stage_of, next_stages, plugin_of, plugins, purchased_by, purchased_by_count, report_count, reports, seen_in_environment, slug, sold_by, sold_by_count, status, sub_botnet_of, sub_botnets, successor_of, successors, systems_targeted_count, target_countries, target_industries, targeting_profile, targets_systems, threat_file_count, threat_properties, threat_relations_count, used_by, used_by_count, variant_of, variants, vulnerabilities].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_malware_environment_aggregates.rb b/lib/crimson-falcon/models/domain_malware_environment_aggregates.rb new file mode 100644 index 00000000..d3e59805 --- /dev/null +++ b/lib/crimson-falcon/models/domain_malware_environment_aggregates.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainMalwareEnvironmentAggregates + attr_accessor :detections + + attr_accessor :sandbox + + attr_accessor :vulnerabilities + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'detections' => :'detections', + :'sandbox' => :'sandbox', + :'vulnerabilities' => :'vulnerabilities' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'detections' => :'Integer', + :'sandbox' => :'Integer', + :'vulnerabilities' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainMalwareEnvironmentAggregates` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainMalwareEnvironmentAggregates`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'detections') + self.detections = attributes[:'detections'] + end + + if attributes.key?(:'sandbox') + self.sandbox = attributes[:'sandbox'] + end + + if attributes.key?(:'vulnerabilities') + self.vulnerabilities = attributes[:'vulnerabilities'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @detections.nil? + invalid_properties.push('invalid value for "detections", detections cannot be nil.') + end + + if @sandbox.nil? + invalid_properties.push('invalid value for "sandbox", sandbox cannot be nil.') + end + + if @vulnerabilities.nil? + invalid_properties.push('invalid value for "vulnerabilities", vulnerabilities cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @detections.nil? + return false if @sandbox.nil? + return false if @vulnerabilities.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + detections == o.detections && + sandbox == o.sandbox && + vulnerabilities == o.vulnerabilities + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [detections, sandbox, vulnerabilities].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_malware_response.rb b/lib/crimson-falcon/models/domain_malware_response.rb new file mode 100644 index 00000000..c2787cfb --- /dev/null +++ b/lib/crimson-falcon/models/domain_malware_response.rb @@ -0,0 +1,272 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainMalwareResponse + # Array of API Errors + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainMalwareResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainMalwareResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_marketplace_credentials.rb b/lib/crimson-falcon/models/domain_marketplace_credentials.rb new file mode 100644 index 00000000..5229ed3a --- /dev/null +++ b/lib/crimson-falcon/models/domain_marketplace_credentials.rb @@ -0,0 +1,258 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainMarketplaceCredentials + attr_accessor :sites_all + + attr_accessor :sites_with_cookie_only + + attr_accessor :sites_with_password + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'sites_all' => :'sites_all', + :'sites_with_cookie_only' => :'sites_with_cookie_only', + :'sites_with_password' => :'sites_with_password' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'sites_all' => :'Array', + :'sites_with_cookie_only' => :'Array', + :'sites_with_password' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainMarketplaceCredentials` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainMarketplaceCredentials`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'sites_all') + if (value = attributes[:'sites_all']).is_a?(Array) + self.sites_all = value + end + end + + if attributes.key?(:'sites_with_cookie_only') + if (value = attributes[:'sites_with_cookie_only']).is_a?(Array) + self.sites_with_cookie_only = value + end + end + + if attributes.key?(:'sites_with_password') + if (value = attributes[:'sites_with_password']).is_a?(Array) + self.sites_with_password = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + sites_all == o.sites_all && + sites_with_cookie_only == o.sites_with_cookie_only && + sites_with_password == o.sites_with_password + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [sites_all, sites_with_cookie_only, sites_with_password].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_marketplace_product.rb b/lib/crimson-falcon/models/domain_marketplace_product.rb index 8d18f1c9..61569d09 100644 --- a/lib/crimson-falcon/models/domain_marketplace_product.rb +++ b/lib/crimson-falcon/models/domain_marketplace_product.rb @@ -69,7 +69,7 @@ def self.openapi_types { :'card' => :'DomainCard', :'country_code' => :'String', - :'credentials' => :'DomainCredentials', + :'credentials' => :'DomainMarketplaceCredentials', :'host' => :'DomainHost', :'location' => :'String', :'price' => :'String', diff --git a/lib/crimson-falcon/models/domain_meta_info.rb b/lib/crimson-falcon/models/domain_meta_info.rb index a23704b8..06708a87 100644 --- a/lib/crimson-falcon/models/domain_meta_info.rb +++ b/lib/crimson-falcon/models/domain_meta_info.rb @@ -38,21 +38,15 @@ class DomainMetaInfo attr_accessor :query_time - attr_accessor :quota - attr_accessor :trace_id - attr_accessor :writes - # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'pagination' => :'pagination', :'powered_by' => :'powered_by', :'query_time' => :'query_time', - :'quota' => :'quota', - :'trace_id' => :'trace_id', - :'writes' => :'writes' + :'trace_id' => :'trace_id' } end @@ -64,12 +58,10 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'pagination' => :'MsaspecPaging', + :'pagination' => :'DomainAssessmentPaging', :'powered_by' => :'String', :'query_time' => :'Float', - :'quota' => :'DomainQuota', - :'trace_id' => :'String', - :'writes' => :'MsaspecWrites' + :'trace_id' => :'String' } end @@ -106,17 +98,9 @@ def initialize(attributes = {}) self.query_time = attributes[:'query_time'] end - if attributes.key?(:'quota') - self.quota = attributes[:'quota'] - end - if attributes.key?(:'trace_id') self.trace_id = attributes[:'trace_id'] end - - if attributes.key?(:'writes') - self.writes = attributes[:'writes'] - end end # Show invalid properties with the reasons. Usually used together with valid? @@ -150,9 +134,7 @@ def ==(o) pagination == o.pagination && powered_by == o.powered_by && query_time == o.query_time && - quota == o.quota && - trace_id == o.trace_id && - writes == o.writes + trace_id == o.trace_id end # @see the `==` method @@ -164,7 +146,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [pagination, powered_by, query_time, quota, trace_id, writes].hash + [pagination, powered_by, query_time, trace_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_msa_detect_summaries_response.rb b/lib/crimson-falcon/models/domain_msa_detect_summaries_response.rb index c1e0f1bc..b3fae529 100644 --- a/lib/crimson-falcon/models/domain_msa_detect_summaries_response.rb +++ b/lib/crimson-falcon/models/domain_msa_detect_summaries_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_msa_environment_score_response.rb b/lib/crimson-falcon/models/domain_msa_environment_score_response.rb index 2bdb213c..73032b7c 100644 --- a/lib/crimson-falcon/models/domain_msa_environment_score_response.rb +++ b/lib/crimson-falcon/models/domain_msa_environment_score_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_msa_external_behavior_response.rb b/lib/crimson-falcon/models/domain_msa_external_behavior_response.rb index e7859e60..6c89fbe3 100644 --- a/lib/crimson-falcon/models/domain_msa_external_behavior_response.rb +++ b/lib/crimson-falcon/models/domain_msa_external_behavior_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_msa_external_incident_response.rb b/lib/crimson-falcon/models/domain_msa_external_incident_response.rb index f282e7af..8da95cfa 100644 --- a/lib/crimson-falcon/models/domain_msa_external_incident_response.rb +++ b/lib/crimson-falcon/models/domain_msa_external_incident_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_msa_incident_perform_action_response.rb b/lib/crimson-falcon/models/domain_msa_incident_perform_action_response.rb index ccc93502..90ca2dbe 100644 --- a/lib/crimson-falcon/models/domain_msa_incident_perform_action_response.rb +++ b/lib/crimson-falcon/models/domain_msa_incident_perform_action_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_msa_incident_query_response.rb b/lib/crimson-falcon/models/domain_msa_incident_query_response.rb index acc8bba5..c179ec24 100644 --- a/lib/crimson-falcon/models/domain_msa_incident_query_response.rb +++ b/lib/crimson-falcon/models/domain_msa_incident_query_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_msa_meta_info.rb b/lib/crimson-falcon/models/domain_msa_meta_info.rb new file mode 100644 index 00000000..5265319b --- /dev/null +++ b/lib/crimson-falcon/models/domain_msa_meta_info.rb @@ -0,0 +1,248 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainMsaMetaInfo + attr_accessor :pagination + + attr_accessor :query_time + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'pagination' => :'pagination', + :'query_time' => :'queryTime' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'pagination' => :'MsaPaging', + :'query_time' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainMsaMetaInfo` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainMsaMetaInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'pagination') + self.pagination = attributes[:'pagination'] + end + + if attributes.key?(:'query_time') + self.query_time = attributes[:'query_time'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @query_time.nil? + invalid_properties.push('invalid value for "query_time", query_time cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @query_time.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + pagination == o.pagination && + query_time == o.query_time + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [pagination, query_time].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_msa_qf_response.rb b/lib/crimson-falcon/models/domain_msa_qf_response.rb index 0eb139fb..6419c12d 100644 --- a/lib/crimson-falcon/models/domain_msa_qf_response.rb +++ b/lib/crimson-falcon/models/domain_msa_qf_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_mssp_role_response_v1.rb b/lib/crimson-falcon/models/domain_mssp_role_response_v1.rb index e4fd13f6..df216861 100644 --- a/lib/crimson-falcon/models/domain_mssp_role_response_v1.rb +++ b/lib/crimson-falcon/models/domain_mssp_role_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_multi_command_execute_response_wrapper.rb b/lib/crimson-falcon/models/domain_multi_command_execute_response_wrapper.rb index 51122e24..569c3fc7 100644 --- a/lib/crimson-falcon/models/domain_multi_command_execute_response_wrapper.rb +++ b/lib/crimson-falcon/models/domain_multi_command_execute_response_wrapper.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes def self.openapi_types { :'combined' => :'DomainMultiCommandExecuteResponse', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/domain_multi_pulse_sensor_response.rb b/lib/crimson-falcon/models/domain_multi_pulse_sensor_response.rb index b0a193b9..5efc4dea 100644 --- a/lib/crimson-falcon/models/domain_multi_pulse_sensor_response.rb +++ b/lib/crimson-falcon/models/domain_multi_pulse_sensor_response.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'aid' => :'String', - :'errors' => :'Array', + :'errors' => :'Array', :'session_id' => :'String' } end diff --git a/lib/crimson-falcon/models/domain_multi_status_sensor_response.rb b/lib/crimson-falcon/models/domain_multi_status_sensor_response.rb index 47125b28..6d508d42 100644 --- a/lib/crimson-falcon/models/domain_multi_status_sensor_response.rb +++ b/lib/crimson-falcon/models/domain_multi_status_sensor_response.rb @@ -82,7 +82,7 @@ def self.openapi_types :'aid' => :'String', :'base_command' => :'String', :'complete' => :'Boolean', - :'errors' => :'Array', + :'errors' => :'Array', :'offline_queued' => :'Boolean', :'query_time' => :'Float', :'sequence_id' => :'Integer', diff --git a/lib/crimson-falcon/models/domain_news_document.rb b/lib/crimson-falcon/models/domain_news_document.rb index da3254f0..9026846f 100644 --- a/lib/crimson-falcon/models/domain_news_document.rb +++ b/lib/crimson-falcon/models/domain_news_document.rb @@ -73,6 +73,9 @@ class DomainNewsDocument # Rich text description with markup attr_accessor :rich_text_description + # Rich text short description with markup + attr_accessor :rich_text_short_description + # Short description of the report content attr_accessor :short_description @@ -116,6 +119,7 @@ def self.attribute_map :'name' => :'name', :'notify_users' => :'notify_users', :'rich_text_description' => :'rich_text_description', + :'rich_text_short_description' => :'rich_text_short_description', :'short_description' => :'short_description', :'slug' => :'slug', :'sub_type' => :'sub_type', @@ -142,24 +146,25 @@ def self.openapi_types :'attachments' => :'Array', :'created_date' => :'Integer', :'description' => :'String', - :'entitlements' => :'Array', + :'entitlements' => :'Array', :'id' => :'Integer', :'image' => :'DomainImage', :'last_modified_date' => :'Integer', :'malware' => :'Array', - :'motivations' => :'Array', + :'motivations' => :'Array', :'name' => :'String', :'notify_users' => :'Boolean', :'rich_text_description' => :'String', + :'rich_text_short_description' => :'String', :'short_description' => :'String', :'slug' => :'String', - :'sub_type' => :'DomainEntity', - :'tags' => :'Array', - :'target_countries' => :'Array', - :'target_industries' => :'Array', + :'sub_type' => :'Object', + :'tags' => :'Array', + :'target_countries' => :'Array', + :'target_industries' => :'Array', :'thumbnail' => :'DomainImage', - :'topic' => :'DomainEntity', - :'type' => :'DomainEntity', + :'topic' => :'Object', + :'type' => :'Object', :'url' => :'String' } end @@ -251,6 +256,10 @@ def initialize(attributes = {}) self.rich_text_description = attributes[:'rich_text_description'] end + if attributes.key?(:'rich_text_short_description') + self.rich_text_short_description = attributes[:'rich_text_short_description'] + end + if attributes.key?(:'short_description') self.short_description = attributes[:'short_description'] end @@ -385,6 +394,7 @@ def ==(o) name == o.name && notify_users == o.notify_users && rich_text_description == o.rich_text_description && + rich_text_short_description == o.rich_text_short_description && short_description == o.short_description && slug == o.slug && sub_type == o.sub_type && @@ -406,7 +416,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [active, actors, attachments, created_date, description, entitlements, id, image, last_modified_date, malware, motivations, name, notify_users, rich_text_description, short_description, slug, sub_type, tags, target_countries, target_industries, thumbnail, topic, type, url].hash + [active, actors, attachments, created_date, description, entitlements, id, image, last_modified_date, malware, motivations, name, notify_users, rich_text_description, rich_text_short_description, short_description, slug, sub_type, tags, target_countries, target_industries, thumbnail, topic, type, url].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_news_response.rb b/lib/crimson-falcon/models/domain_news_response.rb index d4dbc568..e1bb0a56 100644 --- a/lib/crimson-falcon/models/domain_news_response.rb +++ b/lib/crimson-falcon/models/domain_news_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_notification_details_response_v1.rb b/lib/crimson-falcon/models/domain_notification_details_response_v1.rb index b969e4af..f7588b4e 100644 --- a/lib/crimson-falcon/models/domain_notification_details_response_v1.rb +++ b/lib/crimson-falcon/models/domain_notification_details_response_v1.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_notification_entities_response_v1.rb b/lib/crimson-falcon/models/domain_notification_entities_response_v1.rb index 826e12c4..6180730f 100644 --- a/lib/crimson-falcon/models/domain_notification_entities_response_v1.rb +++ b/lib/crimson-falcon/models/domain_notification_entities_response_v1.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_notification_id_response.rb b/lib/crimson-falcon/models/domain_notification_id_response.rb index 903b183f..6ed1687a 100644 --- a/lib/crimson-falcon/models/domain_notification_id_response.rb +++ b/lib/crimson-falcon/models/domain_notification_id_response.rb @@ -56,7 +56,7 @@ def self.acceptable_attributes def self.openapi_types { :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_notification_v1.rb b/lib/crimson-falcon/models/domain_notification_v1.rb index a8b91ab3..9414ac90 100644 --- a/lib/crimson-falcon/models/domain_notification_v1.rb +++ b/lib/crimson-falcon/models/domain_notification_v1.rb @@ -82,6 +82,15 @@ class DomainNotificationV1 # ID of the raw intel item that matched the rule attr_accessor :raw_intel_id + # The name of the user who created the rule + attr_accessor :rule_creator_name + + # The user ID of the user who created the rule + attr_accessor :rule_creator_uid + + # The unique UUID of the user who created the rule + attr_accessor :rule_creator_uuid + # The ID of the rule that generated this notification attr_accessor :rule_id @@ -126,6 +135,9 @@ def self.attribute_map :'item_type' => :'item_type', :'logs' => :'logs', :'raw_intel_id' => :'raw_intel_id', + :'rule_creator_name' => :'rule_creator_name', + :'rule_creator_uid' => :'rule_creator_uid', + :'rule_creator_uuid' => :'rule_creator_uuid', :'rule_id' => :'rule_id', :'rule_name' => :'rule_name', :'rule_priority' => :'rule_priority', @@ -163,6 +175,9 @@ def self.openapi_types :'item_type' => :'String', :'logs' => :'Array', :'raw_intel_id' => :'String', + :'rule_creator_name' => :'String', + :'rule_creator_uid' => :'String', + :'rule_creator_uuid' => :'String', :'rule_id' => :'String', :'rule_name' => :'String', :'rule_priority' => :'String', @@ -271,6 +286,18 @@ def initialize(attributes = {}) self.raw_intel_id = attributes[:'raw_intel_id'] end + if attributes.key?(:'rule_creator_name') + self.rule_creator_name = attributes[:'rule_creator_name'] + end + + if attributes.key?(:'rule_creator_uid') + self.rule_creator_uid = attributes[:'rule_creator_uid'] + end + + if attributes.key?(:'rule_creator_uuid') + self.rule_creator_uuid = attributes[:'rule_creator_uuid'] + end + if attributes.key?(:'rule_id') self.rule_id = attributes[:'rule_id'] end @@ -410,6 +437,9 @@ def ==(o) item_type == o.item_type && logs == o.logs && raw_intel_id == o.raw_intel_id && + rule_creator_name == o.rule_creator_name && + rule_creator_uid == o.rule_creator_uid && + rule_creator_uuid == o.rule_creator_uuid && rule_id == o.rule_id && rule_name == o.rule_name && rule_priority == o.rule_priority && @@ -429,7 +459,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [actor_slug, assigned_to_uid, assigned_to_username, assigned_to_uuid, breach_summary, cid, created_date, highlights, id, item_author, item_author_id, item_date, item_id, item_site, item_site_id, item_type, logs, raw_intel_id, rule_id, rule_name, rule_priority, rule_topic, source_category, status, typosquatting, updated_date].hash + [actor_slug, assigned_to_uid, assigned_to_username, assigned_to_uuid, breach_summary, cid, created_date, highlights, id, item_author, item_author_id, item_date, item_id, item_site, item_site_id, item_type, logs, raw_intel_id, rule_creator_name, rule_creator_uid, rule_creator_uuid, rule_id, rule_name, rule_priority, rule_topic, source_category, status, typosquatting, updated_date].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_platform.rb b/lib/crimson-falcon/models/domain_platform.rb index 71941515..27f5558d 100644 --- a/lib/crimson-falcon/models/domain_platform.rb +++ b/lib/crimson-falcon/models/domain_platform.rb @@ -34,13 +34,13 @@ module Falcon class DomainPlatform attr_accessor :id - attr_accessor :label + attr_accessor :name # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'id' => :'id', - :'label' => :'label' + :'name' => :'name' } end @@ -52,8 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'id' => :'String', - :'label' => :'String' + :'id' => :'Integer', + :'name' => :'String' } end @@ -82,8 +82,8 @@ def initialize(attributes = {}) self.id = attributes[:'id'] end - if attributes.key?(:'label') - self.label = attributes[:'label'] + if attributes.key?(:'name') + self.name = attributes[:'name'] end end @@ -95,8 +95,8 @@ def list_invalid_properties invalid_properties.push('invalid value for "id", id cannot be nil.') end - if @label.nil? - invalid_properties.push('invalid value for "label", label cannot be nil.') + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') end invalid_properties @@ -106,7 +106,7 @@ def list_invalid_properties # @return true if the model is valid def valid? return false if @id.nil? - return false if @label.nil? + return false if @name.nil? true end @@ -116,7 +116,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && id == o.id && - label == o.label + name == o.name end # @see the `==` method @@ -128,7 +128,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [id, label].hash + [id, name].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_policy_info.rb b/lib/crimson-falcon/models/domain_policy_info.rb index 09b21217..ed5bb746 100644 --- a/lib/crimson-falcon/models/domain_policy_info.rb +++ b/lib/crimson-falcon/models/domain_policy_info.rb @@ -72,14 +72,22 @@ class DomainPolicyInfo attr_accessor :cloud_service_friendly + attr_accessor :cloud_service_id + attr_accessor :cloud_service_subtype attr_accessor :cloud_service_type + attr_accessor :compliance + attr_accessor :confidence + attr_accessor :controls + attr_accessor :default_severity + attr_accessor :deprecated + attr_accessor :description attr_accessor :event_type @@ -124,6 +132,10 @@ class DomainPolicyInfo attr_accessor :remediation_summary + attr_accessor :resource_type_friendly_name + + attr_accessor :resource_type_id + attr_accessor :soc2_benchmark_ids attr_accessor :tactic @@ -161,10 +173,14 @@ def self.attribute_map :'cloud_platform_type' => :'cloud_platform_type', :'cloud_service' => :'cloud_service', :'cloud_service_friendly' => :'cloud_service_friendly', + :'cloud_service_id' => :'cloud_service_id', :'cloud_service_subtype' => :'cloud_service_subtype', :'cloud_service_type' => :'cloud_service_type', + :'compliance' => :'compliance', :'confidence' => :'confidence', + :'controls' => :'controls', :'default_severity' => :'default_severity', + :'deprecated' => :'deprecated', :'description' => :'description', :'event_type' => :'event_type', :'fql_policy' => :'fql_policy', @@ -187,6 +203,8 @@ def self.attribute_map :'policy_statement' => :'policy_statement', :'policy_type' => :'policy_type', :'remediation_summary' => :'remediation_summary', + :'resource_type_friendly_name' => :'resource_type_friendly_name', + :'resource_type_id' => :'resource_type_id', :'soc2_benchmark_ids' => :'soc2_benchmark_ids', :'tactic' => :'tactic', :'tactic_id' => :'tactic_id', @@ -225,10 +243,14 @@ def self.openapi_types :'cloud_platform_type' => :'String', :'cloud_service' => :'Integer', :'cloud_service_friendly' => :'String', + :'cloud_service_id' => :'Integer', :'cloud_service_subtype' => :'String', :'cloud_service_type' => :'String', + :'compliance' => :'DomainCompliance', :'confidence' => :'String', + :'controls' => :'Array', :'default_severity' => :'String', + :'deprecated' => :'Boolean', :'description' => :'String', :'event_type' => :'String', :'fql_policy' => :'String', @@ -251,6 +273,8 @@ def self.openapi_types :'policy_statement' => :'String', :'policy_type' => :'String', :'remediation_summary' => :'String', + :'resource_type_friendly_name' => :'String', + :'resource_type_id' => :'String', :'soc2_benchmark_ids' => :'Array', :'tactic' => :'String', :'tactic_id' => :'String', @@ -368,6 +392,10 @@ def initialize(attributes = {}) self.cloud_service_friendly = attributes[:'cloud_service_friendly'] end + if attributes.key?(:'cloud_service_id') + self.cloud_service_id = attributes[:'cloud_service_id'] + end + if attributes.key?(:'cloud_service_subtype') self.cloud_service_subtype = attributes[:'cloud_service_subtype'] end @@ -376,14 +404,28 @@ def initialize(attributes = {}) self.cloud_service_type = attributes[:'cloud_service_type'] end + if attributes.key?(:'compliance') + self.compliance = attributes[:'compliance'] + end + if attributes.key?(:'confidence') self.confidence = attributes[:'confidence'] end + if attributes.key?(:'controls') + if (value = attributes[:'controls']).is_a?(Array) + self.controls = value + end + end + if attributes.key?(:'default_severity') self.default_severity = attributes[:'default_severity'] end + if attributes.key?(:'deprecated') + self.deprecated = attributes[:'deprecated'] + end + if attributes.key?(:'description') self.description = attributes[:'description'] end @@ -482,6 +524,14 @@ def initialize(attributes = {}) self.remediation_summary = attributes[:'remediation_summary'] end + if attributes.key?(:'resource_type_friendly_name') + self.resource_type_friendly_name = attributes[:'resource_type_friendly_name'] + end + + if attributes.key?(:'resource_type_id') + self.resource_type_id = attributes[:'resource_type_id'] + end + if attributes.key?(:'soc2_benchmark_ids') if (value = attributes[:'soc2_benchmark_ids']).is_a?(Array) self.soc2_benchmark_ids = value @@ -586,10 +636,14 @@ def ==(o) cloud_platform_type == o.cloud_platform_type && cloud_service == o.cloud_service && cloud_service_friendly == o.cloud_service_friendly && + cloud_service_id == o.cloud_service_id && cloud_service_subtype == o.cloud_service_subtype && cloud_service_type == o.cloud_service_type && + compliance == o.compliance && confidence == o.confidence && + controls == o.controls && default_severity == o.default_severity && + deprecated == o.deprecated && description == o.description && event_type == o.event_type && fql_policy == o.fql_policy && @@ -612,6 +666,8 @@ def ==(o) policy_statement == o.policy_statement && policy_type == o.policy_type && remediation_summary == o.remediation_summary && + resource_type_friendly_name == o.resource_type_friendly_name && + resource_type_id == o.resource_type_id && soc2_benchmark_ids == o.soc2_benchmark_ids && tactic == o.tactic && tactic_id == o.tactic_id && @@ -630,7 +686,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [created_at, deleted_at, id, updated_at, account_scope, alert_logic, api_command, asset_type_id, attack_tool, attack_tool_command, attack_types, cis_benchmark_ids, cisa_benchmark_ids, cli_command, cloud_asset_type, cloud_document, cloud_platform, cloud_platform_type, cloud_service, cloud_service_friendly, cloud_service_subtype, cloud_service_type, confidence, default_severity, description, event_type, fql_policy, hipaa_benchmark_ids, hitrust_benchmark_ids, internal_only, is_enabled, is_remediable, iso_benchmark_ids, mitre_attack_cloud_matrix, mitre_attack_cloud_subtype, nist_benchmark_ids, pci_benchmark_ids, policy_confidence_score, policy_fail_query, policy_pass_query, policy_remediation, policy_severity, policy_severity_score, policy_statement, policy_type, remediation_summary, soc2_benchmark_ids, tactic, tactic_id, tactic_url, technique, technique_id, technique_url].hash + [created_at, deleted_at, id, updated_at, account_scope, alert_logic, api_command, asset_type_id, attack_tool, attack_tool_command, attack_types, cis_benchmark_ids, cisa_benchmark_ids, cli_command, cloud_asset_type, cloud_document, cloud_platform, cloud_platform_type, cloud_service, cloud_service_friendly, cloud_service_id, cloud_service_subtype, cloud_service_type, compliance, confidence, controls, default_severity, deprecated, description, event_type, fql_policy, hipaa_benchmark_ids, hitrust_benchmark_ids, internal_only, is_enabled, is_remediable, iso_benchmark_ids, mitre_attack_cloud_matrix, mitre_attack_cloud_subtype, nist_benchmark_ids, pci_benchmark_ids, policy_confidence_score, policy_fail_query, policy_pass_query, policy_remediation, policy_severity, policy_severity_score, policy_statement, policy_type, remediation_summary, resource_type_friendly_name, resource_type_id, soc2_benchmark_ids, tactic, tactic_id, tactic_url, technique, technique_id, technique_url].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_product_features.rb b/lib/crimson-falcon/models/domain_product_features.rb new file mode 100644 index 00000000..2fb82e69 --- /dev/null +++ b/lib/crimson-falcon/models/domain_product_features.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainProductFeatures + attr_accessor :features + + attr_accessor :product + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'features' => :'features', + :'product' => :'product' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'features' => :'Array', + :'product' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainProductFeatures` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainProductFeatures`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'features') + if (value = attributes[:'features']).is_a?(Array) + self.features = value + end + end + + if attributes.key?(:'product') + self.product = attributes[:'product'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @features.nil? + invalid_properties.push('invalid value for "features", features cannot be nil.') + end + + if @product.nil? + invalid_properties.push('invalid value for "product", product cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @features.nil? + return false if @product.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + features == o.features && + product == o.product + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [features, product].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_product_features_status.rb b/lib/crimson-falcon/models/domain_product_features_status.rb new file mode 100644 index 00000000..8b9fde99 --- /dev/null +++ b/lib/crimson-falcon/models/domain_product_features_status.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainProductFeaturesStatus + attr_accessor :features + + attr_accessor :product + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'features' => :'features', + :'product' => :'product' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'features' => :'Array', + :'product' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainProductFeaturesStatus` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainProductFeaturesStatus`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'features') + if (value = attributes[:'features']).is_a?(Array) + self.features = value + end + end + + if attributes.key?(:'product') + self.product = attributes[:'product'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @features.nil? + invalid_properties.push('invalid value for "features", features cannot be nil.') + end + + if @product.nil? + invalid_properties.push('invalid value for "product", product cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @features.nil? + return false if @product.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + features == o.features && + product == o.product + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [features, product].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_product_permission.rb b/lib/crimson-falcon/models/domain_product_permission.rb new file mode 100644 index 00000000..92a68bf4 --- /dev/null +++ b/lib/crimson-falcon/models/domain_product_permission.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainProductPermission + attr_accessor :features + + attr_accessor :product + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'features' => :'features', + :'product' => :'product' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'features' => :'Array', + :'product' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainProductPermission` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainProductPermission`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'features') + if (value = attributes[:'features']).is_a?(Array) + self.features = value + end + end + + if attributes.key?(:'product') + self.product = attributes[:'product'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @features.nil? + invalid_properties.push('invalid value for "features", features cannot be nil.') + end + + if @product.nil? + invalid_properties.push('invalid value for "product", product cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @features.nil? + return false if @product.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + features == o.features && + product == o.product + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [features, product].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_public_indicators_v3_response.rb b/lib/crimson-falcon/models/domain_public_indicators_v3_response.rb index 99adfb09..b236f0ab 100644 --- a/lib/crimson-falcon/models/domain_public_indicators_v3_response.rb +++ b/lib/crimson-falcon/models/domain_public_indicators_v3_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_query_mitre_attacks_response.rb b/lib/crimson-falcon/models/domain_query_mitre_attacks_response.rb index 59e59f52..041e42cc 100644 --- a/lib/crimson-falcon/models/domain_query_mitre_attacks_response.rb +++ b/lib/crimson-falcon/models/domain_query_mitre_attacks_response.rb @@ -57,8 +57,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_query_response.rb b/lib/crimson-falcon/models/domain_query_response.rb index bcad9b12..e77f8263 100644 --- a/lib/crimson-falcon/models/domain_query_response.rb +++ b/lib/crimson-falcon/models/domain_query_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'DomainMsaMetaInfo', :'resources' => :'Array' } end @@ -103,10 +103,6 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @errors.nil? - invalid_properties.push('invalid value for "errors", errors cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end @@ -121,7 +117,6 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @errors.nil? return false if @meta.nil? return false if @resources.nil? true diff --git a/lib/crimson-falcon/models/domain_queued_session_response_wrapper.rb b/lib/crimson-falcon/models/domain_queued_session_response_wrapper.rb index 41188814..eeba8b28 100644 --- a/lib/crimson-falcon/models/domain_queued_session_response_wrapper.rb +++ b/lib/crimson-falcon/models/domain_queued_session_response_wrapper.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_reference.rb b/lib/crimson-falcon/models/domain_reference.rb new file mode 100644 index 00000000..934379b3 --- /dev/null +++ b/lib/crimson-falcon/models/domain_reference.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainReference + attr_accessor :tags + + attr_accessor :url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'tags' => :'Tags', + :'url' => :'URL' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'tags' => :'Array', + :'url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainReference`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'tags') + if (value = attributes[:'tags']).is_a?(Array) + self.tags = value + end + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @tags.nil? + invalid_properties.push('invalid value for "tags", tags cannot be nil.') + end + + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @tags.nil? + return false if @url.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + tags == o.tags && + url == o.url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [tags, url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_registry_credentials_response.rb b/lib/crimson-falcon/models/domain_registry_credentials_response.rb index b199be06..ae4712d8 100644 --- a/lib/crimson-falcon/models/domain_registry_credentials_response.rb +++ b/lib/crimson-falcon/models/domain_registry_credentials_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_report_execution_summary_v1.rb b/lib/crimson-falcon/models/domain_report_execution_summary_v1.rb index 1a3cb7b2..4a881c17 100644 --- a/lib/crimson-falcon/models/domain_report_execution_summary_v1.rb +++ b/lib/crimson-falcon/models/domain_report_execution_summary_v1.rb @@ -40,6 +40,8 @@ class DomainReportExecutionSummaryV1 attr_accessor :report_file_reference + attr_accessor :report_params + attr_accessor :result_metadata attr_accessor :status @@ -55,6 +57,7 @@ def self.attribute_map :'id' => :'id', :'last_updated_on' => :'last_updated_on', :'report_file_reference' => :'report_file_reference', + :'report_params' => :'report_params', :'result_metadata' => :'result_metadata', :'status' => :'status', :'status_display' => :'status_display', @@ -74,6 +77,7 @@ def self.openapi_types :'id' => :'String', :'last_updated_on' => :'Time', :'report_file_reference' => :'String', + :'report_params' => :'DomainReportParams', :'result_metadata' => :'DomainResultMetadata', :'status' => :'String', :'status_display' => :'String', @@ -118,6 +122,10 @@ def initialize(attributes = {}) self.report_file_reference = attributes[:'report_file_reference'] end + if attributes.key?(:'report_params') + self.report_params = attributes[:'report_params'] + end + if attributes.key?(:'result_metadata') self.result_metadata = attributes[:'result_metadata'] end @@ -151,6 +159,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "last_updated_on", last_updated_on cannot be nil.') end + if @report_params.nil? + invalid_properties.push('invalid value for "report_params", report_params cannot be nil.') + end + if @status.nil? invalid_properties.push('invalid value for "status", status cannot be nil.') end @@ -172,6 +184,7 @@ def valid? return false if @execution_metadata.nil? return false if @id.nil? return false if @last_updated_on.nil? + return false if @report_params.nil? return false if @status.nil? return false if @status_display.nil? return false if @status_msg.nil? @@ -187,6 +200,7 @@ def ==(o) id == o.id && last_updated_on == o.last_updated_on && report_file_reference == o.report_file_reference && + report_params == o.report_params && result_metadata == o.result_metadata && status == o.status && status_display == o.status_display && @@ -202,7 +216,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [execution_metadata, id, last_updated_on, report_file_reference, result_metadata, status, status_display, status_msg].hash + [execution_metadata, id, last_updated_on, report_file_reference, report_params, result_metadata, status, status_display, status_msg].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_report_execution_v1.rb b/lib/crimson-falcon/models/domain_report_execution_v1.rb index fa5e24b9..ebe65785 100644 --- a/lib/crimson-falcon/models/domain_report_execution_v1.rb +++ b/lib/crimson-falcon/models/domain_report_execution_v1.rb @@ -50,6 +50,8 @@ class DomainReportExecutionV1 attr_accessor :report_file_reference + attr_accessor :report_params + attr_accessor :result_metadata attr_accessor :scheduled_report_id @@ -84,6 +86,7 @@ def self.attribute_map :'job_reference' => :'job_reference', :'last_updated_on' => :'last_updated_on', :'report_file_reference' => :'report_file_reference', + :'report_params' => :'report_params', :'result_metadata' => :'result_metadata', :'scheduled_report_id' => :'scheduled_report_id', :'shared_with' => :'shared_with', @@ -115,6 +118,7 @@ def self.openapi_types :'job_reference' => :'String', :'last_updated_on' => :'Time', :'report_file_reference' => :'String', + :'report_params' => :'DomainReportParams', :'result_metadata' => :'DomainResultMetadata', :'scheduled_report_id' => :'String', :'shared_with' => :'Array', @@ -186,6 +190,10 @@ def initialize(attributes = {}) self.report_file_reference = attributes[:'report_file_reference'] end + if attributes.key?(:'report_params') + self.report_params = attributes[:'report_params'] + end + if attributes.key?(:'result_metadata') self.result_metadata = attributes[:'result_metadata'] end @@ -257,6 +265,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "last_updated_on", last_updated_on cannot be nil.') end + if @report_params.nil? + invalid_properties.push('invalid value for "report_params", report_params cannot be nil.') + end + if @scheduled_report_id.nil? invalid_properties.push('invalid value for "scheduled_report_id", scheduled_report_id cannot be nil.') end @@ -300,6 +312,7 @@ def valid? return false if @expiration_on.nil? return false if @id.nil? return false if @last_updated_on.nil? + return false if @report_params.nil? return false if @scheduled_report_id.nil? return false if @shared_with.nil? return false if @status.nil? @@ -325,6 +338,7 @@ def ==(o) job_reference == o.job_reference && last_updated_on == o.last_updated_on && report_file_reference == o.report_file_reference && + report_params == o.report_params && result_metadata == o.result_metadata && scheduled_report_id == o.scheduled_report_id && shared_with == o.shared_with && @@ -347,7 +361,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [can_write, created_on, customer_id, execution_metadata, expiration_on, id, job_reference, last_updated_on, report_file_reference, result_metadata, scheduled_report_id, shared_with, status, status_display, status_msg, tracking, trigger_reference, type, user_id, user_uuid].hash + [can_write, created_on, customer_id, execution_metadata, expiration_on, id, job_reference, last_updated_on, report_file_reference, report_params, result_metadata, scheduled_report_id, shared_with, status, status_display, status_msg, tracking, trigger_reference, type, user_id, user_uuid].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_report_executions_response_v1.rb b/lib/crimson-falcon/models/domain_report_executions_response_v1.rb index 35190d3a..f16b6be3 100644 --- a/lib/crimson-falcon/models/domain_report_executions_response_v1.rb +++ b/lib/crimson-falcon/models/domain_report_executions_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_report_params.rb b/lib/crimson-falcon/models/domain_report_params.rb index 47611afc..3b112681 100644 --- a/lib/crimson-falcon/models/domain_report_params.rb +++ b/lib/crimson-falcon/models/domain_report_params.rb @@ -32,6 +32,8 @@ module Falcon class DomainReportParams + attr_accessor :columns + attr_accessor :dashboard_id attr_accessor :dashboard_visibility @@ -48,9 +50,12 @@ class DomainReportParams attr_accessor :sort + attr_accessor :spotlight_params + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'columns' => :'columns', :'dashboard_id' => :'dashboard_id', :'dashboard_visibility' => :'dashboard_visibility', :'filter' => :'filter', @@ -58,7 +63,8 @@ def self.attribute_map :'filter_ui' => :'filter_ui', :'format' => :'format', :'report_type_options' => :'report_type_options', - :'sort' => :'sort' + :'sort' => :'sort', + :'spotlight_params' => :'spotlight_params' } end @@ -70,6 +76,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'columns' => :'Array', :'dashboard_id' => :'String', :'dashboard_visibility' => :'String', :'filter' => :'String', @@ -77,7 +84,8 @@ def self.openapi_types :'filter_ui' => :'String', :'format' => :'String', :'report_type_options' => :'Hash', - :'sort' => :'String' + :'sort' => :'String', + :'spotlight_params' => :'DomainSpotlightParams' } end @@ -102,6 +110,12 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'columns') + if (value = attributes[:'columns']).is_a?(Array) + self.columns = value + end + end + if attributes.key?(:'dashboard_id') self.dashboard_id = attributes[:'dashboard_id'] end @@ -135,12 +149,20 @@ def initialize(attributes = {}) if attributes.key?(:'sort') self.sort = attributes[:'sort'] end + + if attributes.key?(:'spotlight_params') + self.spotlight_params = attributes[:'spotlight_params'] + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @columns.nil? + invalid_properties.push('invalid value for "columns", columns cannot be nil.') + end + if @dashboard_id.nil? invalid_properties.push('invalid value for "dashboard_id", dashboard_id cannot be nil.') end @@ -175,6 +197,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @columns.nil? return false if @dashboard_id.nil? return false if @dashboard_visibility.nil? return false if @filter.nil? @@ -190,6 +213,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + columns == o.columns && dashboard_id == o.dashboard_id && dashboard_visibility == o.dashboard_visibility && filter == o.filter && @@ -197,7 +221,8 @@ def ==(o) filter_ui == o.filter_ui && format == o.format && report_type_options == o.report_type_options && - sort == o.sort + sort == o.sort && + spotlight_params == o.spotlight_params end # @see the `==` method @@ -209,7 +234,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [dashboard_id, dashboard_visibility, filter, filter_display, filter_ui, format, report_type_options, sort].hash + [columns, dashboard_id, dashboard_visibility, filter, filter_display, filter_ui, format, report_type_options, sort, spotlight_params].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_request.rb b/lib/crimson-falcon/models/domain_request.rb new file mode 100644 index 00000000..58095909 --- /dev/null +++ b/lib/crimson-falcon/models/domain_request.rb @@ -0,0 +1,239 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainRequest + attr_accessor :description + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'description' => :'description' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'description' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @description.nil? + invalid_properties.push('invalid value for "description", description cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @description.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + description == o.description + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [description].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_rule_meta_info.rb b/lib/crimson-falcon/models/domain_rule_meta_info.rb index 6491f3f3..eecbd5b7 100644 --- a/lib/crimson-falcon/models/domain_rule_meta_info.rb +++ b/lib/crimson-falcon/models/domain_rule_meta_info.rb @@ -67,7 +67,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'pagination' => :'MsaspecPaging', + :'pagination' => :'MsaPaging', :'powered_by' => :'String', :'query_time' => :'Float', :'quota' => :'DomainRuleQuota', diff --git a/lib/crimson-falcon/models/domain_rules_response.rb b/lib/crimson-falcon/models/domain_rules_response.rb index b91eaeac..c7e035bd 100644 --- a/lib/crimson-falcon/models/domain_rules_response.rb +++ b/lib/crimson-falcon/models/domain_rules_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_scan.rb b/lib/crimson-falcon/models/domain_scan.rb index 62104e9a..3ef9c4ec 100644 --- a/lib/crimson-falcon/models/domain_scan.rb +++ b/lib/crimson-falcon/models/domain_scan.rb @@ -70,8 +70,6 @@ class DomainScan attr_accessor :max_duration - attr_accessor :max_file_size - attr_accessor :metadata attr_accessor :missing_host_count @@ -88,6 +86,8 @@ class DomainScan attr_accessor :quarantine + attr_accessor :rollup_version + attr_accessor :scan_completed_on attr_accessor :scan_exclusions @@ -132,7 +132,6 @@ def self.attribute_map :'initiated_from' => :'initiated_from', :'last_updated' => :'last_updated', :'max_duration' => :'max_duration', - :'max_file_size' => :'max_file_size', :'metadata' => :'metadata', :'missing_host_count' => :'missing_host_count', :'not_started_host_count' => :'not_started_host_count', @@ -141,6 +140,7 @@ def self.attribute_map :'preemption_priority' => :'preemption_priority', :'profile_id' => :'profile_id', :'quarantine' => :'quarantine', + :'rollup_version' => :'rollup_version', :'scan_completed_on' => :'scan_completed_on', :'scan_exclusions' => :'scan_exclusions', :'scan_inclusions' => :'scan_inclusions', @@ -182,7 +182,6 @@ def self.openapi_types :'initiated_from' => :'String', :'last_updated' => :'Time', :'max_duration' => :'Integer', - :'max_file_size' => :'Integer', :'metadata' => :'Array', :'missing_host_count' => :'Integer', :'not_started_host_count' => :'Integer', @@ -191,6 +190,7 @@ def self.openapi_types :'preemption_priority' => :'Integer', :'profile_id' => :'String', :'quarantine' => :'Boolean', + :'rollup_version' => :'Integer', :'scan_completed_on' => :'Time', :'scan_exclusions' => :'Array', :'scan_inclusions' => :'Array', @@ -308,10 +308,6 @@ def initialize(attributes = {}) self.max_duration = attributes[:'max_duration'] end - if attributes.key?(:'max_file_size') - self.max_file_size = attributes[:'max_file_size'] - end - if attributes.key?(:'metadata') if (value = attributes[:'metadata']).is_a?(Array) self.metadata = value @@ -348,6 +344,10 @@ def initialize(attributes = {}) self.quarantine = attributes[:'quarantine'] end + if attributes.key?(:'rollup_version') + self.rollup_version = attributes[:'rollup_version'] + end + if attributes.key?(:'scan_completed_on') self.scan_completed_on = attributes[:'scan_completed_on'] end @@ -439,7 +439,6 @@ def ==(o) initiated_from == o.initiated_from && last_updated == o.last_updated && max_duration == o.max_duration && - max_file_size == o.max_file_size && metadata == o.metadata && missing_host_count == o.missing_host_count && not_started_host_count == o.not_started_host_count && @@ -448,6 +447,7 @@ def ==(o) preemption_priority == o.preemption_priority && profile_id == o.profile_id && quarantine == o.quarantine && + rollup_version == o.rollup_version && scan_completed_on == o.scan_completed_on && scan_exclusions == o.scan_exclusions && scan_inclusions == o.scan_inclusions && @@ -470,7 +470,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [affected_hosts_count, cid, cloud_ml_level_detection, cloud_ml_level_prevention, completed_host_count, cpu_priority, created_by, created_on, description, endpoint_notification, file_paths, filecount, host_groups, hosts, id, incomplete_host_count, initiated_from, last_updated, max_duration, max_file_size, metadata, missing_host_count, not_started_host_count, pause_duration, policy_setting, preemption_priority, profile_id, quarantine, scan_completed_on, scan_exclusions, scan_inclusions, scan_scheduled_on, scan_started_on, sensor_ml_level_detection, sensor_ml_level_prevention, severity, started_host_count, status, targeted_host_count].hash + [affected_hosts_count, cid, cloud_ml_level_detection, cloud_ml_level_prevention, completed_host_count, cpu_priority, created_by, created_on, description, endpoint_notification, file_paths, filecount, host_groups, hosts, id, incomplete_host_count, initiated_from, last_updated, max_duration, metadata, missing_host_count, not_started_host_count, pause_duration, policy_setting, preemption_priority, profile_id, quarantine, rollup_version, scan_completed_on, scan_exclusions, scan_inclusions, scan_scheduled_on, scan_started_on, sensor_ml_level_detection, sensor_ml_level_prevention, severity, started_host_count, status, targeted_host_count].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_scan_metadata.rb b/lib/crimson-falcon/models/domain_scan_metadata.rb index 222a45dc..397f31da 100644 --- a/lib/crimson-falcon/models/domain_scan_metadata.rb +++ b/lib/crimson-falcon/models/domain_scan_metadata.rb @@ -38,6 +38,8 @@ class DomainScanMetadata attr_accessor :host_id + attr_accessor :host_name + attr_accessor :host_scan_id attr_accessor :last_updated @@ -58,6 +60,7 @@ def self.attribute_map :'completed_on' => :'completed_on', :'filecount' => :'filecount', :'host_id' => :'host_id', + :'host_name' => :'host_name', :'host_scan_id' => :'host_scan_id', :'last_updated' => :'last_updated', :'scan_control_reason' => :'scan_control_reason', @@ -79,6 +82,7 @@ def self.openapi_types :'completed_on' => :'Time', :'filecount' => :'DomainFileCount', :'host_id' => :'String', + :'host_name' => :'String', :'host_scan_id' => :'String', :'last_updated' => :'Time', :'scan_control_reason' => :'String', @@ -122,6 +126,10 @@ def initialize(attributes = {}) self.host_id = attributes[:'host_id'] end + if attributes.key?(:'host_name') + self.host_name = attributes[:'host_name'] + end + if attributes.key?(:'host_scan_id') self.host_scan_id = attributes[:'host_scan_id'] end @@ -177,6 +185,7 @@ def ==(o) completed_on == o.completed_on && filecount == o.filecount && host_id == o.host_id && + host_name == o.host_name && host_scan_id == o.host_scan_id && last_updated == o.last_updated && scan_control_reason == o.scan_control_reason && @@ -195,7 +204,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [completed_on, filecount, host_id, host_scan_id, last_updated, scan_control_reason, scan_host_metadata_id, severity, started_on, status].hash + [completed_on, filecount, host_id, host_name, host_scan_id, last_updated, scan_control_reason, scan_host_metadata_id, severity, started_on, status].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_scan_v2.rb b/lib/crimson-falcon/models/domain_scan_v2.rb index 09338628..37ede6f9 100644 --- a/lib/crimson-falcon/models/domain_scan_v2.rb +++ b/lib/crimson-falcon/models/domain_scan_v2.rb @@ -70,8 +70,6 @@ class DomainScanV2 attr_accessor :max_duration - attr_accessor :max_file_size - attr_accessor :metadata attr_accessor :missing_host_count @@ -130,7 +128,6 @@ def self.attribute_map :'initiated_from' => :'initiated_from', :'last_updated' => :'last_updated', :'max_duration' => :'max_duration', - :'max_file_size' => :'max_file_size', :'metadata' => :'metadata', :'missing_host_count' => :'missing_host_count', :'not_started_host_count' => :'not_started_host_count', @@ -179,7 +176,6 @@ def self.openapi_types :'initiated_from' => :'String', :'last_updated' => :'Time', :'max_duration' => :'Integer', - :'max_file_size' => :'Integer', :'metadata' => :'Array', :'missing_host_count' => :'Integer', :'not_started_host_count' => :'Integer', @@ -304,10 +300,6 @@ def initialize(attributes = {}) self.max_duration = attributes[:'max_duration'] end - if attributes.key?(:'max_file_size') - self.max_file_size = attributes[:'max_file_size'] - end - if attributes.key?(:'metadata') if (value = attributes[:'metadata']).is_a?(Array) self.metadata = value @@ -466,7 +458,6 @@ def ==(o) initiated_from == o.initiated_from && last_updated == o.last_updated && max_duration == o.max_duration && - max_file_size == o.max_file_size && metadata == o.metadata && missing_host_count == o.missing_host_count && not_started_host_count == o.not_started_host_count && @@ -496,7 +487,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [affected_hosts_count, cid, cloud_ml_level_detection, cloud_ml_level_prevention, completed_host_count, cpu_priority, created_by, created_on, description, endpoint_notification, file_paths, filecount, host_groups, hosts, id, incomplete_host_count, initiated_from, last_updated, max_duration, max_file_size, metadata, missing_host_count, not_started_host_count, pause_duration, policy_setting, preemption_priority, profile_id, quarantine, scan_completed_on, scan_exclusions, scan_inclusions, scan_started_on, sensor_ml_level_detection, sensor_ml_level_prevention, severity, started_host_count, status, targeted_host_count].hash + [affected_hosts_count, cid, cloud_ml_level_detection, cloud_ml_level_prevention, completed_host_count, cpu_priority, created_by, created_on, description, endpoint_notification, file_paths, filecount, host_groups, hosts, id, incomplete_host_count, initiated_from, last_updated, max_duration, metadata, missing_host_count, not_started_host_count, pause_duration, policy_setting, preemption_priority, profile_id, quarantine, scan_completed_on, scan_exclusions, scan_inclusions, scan_started_on, sensor_ml_level_detection, sensor_ml_level_prevention, severity, started_host_count, status, targeted_host_count].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_schedule.rb b/lib/crimson-falcon/models/domain_schedule.rb index 60d88b2c..ff849805 100644 --- a/lib/crimson-falcon/models/domain_schedule.rb +++ b/lib/crimson-falcon/models/domain_schedule.rb @@ -32,18 +32,18 @@ module Falcon class DomainSchedule - attr_accessor :ignored_by_channelfile + attr_accessor :can_stagger - attr_accessor :interval + attr_accessor :definition - attr_accessor :start_timestamp + attr_accessor :display # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'ignored_by_channelfile' => :'ignored_by_channelfile', - :'interval' => :'interval', - :'start_timestamp' => :'start_timestamp' + :'can_stagger' => :'can_stagger', + :'definition' => :'definition', + :'display' => :'display' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'ignored_by_channelfile' => :'Boolean', - :'interval' => :'Integer', - :'start_timestamp' => :'String' + :'can_stagger' => :'Boolean', + :'definition' => :'String', + :'display' => :'String' } end @@ -82,16 +82,16 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'ignored_by_channelfile') - self.ignored_by_channelfile = attributes[:'ignored_by_channelfile'] + if attributes.key?(:'can_stagger') + self.can_stagger = attributes[:'can_stagger'] end - if attributes.key?(:'interval') - self.interval = attributes[:'interval'] + if attributes.key?(:'definition') + self.definition = attributes[:'definition'] end - if attributes.key?(:'start_timestamp') - self.start_timestamp = attributes[:'start_timestamp'] + if attributes.key?(:'display') + self.display = attributes[:'display'] end end @@ -99,12 +99,27 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @can_stagger.nil? + invalid_properties.push('invalid value for "can_stagger", can_stagger cannot be nil.') + end + + if @definition.nil? + invalid_properties.push('invalid value for "definition", definition cannot be nil.') + end + + if @display.nil? + invalid_properties.push('invalid value for "display", display cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @can_stagger.nil? + return false if @definition.nil? + return false if @display.nil? true end @@ -113,9 +128,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - ignored_by_channelfile == o.ignored_by_channelfile && - interval == o.interval && - start_timestamp == o.start_timestamp + can_stagger == o.can_stagger && + definition == o.definition && + display == o.display end # @see the `==` method @@ -127,7 +142,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [ignored_by_channelfile, interval, start_timestamp].hash + [can_stagger, definition, display].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_scheduled_report_v1.rb b/lib/crimson-falcon/models/domain_scheduled_report_v1.rb index db818030..825a57c9 100644 --- a/lib/crimson-falcon/models/domain_scheduled_report_v1.rb +++ b/lib/crimson-falcon/models/domain_scheduled_report_v1.rb @@ -54,6 +54,8 @@ class DomainScheduledReportV1 attr_accessor :notifications + attr_accessor :owned_by_cs + attr_accessor :report_metadata attr_accessor :report_params @@ -92,6 +94,7 @@ def self.attribute_map :'name' => :'name', :'next_execution_on' => :'next_execution_on', :'notifications' => :'notifications', + :'owned_by_cs' => :'owned_by_cs', :'report_metadata' => :'report_metadata', :'report_params' => :'report_params', :'schedule' => :'schedule', @@ -126,6 +129,7 @@ def self.openapi_types :'name' => :'String', :'next_execution_on' => :'Time', :'notifications' => :'Array', + :'owned_by_cs' => :'Boolean', :'report_metadata' => :'DomainReportMetadata', :'report_params' => :'DomainReportParams', :'schedule' => :'DomainSchedule', @@ -208,6 +212,10 @@ def initialize(attributes = {}) end end + if attributes.key?(:'owned_by_cs') + self.owned_by_cs = attributes[:'owned_by_cs'] + end + if attributes.key?(:'report_metadata') self.report_metadata = attributes[:'report_metadata'] end @@ -358,6 +366,7 @@ def ==(o) name == o.name && next_execution_on == o.next_execution_on && notifications == o.notifications && + owned_by_cs == o.owned_by_cs && report_metadata == o.report_metadata && report_params == o.report_params && schedule == o.schedule && @@ -381,7 +390,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [can_write, created_on, customer_id, description, expiration_on, id, last_execution, last_updated_on, name, next_execution_on, notifications, report_metadata, report_params, schedule, shared_with, start_on, status, stop_on, tracking, trigger_reference, type, user_id, user_uuid].hash + [can_write, created_on, customer_id, description, expiration_on, id, last_execution, last_updated_on, name, next_execution_on, notifications, owned_by_cs, report_metadata, report_params, schedule, shared_with, start_on, status, stop_on, tracking, trigger_reference, type, user_id, user_uuid].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_scheduled_reports_result_v1.rb b/lib/crimson-falcon/models/domain_scheduled_reports_result_v1.rb index 15a1170f..8e517516 100644 --- a/lib/crimson-falcon/models/domain_scheduled_reports_result_v1.rb +++ b/lib/crimson-falcon/models/domain_scheduled_reports_result_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_sensor_installer_v2.rb b/lib/crimson-falcon/models/domain_sensor_installer_v2.rb new file mode 100644 index 00000000..c6ea3795 --- /dev/null +++ b/lib/crimson-falcon/models/domain_sensor_installer_v2.rb @@ -0,0 +1,405 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainSensorInstallerV2 + # architectures supported + attr_accessor :architectures + + # installer description + attr_accessor :description + + # file size + attr_accessor :file_size + + # file type + attr_accessor :file_type + + # ltv expiry date + attr_accessor :ltv_expiry_date + + # ltv promoted date + attr_accessor :ltv_promoted_date + + # installer file name + attr_accessor :name + + attr_accessor :os + + attr_accessor :os_version + + # supported platform + attr_accessor :platform + + # release date + attr_accessor :release_date + + # sha256 + attr_accessor :sha256 + + # version of the installer + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'architectures' => :'architectures', + :'description' => :'description', + :'file_size' => :'file_size', + :'file_type' => :'file_type', + :'ltv_expiry_date' => :'ltv_expiry_date', + :'ltv_promoted_date' => :'ltv_promoted_date', + :'name' => :'name', + :'os' => :'os', + :'os_version' => :'os_version', + :'platform' => :'platform', + :'release_date' => :'release_date', + :'sha256' => :'sha256', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'architectures' => :'Array', + :'description' => :'String', + :'file_size' => :'Integer', + :'file_type' => :'String', + :'ltv_expiry_date' => :'String', + :'ltv_promoted_date' => :'String', + :'name' => :'String', + :'os' => :'String', + :'os_version' => :'String', + :'platform' => :'String', + :'release_date' => :'Time', + :'sha256' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainSensorInstallerV2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainSensorInstallerV2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'architectures') + if (value = attributes[:'architectures']).is_a?(Array) + self.architectures = value + end + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'file_size') + self.file_size = attributes[:'file_size'] + end + + if attributes.key?(:'file_type') + self.file_type = attributes[:'file_type'] + end + + if attributes.key?(:'ltv_expiry_date') + self.ltv_expiry_date = attributes[:'ltv_expiry_date'] + end + + if attributes.key?(:'ltv_promoted_date') + self.ltv_promoted_date = attributes[:'ltv_promoted_date'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'os') + self.os = attributes[:'os'] + end + + if attributes.key?(:'os_version') + self.os_version = attributes[:'os_version'] + end + + if attributes.key?(:'platform') + self.platform = attributes[:'platform'] + end + + if attributes.key?(:'release_date') + self.release_date = attributes[:'release_date'] + end + + if attributes.key?(:'sha256') + self.sha256 = attributes[:'sha256'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @description.nil? + invalid_properties.push('invalid value for "description", description cannot be nil.') + end + + if @file_size.nil? + invalid_properties.push('invalid value for "file_size", file_size cannot be nil.') + end + + if @file_type.nil? + invalid_properties.push('invalid value for "file_type", file_type cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @os.nil? + invalid_properties.push('invalid value for "os", os cannot be nil.') + end + + if @os_version.nil? + invalid_properties.push('invalid value for "os_version", os_version cannot be nil.') + end + + if @platform.nil? + invalid_properties.push('invalid value for "platform", platform cannot be nil.') + end + + if @release_date.nil? + invalid_properties.push('invalid value for "release_date", release_date cannot be nil.') + end + + if @sha256.nil? + invalid_properties.push('invalid value for "sha256", sha256 cannot be nil.') + end + + if @version.nil? + invalid_properties.push('invalid value for "version", version cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @description.nil? + return false if @file_size.nil? + return false if @file_type.nil? + return false if @name.nil? + return false if @os.nil? + return false if @os_version.nil? + return false if @platform.nil? + return false if @release_date.nil? + return false if @sha256.nil? + return false if @version.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + architectures == o.architectures && + description == o.description && + file_size == o.file_size && + file_type == o.file_type && + ltv_expiry_date == o.ltv_expiry_date && + ltv_promoted_date == o.ltv_promoted_date && + name == o.name && + os == o.os && + os_version == o.os_version && + platform == o.platform && + release_date == o.release_date && + sha256 == o.sha256 && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [architectures, description, file_size, file_type, ltv_expiry_date, ltv_promoted_date, name, os, os_version, platform, release_date, sha256, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_sensor_installers_v1.rb b/lib/crimson-falcon/models/domain_sensor_installers_v1.rb index 93fd2d3d..cd119fad 100644 --- a/lib/crimson-falcon/models/domain_sensor_installers_v1.rb +++ b/lib/crimson-falcon/models/domain_sensor_installers_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_sensor_installers_v2.rb b/lib/crimson-falcon/models/domain_sensor_installers_v2.rb new file mode 100644 index 00000000..e3d7862b --- /dev/null +++ b/lib/crimson-falcon/models/domain_sensor_installers_v2.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainSensorInstallersV2 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainSensorInstallersV2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainSensorInstallersV2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_session_response_wrapper.rb b/lib/crimson-falcon/models/domain_session_response_wrapper.rb index b9f99892..1b018c47 100644 --- a/lib/crimson-falcon/models/domain_session_response_wrapper.rb +++ b/lib/crimson-falcon/models/domain_session_response_wrapper.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_simple_actor.rb b/lib/crimson-falcon/models/domain_simple_actor.rb index a21e0fd1..67aaf986 100644 --- a/lib/crimson-falcon/models/domain_simple_actor.rb +++ b/lib/crimson-falcon/models/domain_simple_actor.rb @@ -64,7 +64,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'entitlements' => :'Array', + :'entitlements' => :'Array', :'id' => :'Integer', :'name' => :'String', :'slug' => :'String', diff --git a/lib/crimson-falcon/models/domain_spapi_combined_vulnerabilities_response.rb b/lib/crimson-falcon/models/domain_spapi_combined_vulnerabilities_response.rb index 20652701..f49432ea 100644 --- a/lib/crimson-falcon/models/domain_spapi_combined_vulnerabilities_response.rb +++ b/lib/crimson-falcon/models/domain_spapi_combined_vulnerabilities_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DomainSPAPIQueryMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/domain_spapi_evaluation_logic_combined_response_v1.rb b/lib/crimson-falcon/models/domain_spapi_evaluation_logic_combined_response_v1.rb index b4e3a7c9..1c871dfe 100644 --- a/lib/crimson-falcon/models/domain_spapi_evaluation_logic_combined_response_v1.rb +++ b/lib/crimson-falcon/models/domain_spapi_evaluation_logic_combined_response_v1.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DomainSPAPIQueryMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/domain_spapi_evaluation_logic_entities_response_v1.rb b/lib/crimson-falcon/models/domain_spapi_evaluation_logic_entities_response_v1.rb index fc2a366b..224c29f8 100644 --- a/lib/crimson-falcon/models/domain_spapi_evaluation_logic_entities_response_v1.rb +++ b/lib/crimson-falcon/models/domain_spapi_evaluation_logic_entities_response_v1.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DomainMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/domain_spapi_query_response.rb b/lib/crimson-falcon/models/domain_spapi_query_response.rb index 9d5bbf40..14e97e3a 100644 --- a/lib/crimson-falcon/models/domain_spapi_query_response.rb +++ b/lib/crimson-falcon/models/domain_spapi_query_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DomainSPAPIQueryMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/domain_spapi_remediation_entities_response_v2.rb b/lib/crimson-falcon/models/domain_spapi_remediation_entities_response_v2.rb index 05e6af73..4d17d247 100644 --- a/lib/crimson-falcon/models/domain_spapi_remediation_entities_response_v2.rb +++ b/lib/crimson-falcon/models/domain_spapi_remediation_entities_response_v2.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_spapi_vulnerabilities_entities_response_v2.rb b/lib/crimson-falcon/models/domain_spapi_vulnerabilities_entities_response_v2.rb index e36b0b29..5108f496 100644 --- a/lib/crimson-falcon/models/domain_spapi_vulnerabilities_entities_response_v2.rb +++ b/lib/crimson-falcon/models/domain_spapi_vulnerabilities_entities_response_v2.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'DomainMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/domain_spotlight_params.rb b/lib/crimson-falcon/models/domain_spotlight_params.rb new file mode 100644 index 00000000..326e78ad --- /dev/null +++ b/lib/crimson-falcon/models/domain_spotlight_params.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainSpotlightParams + attr_accessor :template_fields + + attr_accessor :template_name + + attr_accessor :top_n_results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'template_fields' => :'template_fields', + :'template_name' => :'template_name', + :'top_n_results' => :'top_n_results' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'template_fields' => :'Array', + :'template_name' => :'String', + :'top_n_results' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainSpotlightParams` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainSpotlightParams`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'template_fields') + if (value = attributes[:'template_fields']).is_a?(Array) + self.template_fields = value + end + end + + if attributes.key?(:'template_name') + self.template_name = attributes[:'template_name'] + end + + if attributes.key?(:'top_n_results') + self.top_n_results = attributes[:'top_n_results'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @template_fields.nil? + invalid_properties.push('invalid value for "template_fields", template_fields cannot be nil.') + end + + if @template_name.nil? + invalid_properties.push('invalid value for "template_name", template_name cannot be nil.') + end + + if @top_n_results.nil? + invalid_properties.push('invalid value for "top_n_results", top_n_results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @template_fields.nil? + return false if @template_name.nil? + return false if @top_n_results.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + template_fields == o.template_fields && + template_name == o.template_name && + top_n_results == o.top_n_results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [template_fields, template_name, top_n_results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_status_response_wrapper.rb b/lib/crimson-falcon/models/domain_status_response_wrapper.rb index edfd5b1a..252dadb9 100644 --- a/lib/crimson-falcon/models/domain_status_response_wrapper.rb +++ b/lib/crimson-falcon/models/domain_status_response_wrapper.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_update_rule_request_v1.rb b/lib/crimson-falcon/models/domain_update_rule_request_v1.rb index 54d5c84d..fb015b7c 100644 --- a/lib/crimson-falcon/models/domain_update_rule_request_v1.rb +++ b/lib/crimson-falcon/models/domain_update_rule_request_v1.rb @@ -32,6 +32,9 @@ module Falcon class DomainUpdateRuleRequestV1 + # Monitor only for breach data. Must be accompanied by breach_monitoring_enabled:true. + attr_accessor :breach_monitor_only + # Whether to monitor for breach data. Available only for `Company Domains` and `Email addresses` rule topics. When enabled, ownership of the monitored domains or emails is required attr_accessor :breach_monitoring_enabled @@ -56,6 +59,7 @@ class DomainUpdateRuleRequestV1 # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'breach_monitor_only' => :'breach_monitor_only', :'breach_monitoring_enabled' => :'breach_monitoring_enabled', :'filter' => :'filter', :'id' => :'id', @@ -74,6 +78,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'breach_monitor_only' => :'Boolean', :'breach_monitoring_enabled' => :'Boolean', :'filter' => :'String', :'id' => :'String', @@ -105,6 +110,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'breach_monitor_only') + self.breach_monitor_only = attributes[:'breach_monitor_only'] + end + if attributes.key?(:'breach_monitoring_enabled') self.breach_monitoring_enabled = attributes[:'breach_monitoring_enabled'] end @@ -138,6 +147,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @breach_monitor_only.nil? + invalid_properties.push('invalid value for "breach_monitor_only", breach_monitor_only cannot be nil.') + end + if @breach_monitoring_enabled.nil? invalid_properties.push('invalid value for "breach_monitoring_enabled", breach_monitoring_enabled cannot be nil.') end @@ -172,6 +185,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @breach_monitor_only.nil? return false if @breach_monitoring_enabled.nil? return false if @filter.nil? return false if @id.nil? @@ -187,6 +201,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + breach_monitor_only == o.breach_monitor_only && breach_monitoring_enabled == o.breach_monitoring_enabled && filter == o.filter && id == o.id && @@ -205,7 +220,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [breach_monitoring_enabled, filter, id, name, permissions, priority, substring_matching_enabled].hash + [breach_monitor_only, breach_monitoring_enabled, filter, id, name, permissions, priority, substring_matching_enabled].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_user.rb b/lib/crimson-falcon/models/domain_user.rb index 9e063e1c..08b82c41 100644 --- a/lib/crimson-falcon/models/domain_user.rb +++ b/lib/crimson-falcon/models/domain_user.rb @@ -34,21 +34,33 @@ module Falcon class DomainUser attr_accessor :cid - attr_accessor :email + attr_accessor :created_at attr_accessor :first_name + attr_accessor :last_login_at + attr_accessor :last_name + attr_accessor :status + + attr_accessor :uid + + attr_accessor :updated_at + attr_accessor :uuid # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'cid' => :'cid', - :'email' => :'email', - :'first_name' => :'firstName', - :'last_name' => :'lastName', + :'created_at' => :'created_at', + :'first_name' => :'first_name', + :'last_login_at' => :'last_login_at', + :'last_name' => :'last_name', + :'status' => :'status', + :'uid' => :'uid', + :'updated_at' => :'updated_at', :'uuid' => :'uuid' } end @@ -62,9 +74,13 @@ def self.acceptable_attributes def self.openapi_types { :'cid' => :'String', - :'email' => :'String', + :'created_at' => :'Time', :'first_name' => :'String', + :'last_login_at' => :'Time', :'last_name' => :'String', + :'status' => :'String', + :'uid' => :'String', + :'updated_at' => :'Time', :'uuid' => :'String' } end @@ -94,18 +110,34 @@ def initialize(attributes = {}) self.cid = attributes[:'cid'] end - if attributes.key?(:'email') - self.email = attributes[:'email'] + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] end if attributes.key?(:'first_name') self.first_name = attributes[:'first_name'] end + if attributes.key?(:'last_login_at') + self.last_login_at = attributes[:'last_login_at'] + end + if attributes.key?(:'last_name') self.last_name = attributes[:'last_name'] end + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'uid') + self.uid = attributes[:'uid'] + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + end + if attributes.key?(:'uuid') self.uuid = attributes[:'uuid'] end @@ -130,9 +162,13 @@ def ==(o) return true if self.equal?(o) self.class == o.class && cid == o.cid && - email == o.email && + created_at == o.created_at && first_name == o.first_name && + last_login_at == o.last_login_at && last_name == o.last_name && + status == o.status && + uid == o.uid && + updated_at == o.updated_at && uuid == o.uuid end @@ -145,7 +181,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [cid, email, first_name, last_name, uuid].hash + [cid, created_at, first_name, last_login_at, last_name, status, uid, updated_at, uuid].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_user_group_members_response_v1.rb b/lib/crimson-falcon/models/domain_user_group_members_response_v1.rb index 5c6a707a..4ef00dbc 100644 --- a/lib/crimson-falcon/models/domain_user_group_members_response_v1.rb +++ b/lib/crimson-falcon/models/domain_user_group_members_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_user_groups_response_v1.rb b/lib/crimson-falcon/models/domain_user_groups_response_v1.rb index 41f57592..ce91e5e3 100644 --- a/lib/crimson-falcon/models/domain_user_groups_response_v1.rb +++ b/lib/crimson-falcon/models/domain_user_groups_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_user_metadata.rb b/lib/crimson-falcon/models/domain_user_metadata.rb index c1891f48..6f9139f5 100644 --- a/lib/crimson-falcon/models/domain_user_metadata.rb +++ b/lib/crimson-falcon/models/domain_user_metadata.rb @@ -38,6 +38,8 @@ class DomainUserMetadata attr_accessor :last_name + attr_accessor :status + attr_accessor :uid attr_accessor :uuid @@ -48,6 +50,7 @@ def self.attribute_map :'customer' => :'customer', :'first_name' => :'firstName', :'last_name' => :'lastName', + :'status' => :'status', :'uid' => :'uid', :'uuid' => :'uuid' } @@ -64,6 +67,7 @@ def self.openapi_types :'customer' => :'String', :'first_name' => :'String', :'last_name' => :'String', + :'status' => :'String', :'uid' => :'String', :'uuid' => :'String' } @@ -102,6 +106,10 @@ def initialize(attributes = {}) self.last_name = attributes[:'last_name'] end + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + if attributes.key?(:'uid') self.uid = attributes[:'uid'] end @@ -142,6 +150,7 @@ def ==(o) customer == o.customer && first_name == o.first_name && last_name == o.last_name && + status == o.status && uid == o.uid && uuid == o.uuid end @@ -155,7 +164,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [customer, first_name, last_name, uid, uuid].hash + [customer, first_name, last_name, status, uid, uuid].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_vuln.rb b/lib/crimson-falcon/models/domain_vuln.rb new file mode 100644 index 00000000..edb27921 --- /dev/null +++ b/lib/crimson-falcon/models/domain_vuln.rb @@ -0,0 +1,240 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class DomainVuln + # CVE ID number with four or more digits in the sequence number portion of the ID, examples: CVE-1999-0067, CVE-2014-12345, CVE-2016-7654321 + attr_accessor :cve + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cve' => :'cve' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cve' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainVuln` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainVuln`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cve') + self.cve = attributes[:'cve'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cve.nil? + invalid_properties.push('invalid value for "cve", cve cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cve.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cve == o.cve + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cve].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_vulnerability.rb b/lib/crimson-falcon/models/domain_vulnerability.rb index 060d2a9f..16b4f5d0 100644 --- a/lib/crimson-falcon/models/domain_vulnerability.rb +++ b/lib/crimson-falcon/models/domain_vulnerability.rb @@ -32,65 +32,21 @@ module Falcon class DomainVulnerability - # List of products affected by vulnerability, specifying product and vendor - attr_accessor :affected_products + attr_accessor :evaluated_affected_assets_count - # Vulnerability community identifiers, which is usually populated for the most popular vulnerabilities - attr_accessor :community_identifiers - - # CVE ID number with four or more digits in the sequence number portion of the ID, examples: CVE-1999-0067, CVE-2014-12345, CVE-2016-7654321 - attr_accessor :cve - - # Vulnerability severity score, according to Common Vulnerability Scoring System V2 - attr_accessor :cvss_v2_base - - # Vulnerability severity score, according to Common Vulnerability Scoring System V3 - attr_accessor :cvss_v3_base - - # Text description of the vulnerability - attr_accessor :description - - # Exploit status of vulnerability, one of: unproven, available, easilyaccessible, activelyused attr_accessor :exploit_status - # legacy field, not populated - attr_accessor :name - - # Date when the vulnerability was published - attr_accessor :publish_date - - # Threat actors that exploits vulnerability - attr_accessor :related_actors - - # Related finished Intelligence Reports to vulnerability, which usually describes the exploitation or attacks using those - attr_accessor :related_reports - - # Malware Families (threats) that are known to be related to the vulnerability - attr_accessor :related_threats - - # Severity of the vulnerability, can be empty or one of: LOW, MEDIUM, HIGH, CRITICAL - attr_accessor :severity + attr_accessor :exprt_rating - # Date when the vulnerability was last time updated in the CrowdStrike's database - attr_accessor :updated_timestamp + attr_accessor :total_affected_assets # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'affected_products' => :'affected_products', - :'community_identifiers' => :'community_identifiers', - :'cve' => :'cve', - :'cvss_v2_base' => :'cvss_v2_base', - :'cvss_v3_base' => :'cvss_v3_base', - :'description' => :'description', - :'exploit_status' => :'exploit_status', - :'name' => :'name', - :'publish_date' => :'publish_date', - :'related_actors' => :'related_actors', - :'related_reports' => :'related_reports', - :'related_threats' => :'related_threats', - :'severity' => :'severity', - :'updated_timestamp' => :'updated_timestamp' + :'evaluated_affected_assets_count' => :'evaluatedAffectedAssetsCount', + :'exploit_status' => :'exploitStatus', + :'exprt_rating' => :'exprt_rating', + :'total_affected_assets' => :'totalAffectedAssets' } end @@ -102,20 +58,10 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'affected_products' => :'Array', - :'community_identifiers' => :'Array', - :'cve' => :'String', - :'cvss_v2_base' => :'String', - :'cvss_v3_base' => :'String', - :'description' => :'String', - :'exploit_status' => :'String', - :'name' => :'String', - :'publish_date' => :'String', - :'related_actors' => :'Array', - :'related_reports' => :'Array', - :'related_threats' => :'Array', - :'severity' => :'String', - :'updated_timestamp' => :'String' + :'evaluated_affected_assets_count' => :'Float', + :'exploit_status' => :'Float', + :'exprt_rating' => :'String', + :'total_affected_assets' => :'Float' } end @@ -140,79 +86,41 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'affected_products') - if (value = attributes[:'affected_products']).is_a?(Array) - self.affected_products = value - end - end - - if attributes.key?(:'community_identifiers') - if (value = attributes[:'community_identifiers']).is_a?(Array) - self.community_identifiers = value - end - end - - if attributes.key?(:'cve') - self.cve = attributes[:'cve'] - end - - if attributes.key?(:'cvss_v2_base') - self.cvss_v2_base = attributes[:'cvss_v2_base'] - end - - if attributes.key?(:'cvss_v3_base') - self.cvss_v3_base = attributes[:'cvss_v3_base'] - end - - if attributes.key?(:'description') - self.description = attributes[:'description'] + if attributes.key?(:'evaluated_affected_assets_count') + self.evaluated_affected_assets_count = attributes[:'evaluated_affected_assets_count'] end if attributes.key?(:'exploit_status') self.exploit_status = attributes[:'exploit_status'] end - if attributes.key?(:'name') - self.name = attributes[:'name'] - end - - if attributes.key?(:'publish_date') - self.publish_date = attributes[:'publish_date'] - end - - if attributes.key?(:'related_actors') - if (value = attributes[:'related_actors']).is_a?(Array) - self.related_actors = value - end + if attributes.key?(:'exprt_rating') + self.exprt_rating = attributes[:'exprt_rating'] end - if attributes.key?(:'related_reports') - if (value = attributes[:'related_reports']).is_a?(Array) - self.related_reports = value - end + if attributes.key?(:'total_affected_assets') + self.total_affected_assets = attributes[:'total_affected_assets'] end + end - if attributes.key?(:'related_threats') - if (value = attributes[:'related_threats']).is_a?(Array) - self.related_threats = value - end + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @evaluated_affected_assets_count.nil? + invalid_properties.push('invalid value for "evaluated_affected_assets_count", evaluated_affected_assets_count cannot be nil.') end - if attributes.key?(:'severity') - self.severity = attributes[:'severity'] + if @exploit_status.nil? + invalid_properties.push('invalid value for "exploit_status", exploit_status cannot be nil.') end - if attributes.key?(:'updated_timestamp') - self.updated_timestamp = attributes[:'updated_timestamp'] + if @exprt_rating.nil? + invalid_properties.push('invalid value for "exprt_rating", exprt_rating cannot be nil.') end - end - # Show invalid properties with the reasons. Usually used together with valid? - # @return Array for valid properties with the reasons - def list_invalid_properties - invalid_properties = Array.new - if @cve.nil? - invalid_properties.push('invalid value for "cve", cve cannot be nil.') + if @total_affected_assets.nil? + invalid_properties.push('invalid value for "total_affected_assets", total_affected_assets cannot be nil.') end invalid_properties @@ -221,7 +129,10 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @cve.nil? + return false if @evaluated_affected_assets_count.nil? + return false if @exploit_status.nil? + return false if @exprt_rating.nil? + return false if @total_affected_assets.nil? true end @@ -230,20 +141,10 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - affected_products == o.affected_products && - community_identifiers == o.community_identifiers && - cve == o.cve && - cvss_v2_base == o.cvss_v2_base && - cvss_v3_base == o.cvss_v3_base && - description == o.description && + evaluated_affected_assets_count == o.evaluated_affected_assets_count && exploit_status == o.exploit_status && - name == o.name && - publish_date == o.publish_date && - related_actors == o.related_actors && - related_reports == o.related_reports && - related_threats == o.related_threats && - severity == o.severity && - updated_timestamp == o.updated_timestamp + exprt_rating == o.exprt_rating && + total_affected_assets == o.total_affected_assets end # @see the `==` method @@ -255,7 +156,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [affected_products, community_identifiers, cve, cvss_v2_base, cvss_v3_base, description, exploit_status, name, publish_date, related_actors, related_reports, related_threats, severity, updated_timestamp].hash + [evaluated_affected_assets_count, exploit_status, exprt_rating, total_affected_assets].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_vulnerability_response.rb b/lib/crimson-falcon/models/domain_vulnerability_response.rb index 48ff3676..5ea173de 100644 --- a/lib/crimson-falcon/models/domain_vulnerability_response.rb +++ b/lib/crimson-falcon/models/domain_vulnerability_response.rb @@ -57,8 +57,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/domain_xdr_params.rb b/lib/crimson-falcon/models/domain_xdr_params.rb index 20c8ad2f..2de66895 100644 --- a/lib/crimson-falcon/models/domain_xdr_params.rb +++ b/lib/crimson-falcon/models/domain_xdr_params.rb @@ -36,10 +36,14 @@ class DomainXDRParams attr_accessor :assign_to_uuid + attr_accessor :author + attr_accessor :comment attr_accessor :execution_offset + attr_accessor :origin + attr_accessor :severity attr_accessor :status @@ -50,6 +54,10 @@ class DomainXDRParams attr_accessor :technique + attr_accessor :template_id + + attr_accessor :trigger_mode + attr_accessor :type # Attribute mapping from ruby-style variable name to JSON key. @@ -57,13 +65,17 @@ def self.attribute_map { :'assign_to' => :'assign_to', :'assign_to_uuid' => :'assign_to_uuid', + :'author' => :'author', :'comment' => :'comment', :'execution_offset' => :'execution_offset', + :'origin' => :'origin', :'severity' => :'severity', :'status' => :'status', :'tactic' => :'tactic', :'tags' => :'tags', :'technique' => :'technique', + :'template_id' => :'template_id', + :'trigger_mode' => :'trigger_mode', :'type' => :'type' } end @@ -78,13 +90,17 @@ def self.openapi_types { :'assign_to' => :'String', :'assign_to_uuid' => :'String', + :'author' => :'String', :'comment' => :'String', :'execution_offset' => :'String', + :'origin' => :'String', :'severity' => :'Integer', :'status' => :'String', :'tactic' => :'String', :'tags' => :'Array', :'technique' => :'String', + :'template_id' => :'String', + :'trigger_mode' => :'String', :'type' => :'String' } end @@ -118,6 +134,10 @@ def initialize(attributes = {}) self.assign_to_uuid = attributes[:'assign_to_uuid'] end + if attributes.key?(:'author') + self.author = attributes[:'author'] + end + if attributes.key?(:'comment') self.comment = attributes[:'comment'] end @@ -126,6 +146,10 @@ def initialize(attributes = {}) self.execution_offset = attributes[:'execution_offset'] end + if attributes.key?(:'origin') + self.origin = attributes[:'origin'] + end + if attributes.key?(:'severity') self.severity = attributes[:'severity'] end @@ -148,6 +172,14 @@ def initialize(attributes = {}) self.technique = attributes[:'technique'] end + if attributes.key?(:'template_id') + self.template_id = attributes[:'template_id'] + end + + if attributes.key?(:'trigger_mode') + self.trigger_mode = attributes[:'trigger_mode'] + end + if attributes.key?(:'type') self.type = attributes[:'type'] end @@ -165,6 +197,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "assign_to_uuid", assign_to_uuid cannot be nil.') end + if @author.nil? + invalid_properties.push('invalid value for "author", author cannot be nil.') + end + if @comment.nil? invalid_properties.push('invalid value for "comment", comment cannot be nil.') end @@ -173,6 +209,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "execution_offset", execution_offset cannot be nil.') end + if @origin.nil? + invalid_properties.push('invalid value for "origin", origin cannot be nil.') + end + if @severity.nil? invalid_properties.push('invalid value for "severity", severity cannot be nil.') end @@ -193,6 +233,14 @@ def list_invalid_properties invalid_properties.push('invalid value for "technique", technique cannot be nil.') end + if @template_id.nil? + invalid_properties.push('invalid value for "template_id", template_id cannot be nil.') + end + + if @trigger_mode.nil? + invalid_properties.push('invalid value for "trigger_mode", trigger_mode cannot be nil.') + end + if @type.nil? invalid_properties.push('invalid value for "type", type cannot be nil.') end @@ -205,13 +253,17 @@ def list_invalid_properties def valid? return false if @assign_to.nil? return false if @assign_to_uuid.nil? + return false if @author.nil? return false if @comment.nil? return false if @execution_offset.nil? + return false if @origin.nil? return false if @severity.nil? return false if @status.nil? return false if @tactic.nil? return false if @tags.nil? return false if @technique.nil? + return false if @template_id.nil? + return false if @trigger_mode.nil? return false if @type.nil? true end @@ -223,13 +275,17 @@ def ==(o) self.class == o.class && assign_to == o.assign_to && assign_to_uuid == o.assign_to_uuid && + author == o.author && comment == o.comment && execution_offset == o.execution_offset && + origin == o.origin && severity == o.severity && status == o.status && tactic == o.tactic && tags == o.tags && technique == o.technique && + template_id == o.template_id && + trigger_mode == o.trigger_mode && type == o.type end @@ -242,7 +298,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [assign_to, assign_to_uuid, comment, execution_offset, severity, status, tactic, tags, technique, type].hash + [assign_to, assign_to_uuid, author, comment, execution_offset, origin, severity, status, tactic, tags, technique, template_id, trigger_mode, type].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/driftindicators_drift_entity_response.rb b/lib/crimson-falcon/models/driftindicators_drift_entity_response.rb index 8a39de06..86e78129 100644 --- a/lib/crimson-falcon/models/driftindicators_drift_entity_response.rb +++ b/lib/crimson-falcon/models/driftindicators_drift_entity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/driftindicators_drift_indicators_count_value.rb b/lib/crimson-falcon/models/driftindicators_drift_indicators_count_value.rb index 239057ed..4a87fe44 100644 --- a/lib/crimson-falcon/models/driftindicators_drift_indicators_count_value.rb +++ b/lib/crimson-falcon/models/driftindicators_drift_indicators_count_value.rb @@ -32,18 +32,18 @@ module Falcon class DriftindicatorsDriftIndicatorsCountValue - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/driftindicators_drift_indicators_field_value.rb b/lib/crimson-falcon/models/driftindicators_drift_indicators_field_value.rb index 9d0c5071..ba0e3fa7 100644 --- a/lib/crimson-falcon/models/driftindicators_drift_indicators_field_value.rb +++ b/lib/crimson-falcon/models/driftindicators_drift_indicators_field_value.rb @@ -32,18 +32,18 @@ module Falcon class DriftindicatorsDriftIndicatorsFieldValue - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/empowerapi_msa_falcon_script_response.rb b/lib/crimson-falcon/models/empowerapi_msa_falcon_script_response.rb index 0b1d0040..57ec4999 100644 --- a/lib/crimson-falcon/models/empowerapi_msa_falcon_script_response.rb +++ b/lib/crimson-falcon/models/empowerapi_msa_falcon_script_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/empowerapi_msa_id_list_response.rb b/lib/crimson-falcon/models/empowerapi_msa_id_list_response.rb index 1dbc48a3..09d49d22 100644 --- a/lib/crimson-falcon/models/empowerapi_msa_id_list_response.rb +++ b/lib/crimson-falcon/models/empowerapi_msa_id_list_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/empowerapi_msa_pf_response_v1.rb b/lib/crimson-falcon/models/empowerapi_msa_pf_response_v1.rb index 3e7a6b42..e6599d01 100644 --- a/lib/crimson-falcon/models/empowerapi_msa_pf_response_v1.rb +++ b/lib/crimson-falcon/models/empowerapi_msa_pf_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/empowerapi_msa_pf_response_v2.rb b/lib/crimson-falcon/models/empowerapi_msa_pf_response_v2.rb index bbe1d103..bb9930f9 100644 --- a/lib/crimson-falcon/models/empowerapi_msa_pf_response_v2.rb +++ b/lib/crimson-falcon/models/empowerapi_msa_pf_response_v2.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/entities_ods_scan_host_response.rb b/lib/crimson-falcon/models/entities_ods_scan_host_response.rb index b3a929e6..30e5a4d1 100644 --- a/lib/crimson-falcon/models/entities_ods_scan_host_response.rb +++ b/lib/crimson-falcon/models/entities_ods_scan_host_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/entities_ods_scan_malicious_file_response.rb b/lib/crimson-falcon/models/entities_ods_scan_malicious_file_response.rb index f7902dcb..e414b28f 100644 --- a/lib/crimson-falcon/models/entities_ods_scan_malicious_file_response.rb +++ b/lib/crimson-falcon/models/entities_ods_scan_malicious_file_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/entities_ods_scan_request.rb b/lib/crimson-falcon/models/entities_ods_scan_request.rb index 3fbd0cdf..034776df 100644 --- a/lib/crimson-falcon/models/entities_ods_scan_request.rb +++ b/lib/crimson-falcon/models/entities_ods_scan_request.rb @@ -52,8 +52,6 @@ class EntitiesODSScanRequest attr_accessor :max_duration - attr_accessor :max_file_size - attr_accessor :pause_duration attr_accessor :quarantine @@ -79,7 +77,6 @@ def self.attribute_map :'hosts' => :'hosts', :'initiated_from' => :'initiated_from', :'max_duration' => :'max_duration', - :'max_file_size' => :'max_file_size', :'pause_duration' => :'pause_duration', :'quarantine' => :'quarantine', :'scan_exclusions' => :'scan_exclusions', @@ -107,7 +104,6 @@ def self.openapi_types :'hosts' => :'Array', :'initiated_from' => :'String', :'max_duration' => :'Integer', - :'max_file_size' => :'Integer', :'pause_duration' => :'Integer', :'quarantine' => :'Boolean', :'scan_exclusions' => :'Array', @@ -184,10 +180,6 @@ def initialize(attributes = {}) self.max_duration = attributes[:'max_duration'] end - if attributes.key?(:'max_file_size') - self.max_file_size = attributes[:'max_file_size'] - end - if attributes.key?(:'pause_duration') self.pause_duration = attributes[:'pause_duration'] end @@ -261,10 +253,6 @@ def list_invalid_properties invalid_properties.push('invalid value for "max_duration", max_duration cannot be nil.') end - if @max_file_size.nil? - invalid_properties.push('invalid value for "max_file_size", max_file_size cannot be nil.') - end - if @pause_duration.nil? invalid_properties.push('invalid value for "pause_duration", pause_duration cannot be nil.') end @@ -305,7 +293,6 @@ def valid? return false if @hosts.nil? return false if @initiated_from.nil? return false if @max_duration.nil? - return false if @max_file_size.nil? return false if @pause_duration.nil? return false if @quarantine.nil? return false if @scan_exclusions.nil? @@ -330,7 +317,6 @@ def ==(o) hosts == o.hosts && initiated_from == o.initiated_from && max_duration == o.max_duration && - max_file_size == o.max_file_size && pause_duration == o.pause_duration && quarantine == o.quarantine && scan_exclusions == o.scan_exclusions && @@ -348,7 +334,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [cloud_ml_level_detection, cloud_ml_level_prevention, cpu_priority, description, endpoint_notification, file_paths, host_groups, hosts, initiated_from, max_duration, max_file_size, pause_duration, quarantine, scan_exclusions, scan_inclusions, sensor_ml_level_detection, sensor_ml_level_prevention].hash + [cloud_ml_level_detection, cloud_ml_level_prevention, cpu_priority, description, endpoint_notification, file_paths, host_groups, hosts, initiated_from, max_duration, pause_duration, quarantine, scan_exclusions, scan_inclusions, sensor_ml_level_detection, sensor_ml_level_prevention].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/entities_ods_scan_response.rb b/lib/crimson-falcon/models/entities_ods_scan_response.rb index fb617e8c..d303a57a 100644 --- a/lib/crimson-falcon/models/entities_ods_scan_response.rb +++ b/lib/crimson-falcon/models/entities_ods_scan_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/entities_ods_scan_response_v2.rb b/lib/crimson-falcon/models/entities_ods_scan_response_v2.rb index 4c49aaa5..f9659a6d 100644 --- a/lib/crimson-falcon/models/entities_ods_scan_response_v2.rb +++ b/lib/crimson-falcon/models/entities_ods_scan_response_v2.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/entities_ods_schedule_scan_response.rb b/lib/crimson-falcon/models/entities_ods_schedule_scan_response.rb index 8bde61b9..fb855d67 100644 --- a/lib/crimson-falcon/models/entities_ods_schedule_scan_response.rb +++ b/lib/crimson-falcon/models/entities_ods_schedule_scan_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/entities_rolling_average.rb b/lib/crimson-falcon/models/entities_rolling_average.rb new file mode 100644 index 00000000..4010b790 --- /dev/null +++ b/lib/crimson-falcon/models/entities_rolling_average.rb @@ -0,0 +1,365 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class EntitiesRollingAverage + attr_accessor :chrome_os + + attr_accessor :containers + + attr_accessor :date + + attr_accessor :lumos + + attr_accessor :mobile + + attr_accessor :public_cloud_with_containers + + attr_accessor :public_cloud_without_containers + + attr_accessor :servers_with_containers + + attr_accessor :servers_without_containers + + attr_accessor :workstations + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'chrome_os' => :'chrome_os', + :'containers' => :'containers', + :'date' => :'date', + :'lumos' => :'lumos', + :'mobile' => :'mobile', + :'public_cloud_with_containers' => :'public_cloud_with_containers', + :'public_cloud_without_containers' => :'public_cloud_without_containers', + :'servers_with_containers' => :'servers_with_containers', + :'servers_without_containers' => :'servers_without_containers', + :'workstations' => :'workstations' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'chrome_os' => :'Float', + :'containers' => :'Float', + :'date' => :'Date', + :'lumos' => :'Float', + :'mobile' => :'Float', + :'public_cloud_with_containers' => :'Float', + :'public_cloud_without_containers' => :'Float', + :'servers_with_containers' => :'Float', + :'servers_without_containers' => :'Float', + :'workstations' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::EntitiesRollingAverage` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::EntitiesRollingAverage`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'chrome_os') + self.chrome_os = attributes[:'chrome_os'] + end + + if attributes.key?(:'containers') + self.containers = attributes[:'containers'] + end + + if attributes.key?(:'date') + self.date = attributes[:'date'] + end + + if attributes.key?(:'lumos') + self.lumos = attributes[:'lumos'] + end + + if attributes.key?(:'mobile') + self.mobile = attributes[:'mobile'] + end + + if attributes.key?(:'public_cloud_with_containers') + self.public_cloud_with_containers = attributes[:'public_cloud_with_containers'] + end + + if attributes.key?(:'public_cloud_without_containers') + self.public_cloud_without_containers = attributes[:'public_cloud_without_containers'] + end + + if attributes.key?(:'servers_with_containers') + self.servers_with_containers = attributes[:'servers_with_containers'] + end + + if attributes.key?(:'servers_without_containers') + self.servers_without_containers = attributes[:'servers_without_containers'] + end + + if attributes.key?(:'workstations') + self.workstations = attributes[:'workstations'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @chrome_os.nil? + invalid_properties.push('invalid value for "chrome_os", chrome_os cannot be nil.') + end + + if @containers.nil? + invalid_properties.push('invalid value for "containers", containers cannot be nil.') + end + + if @date.nil? + invalid_properties.push('invalid value for "date", date cannot be nil.') + end + + if @lumos.nil? + invalid_properties.push('invalid value for "lumos", lumos cannot be nil.') + end + + if @mobile.nil? + invalid_properties.push('invalid value for "mobile", mobile cannot be nil.') + end + + if @public_cloud_with_containers.nil? + invalid_properties.push('invalid value for "public_cloud_with_containers", public_cloud_with_containers cannot be nil.') + end + + if @public_cloud_without_containers.nil? + invalid_properties.push('invalid value for "public_cloud_without_containers", public_cloud_without_containers cannot be nil.') + end + + if @servers_with_containers.nil? + invalid_properties.push('invalid value for "servers_with_containers", servers_with_containers cannot be nil.') + end + + if @servers_without_containers.nil? + invalid_properties.push('invalid value for "servers_without_containers", servers_without_containers cannot be nil.') + end + + if @workstations.nil? + invalid_properties.push('invalid value for "workstations", workstations cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @chrome_os.nil? + return false if @containers.nil? + return false if @date.nil? + return false if @lumos.nil? + return false if @mobile.nil? + return false if @public_cloud_with_containers.nil? + return false if @public_cloud_without_containers.nil? + return false if @servers_with_containers.nil? + return false if @servers_without_containers.nil? + return false if @workstations.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + chrome_os == o.chrome_os && + containers == o.containers && + date == o.date && + lumos == o.lumos && + mobile == o.mobile && + public_cloud_with_containers == o.public_cloud_with_containers && + public_cloud_without_containers == o.public_cloud_without_containers && + servers_with_containers == o.servers_with_containers && + servers_without_containers == o.servers_without_containers && + workstations == o.workstations + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [chrome_os, containers, date, lumos, mobile, public_cloud_with_containers, public_cloud_without_containers, servers_with_containers, servers_without_containers, workstations].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/exclusions_resp_v1.rb b/lib/crimson-falcon/models/exclusions_resp_v1.rb index 4eff5686..a8d35d46 100644 --- a/lib/crimson-falcon/models/exclusions_resp_v1.rb +++ b/lib/crimson-falcon/models/exclusions_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/executions_execution_result.rb b/lib/crimson-falcon/models/executions_execution_result.rb index 2d9bc53a..839de60a 100644 --- a/lib/crimson-falcon/models/executions_execution_result.rb +++ b/lib/crimson-falcon/models/executions_execution_result.rb @@ -53,6 +53,9 @@ class ExecutionsExecutionResult # Details for the results of each loop in the workflow definition. attr_accessor :loops + # Output from this workflow execution + attr_accessor :output_data + # A boolean value indicating whether the failed workflow execution is retryable attr_accessor :retryable @@ -62,6 +65,9 @@ class ExecutionsExecutionResult # Overall status for the execution. attr_accessor :status + # Execution summary if defined in the workflow definition + attr_accessor :summary + attr_accessor :trigger # Attribute mapping from ruby-style variable name to JSON key. @@ -74,9 +80,11 @@ def self.attribute_map :'end_timestamp' => :'end_timestamp', :'execution_id' => :'execution_id', :'loops' => :'loops', + :'output_data' => :'output_data', :'retryable' => :'retryable', :'start_timestamp' => :'start_timestamp', :'status' => :'status', + :'summary' => :'summary', :'trigger' => :'trigger' } end @@ -96,9 +104,11 @@ def self.openapi_types :'end_timestamp' => :'Time', :'execution_id' => :'String', :'loops' => :'Array', + :'output_data' => :'Object', :'retryable' => :'Boolean', :'start_timestamp' => :'Time', :'status' => :'String', + :'summary' => :'String', :'trigger' => :'ExecutionsTriggerResult' } end @@ -158,6 +168,10 @@ def initialize(attributes = {}) end end + if attributes.key?(:'output_data') + self.output_data = attributes[:'output_data'] + end + if attributes.key?(:'retryable') self.retryable = attributes[:'retryable'] end @@ -170,6 +184,10 @@ def initialize(attributes = {}) self.status = attributes[:'status'] end + if attributes.key?(:'summary') + self.summary = attributes[:'summary'] + end + if attributes.key?(:'trigger') self.trigger = attributes[:'trigger'] end @@ -250,9 +268,11 @@ def ==(o) end_timestamp == o.end_timestamp && execution_id == o.execution_id && loops == o.loops && + output_data == o.output_data && retryable == o.retryable && start_timestamp == o.start_timestamp && status == o.status && + summary == o.summary && trigger == o.trigger end @@ -265,7 +285,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [activities, ancestor_executions, definition_id, definition_version, end_timestamp, execution_id, loops, retryable, start_timestamp, status, trigger].hash + [activities, ancestor_executions, definition_id, definition_version, end_timestamp, execution_id, loops, output_data, retryable, start_timestamp, status, summary, trigger].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/executions_loop_result.rb b/lib/crimson-falcon/models/executions_loop_result.rb index 50188e3f..875fee50 100644 --- a/lib/crimson-falcon/models/executions_loop_result.rb +++ b/lib/crimson-falcon/models/executions_loop_result.rb @@ -55,6 +55,9 @@ class ExecutionsLoopResult # Unique id of the node as specified in the definition. attr_accessor :node_id + # Outputs from all the iterations of the sub model + attr_accessor :outputs + # Timestamp of when the execution first started. attr_accessor :start_timestamp @@ -72,6 +75,7 @@ def self.attribute_map :'iterations' => :'iterations', :'mocked' => :'mocked', :'node_id' => :'node_id', + :'outputs' => :'outputs', :'start_timestamp' => :'start_timestamp', :'status' => :'status' } @@ -93,6 +97,7 @@ def self.openapi_types :'iterations' => :'ExecutionsIterations', :'mocked' => :'Boolean', :'node_id' => :'String', + :'outputs' => :'Array', :'start_timestamp' => :'Time', :'status' => :'String' } @@ -153,6 +158,12 @@ def initialize(attributes = {}) self.node_id = attributes[:'node_id'] end + if attributes.key?(:'outputs') + if (value = attributes[:'outputs']).is_a?(Array) + self.outputs = value + end + end + if attributes.key?(:'start_timestamp') self.start_timestamp = attributes[:'start_timestamp'] end @@ -218,6 +229,7 @@ def ==(o) iterations == o.iterations && mocked == o.mocked && node_id == o.node_id && + outputs == o.outputs && start_timestamp == o.start_timestamp && status == o.status end @@ -231,7 +243,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [child_executions, end_timestamp, error_code, error_message, input_field, iterations, mocked, node_id, start_timestamp, status].hash + [child_executions, end_timestamp, error_code, error_message, input_field, iterations, mocked, node_id, outputs, start_timestamp, status].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/executions_trigger_result.rb b/lib/crimson-falcon/models/executions_trigger_result.rb index c9b7f52c..b236598f 100644 --- a/lib/crimson-falcon/models/executions_trigger_result.rb +++ b/lib/crimson-falcon/models/executions_trigger_result.rb @@ -65,7 +65,7 @@ def self.openapi_types :'id' => :'String', :'mocked' => :'Boolean', :'name' => :'String', - :'result' => :'String' + :'result' => :'Object' } end diff --git a/lib/crimson-falcon/models/exports_exports_response.rb b/lib/crimson-falcon/models/exports_exports_response.rb new file mode 100644 index 00000000..a7d45d9c --- /dev/null +++ b/lib/crimson-falcon/models/exports_exports_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ExportsExportsResponse + attr_accessor :resources + + attr_accessor :errors + + attr_accessor :meta + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'resources' => :'Resources', + :'errors' => :'errors', + :'meta' => :'meta' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'resources' => :'Array', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ExportsExportsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ExportsExportsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @resources.nil? + return false if @meta.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + resources == o.resources && + errors == o.errors && + meta == o.meta + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [resources, errors, meta].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/exports_launch_export_request.rb b/lib/crimson-falcon/models/exports_launch_export_request.rb new file mode 100644 index 00000000..46a6b587 --- /dev/null +++ b/lib/crimson-falcon/models/exports_launch_export_request.rb @@ -0,0 +1,280 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ExportsLaunchExportRequest + # Format of the export file. One of: csv, json + attr_accessor :format + + # Falcon Query Language string to filter documents + attr_accessor :fql + + # Resource to export. Refer to API docs for the possible values + attr_accessor :resource + + # Sort value to apply to documents. Note: not all resources support sorting + attr_accessor :sort + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'format' => :'format', + :'fql' => :'fql', + :'resource' => :'resource', + :'sort' => :'sort' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'format' => :'String', + :'fql' => :'String', + :'resource' => :'String', + :'sort' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ExportsLaunchExportRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ExportsLaunchExportRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'format') + self.format = attributes[:'format'] + end + + if attributes.key?(:'fql') + self.fql = attributes[:'fql'] + end + + if attributes.key?(:'resource') + self.resource = attributes[:'resource'] + end + + if attributes.key?(:'sort') + self.sort = attributes[:'sort'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @format.nil? + invalid_properties.push('invalid value for "format", format cannot be nil.') + end + + if @resource.nil? + invalid_properties.push('invalid value for "resource", resource cannot be nil.') + end + + if @sort.nil? + invalid_properties.push('invalid value for "sort", sort cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @format.nil? + return false if @resource.nil? + return false if @sort.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + format == o.format && + fql == o.fql && + resource == o.resource && + sort == o.sort + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [format, fql, resource, sort].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/exports_launch_export_response.rb b/lib/crimson-falcon/models/exports_launch_export_response.rb new file mode 100644 index 00000000..82513f0c --- /dev/null +++ b/lib/crimson-falcon/models/exports_launch_export_response.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ExportsLaunchExportResponse + attr_accessor :errors + + attr_accessor :meta + + # Export job IDs + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ExportsLaunchExportResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ExportsLaunchExportResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/falconx_errors_only.rb b/lib/crimson-falcon/models/falconx_errors_only.rb index f12a3cb5..48bd7658 100644 --- a/lib/crimson-falcon/models/falconx_errors_only.rb +++ b/lib/crimson-falcon/models/falconx_errors_only.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'meta_info' => :'MsaspecMetaInfo', - :'errors' => :'Array', + :'meta_info' => :'MsaMetaInfo', + :'errors' => :'Array', :'quota' => :'FalconxQuota' } end diff --git a/lib/crimson-falcon/models/falconx_meta_info.rb b/lib/crimson-falcon/models/falconx_meta_info.rb index 2d35cbcf..a60bed18 100644 --- a/lib/crimson-falcon/models/falconx_meta_info.rb +++ b/lib/crimson-falcon/models/falconx_meta_info.rb @@ -52,7 +52,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'meta_info' => :'MsaspecMetaInfo', + :'meta_info' => :'MsaMetaInfo', :'quota' => :'FalconxQuota' } end diff --git a/lib/crimson-falcon/models/falconx_query_response.rb b/lib/crimson-falcon/models/falconx_query_response.rb index 27e31360..2ed16721 100644 --- a/lib/crimson-falcon/models/falconx_query_response.rb +++ b/lib/crimson-falcon/models/falconx_query_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'FalconxMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/falconx_report_v1.rb b/lib/crimson-falcon/models/falconx_report_v1.rb index b3941596..68247788 100644 --- a/lib/crimson-falcon/models/falconx_report_v1.rb +++ b/lib/crimson-falcon/models/falconx_report_v1.rb @@ -32,10 +32,14 @@ module Falcon class FalconxReportV1 + attr_accessor :aid + attr_accessor :cid attr_accessor :created_timestamp + attr_accessor :has_recording + attr_accessor :id attr_accessor :index_timestamp @@ -83,8 +87,10 @@ class FalconxReportV1 # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'aid' => :'aid', :'cid' => :'cid', :'created_timestamp' => :'created_timestamp', + :'has_recording' => :'has_recording', :'id' => :'id', :'index_timestamp' => :'index_timestamp', :'intel' => :'intel', @@ -118,8 +124,10 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'aid' => :'String', :'cid' => :'String', :'created_timestamp' => :'String', + :'has_recording' => :'Boolean', :'id' => :'String', :'index_timestamp' => :'String', :'intel' => :'Array', @@ -166,6 +174,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'aid') + self.aid = attributes[:'aid'] + end + if attributes.key?(:'cid') self.cid = attributes[:'cid'] end @@ -174,6 +186,10 @@ def initialize(attributes = {}) self.created_timestamp = attributes[:'created_timestamp'] end + if attributes.key?(:'has_recording') + self.has_recording = attributes[:'has_recording'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -291,8 +307,10 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + aid == o.aid && cid == o.cid && created_timestamp == o.created_timestamp && + has_recording == o.has_recording && id == o.id && index_timestamp == o.index_timestamp && intel == o.intel && @@ -326,7 +344,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [cid, created_timestamp, id, index_timestamp, intel, intelx, ioc_report_broad_csv_artifact_id, ioc_report_broad_json_artifact_id, ioc_report_broad_maec_artifact_id, ioc_report_broad_stix_artifact_id, ioc_report_strict_csv_artifact_id, ioc_report_strict_json_artifact_id, ioc_report_strict_maec_artifact_id, ioc_report_strict_stix_artifact_id, malquery, origin, sandbox, tags, threat_graph, user_id, user_name, user_tags, user_uuid, verdict].hash + [aid, cid, created_timestamp, has_recording, id, index_timestamp, intel, intelx, ioc_report_broad_csv_artifact_id, ioc_report_broad_json_artifact_id, ioc_report_broad_maec_artifact_id, ioc_report_broad_stix_artifact_id, ioc_report_strict_csv_artifact_id, ioc_report_strict_json_artifact_id, ioc_report_strict_maec_artifact_id, ioc_report_strict_stix_artifact_id, malquery, origin, sandbox, tags, threat_graph, user_id, user_name, user_tags, user_uuid, verdict].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/falconx_report_v1_response.rb b/lib/crimson-falcon/models/falconx_report_v1_response.rb index 1a95ed8f..97309ea4 100644 --- a/lib/crimson-falcon/models/falconx_report_v1_response.rb +++ b/lib/crimson-falcon/models/falconx_report_v1_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'FalconxMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/falconx_sandbox_parameters_v1.rb b/lib/crimson-falcon/models/falconx_sandbox_parameters_v1.rb index b3bc3694..1e4336da 100644 --- a/lib/crimson-falcon/models/falconx_sandbox_parameters_v1.rb +++ b/lib/crimson-falcon/models/falconx_sandbox_parameters_v1.rb @@ -34,6 +34,8 @@ module Falcon class FalconxSandboxParametersV1 attr_accessor :action_script + attr_accessor :browser + attr_accessor :command_line attr_accessor :document_password @@ -60,6 +62,7 @@ class FalconxSandboxParametersV1 def self.attribute_map { :'action_script' => :'action_script', + :'browser' => :'browser', :'command_line' => :'command_line', :'document_password' => :'document_password', :'enable_tor' => :'enable_tor', @@ -83,6 +86,7 @@ def self.acceptable_attributes def self.openapi_types { :'action_script' => :'String', + :'browser' => :'String', :'command_line' => :'String', :'document_password' => :'String', :'enable_tor' => :'Boolean', @@ -122,6 +126,10 @@ def initialize(attributes = {}) self.action_script = attributes[:'action_script'] end + if attributes.key?(:'browser') + self.browser = attributes[:'browser'] + end + if attributes.key?(:'command_line') self.command_line = attributes[:'command_line'] end @@ -186,6 +194,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && action_script == o.action_script && + browser == o.browser && command_line == o.command_line && document_password == o.document_password && enable_tor == o.enable_tor && @@ -208,7 +217,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [action_script, command_line, document_password, enable_tor, environment_id, interactivity, network_settings, sha256, submit_name, system_date, system_time, url].hash + [action_script, browser, command_line, document_password, enable_tor, environment_id, interactivity, network_settings, sha256, submit_name, system_date, system_time, url].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/falconx_sandbox_report_v1.rb b/lib/crimson-falcon/models/falconx_sandbox_report_v1.rb index 2205383d..c6398aeb 100644 --- a/lib/crimson-falcon/models/falconx_sandbox_report_v1.rb +++ b/lib/crimson-falcon/models/falconx_sandbox_report_v1.rb @@ -32,6 +32,8 @@ module Falcon class FalconxSandboxReportV1 + attr_accessor :all_extracted_strings_artifact_id + attr_accessor :architecture attr_accessor :certificates @@ -173,6 +175,7 @@ class FalconxSandboxReportV1 # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'all_extracted_strings_artifact_id' => :'all_extracted_strings_artifact_id', :'architecture' => :'architecture', :'certificates' => :'certificates', :'certificates_validation_message' => :'certificates_validation_message', @@ -253,6 +256,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'all_extracted_strings_artifact_id' => :'String', :'architecture' => :'String', :'certificates' => :'Array', :'certificates_validation_message' => :'String', @@ -346,6 +350,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'all_extracted_strings_artifact_id') + self.all_extracted_strings_artifact_id = attributes[:'all_extracted_strings_artifact_id'] + end + if attributes.key?(:'architecture') self.architecture = attributes[:'architecture'] end @@ -702,6 +710,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + all_extracted_strings_artifact_id == o.all_extracted_strings_artifact_id && architecture == o.architecture && certificates == o.certificates && certificates_validation_message == o.certificates_validation_message && @@ -782,7 +791,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [architecture, certificates, certificates_validation_message, classification, classification_tags, contacted_hosts, dll_characteristics, dns_requests, entrypoint, entrypoint_preview_count, entrypoint_preview_instructions, entrypoint_section, environment_description, environment_id, error_message, error_origin, error_type, exact_deep_hash, extracted_files, extracted_interesting_strings, file_data_directories, file_imports, file_metadata, file_resources, file_sections, file_size, file_type, file_type_short, http_requests, icon, image_base, image_file_characteristics, incidents, intelligence_mitre_attacks, ioc_report_broad_artifact_id, ioc_report_strict_artifact_id, is_certificates_valid, language, major_os_version, memory_dumps, memory_dumps_artifact_id, memory_forensics, memory_strings_artifact_id, minor_os_version, mitre_attacks, network_settings, packer, pcap_report_artifact_id, processes, sample_flags, screenshots_artifact_ids, sha256, signatures, submission_type, submit_name, submit_url, subsystem, suricata_alerts, target_url, threat_score, urls, verdict, version_info, visualization, windows_version_bitness, windows_version_edition, windows_version_name, windows_version_service_pack, windows_version_version].hash + [all_extracted_strings_artifact_id, architecture, certificates, certificates_validation_message, classification, classification_tags, contacted_hosts, dll_characteristics, dns_requests, entrypoint, entrypoint_preview_count, entrypoint_preview_instructions, entrypoint_section, environment_description, environment_id, error_message, error_origin, error_type, exact_deep_hash, extracted_files, extracted_interesting_strings, file_data_directories, file_imports, file_metadata, file_resources, file_sections, file_size, file_type, file_type_short, http_requests, icon, image_base, image_file_characteristics, incidents, intelligence_mitre_attacks, ioc_report_broad_artifact_id, ioc_report_strict_artifact_id, is_certificates_valid, language, major_os_version, memory_dumps, memory_dumps_artifact_id, memory_forensics, memory_strings_artifact_id, minor_os_version, mitre_attacks, network_settings, packer, pcap_report_artifact_id, processes, sample_flags, screenshots_artifact_ids, sha256, signatures, submission_type, submit_name, submit_url, subsystem, suricata_alerts, target_url, threat_score, urls, verdict, version_info, visualization, windows_version_bitness, windows_version_edition, windows_version_name, windows_version_service_pack, windows_version_version].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/falconx_submission_v1_response.rb b/lib/crimson-falcon/models/falconx_submission_v1_response.rb index d2c39c55..27056164 100644 --- a/lib/crimson-falcon/models/falconx_submission_v1_response.rb +++ b/lib/crimson-falcon/models/falconx_submission_v1_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'FalconxMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/falconx_summary_report_v1.rb b/lib/crimson-falcon/models/falconx_summary_report_v1.rb index ce4d2f53..9315e22f 100644 --- a/lib/crimson-falcon/models/falconx_summary_report_v1.rb +++ b/lib/crimson-falcon/models/falconx_summary_report_v1.rb @@ -36,6 +36,8 @@ class FalconxSummaryReportV1 attr_accessor :created_timestamp + attr_accessor :has_recording + attr_accessor :id attr_accessor :intel @@ -75,6 +77,7 @@ def self.attribute_map { :'cid' => :'cid', :'created_timestamp' => :'created_timestamp', + :'has_recording' => :'has_recording', :'id' => :'id', :'intel' => :'intel', :'ioc_report_broad_csv_artifact_id' => :'ioc_report_broad_csv_artifact_id', @@ -105,6 +108,7 @@ def self.openapi_types { :'cid' => :'String', :'created_timestamp' => :'String', + :'has_recording' => :'Boolean', :'id' => :'String', :'intel' => :'Array', :'ioc_report_broad_csv_artifact_id' => :'String', @@ -154,6 +158,10 @@ def initialize(attributes = {}) self.created_timestamp = attributes[:'created_timestamp'] end + if attributes.key?(:'has_recording') + self.has_recording = attributes[:'has_recording'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -251,6 +259,7 @@ def ==(o) self.class == o.class && cid == o.cid && created_timestamp == o.created_timestamp && + has_recording == o.has_recording && id == o.id && intel == o.intel && ioc_report_broad_csv_artifact_id == o.ioc_report_broad_csv_artifact_id && @@ -279,7 +288,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [cid, created_timestamp, id, intel, ioc_report_broad_csv_artifact_id, ioc_report_broad_json_artifact_id, ioc_report_broad_maec_artifact_id, ioc_report_broad_stix_artifact_id, ioc_report_strict_csv_artifact_id, ioc_report_strict_json_artifact_id, ioc_report_strict_maec_artifact_id, ioc_report_strict_stix_artifact_id, origin, sandbox, tags, user_id, user_name, user_tags, verdict].hash + [cid, created_timestamp, has_recording, id, intel, ioc_report_broad_csv_artifact_id, ioc_report_broad_json_artifact_id, ioc_report_broad_maec_artifact_id, ioc_report_broad_stix_artifact_id, ioc_report_strict_csv_artifact_id, ioc_report_strict_json_artifact_id, ioc_report_strict_maec_artifact_id, ioc_report_strict_stix_artifact_id, origin, sandbox, tags, user_id, user_name, user_tags, verdict].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/falconx_summary_report_v1_response.rb b/lib/crimson-falcon/models/falconx_summary_report_v1_response.rb index a2d1c8eb..c28cdc76 100644 --- a/lib/crimson-falcon/models/falconx_summary_report_v1_response.rb +++ b/lib/crimson-falcon/models/falconx_summary_report_v1_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'FalconxMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/fielddata_field_source.rb b/lib/crimson-falcon/models/fielddata_field_source.rb new file mode 100644 index 00000000..8dc0058a --- /dev/null +++ b/lib/crimson-falcon/models/fielddata_field_source.rb @@ -0,0 +1,278 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class FielddataFieldSource + # Indicates whether the field is case sensitive for searching against fulcrum. Some downstream APIs are and others are not, so this is needed so that UI can handle this cohesively. + attr_accessor :case_sensitive + + attr_accessor :key + + attr_accessor :options + + attr_accessor :sort + + attr_accessor :strict + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'case_sensitive' => :'case_sensitive', + :'key' => :'key', + :'options' => :'options', + :'sort' => :'sort', + :'strict' => :'strict' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'case_sensitive' => :'Boolean', + :'key' => :'String', + :'options' => :'Array', + :'sort' => :'String', + :'strict' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::FielddataFieldSource` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::FielddataFieldSource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'case_sensitive') + self.case_sensitive = attributes[:'case_sensitive'] + end + + if attributes.key?(:'key') + self.key = attributes[:'key'] + end + + if attributes.key?(:'options') + if (value = attributes[:'options']).is_a?(Array) + self.options = value + end + end + + if attributes.key?(:'sort') + self.sort = attributes[:'sort'] + end + + if attributes.key?(:'strict') + self.strict = attributes[:'strict'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @strict.nil? + invalid_properties.push('invalid value for "strict", strict cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @strict.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + case_sensitive == o.case_sensitive && + key == o.key && + options == o.options && + sort == o.sort && + strict == o.strict + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [case_sensitive, key, options, sort, strict].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/fielddata_field_source_option.rb b/lib/crimson-falcon/models/fielddata_field_source_option.rb new file mode 100644 index 00000000..5fb4ee83 --- /dev/null +++ b/lib/crimson-falcon/models/fielddata_field_source_option.rb @@ -0,0 +1,248 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class FielddataFieldSourceOption + attr_accessor :id + + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'Object', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::FielddataFieldSourceOption` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::FielddataFieldSourceOption`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/firewall_resp_v1.rb b/lib/crimson-falcon/models/firewall_resp_v1.rb index 3b2dfa5a..bbb6ff5d 100644 --- a/lib/crimson-falcon/models/firewall_resp_v1.rb +++ b/lib/crimson-falcon/models/firewall_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/flightcontrolapi_get_roles_response.rb b/lib/crimson-falcon/models/flightcontrolapi_get_roles_response.rb index 1fba2c45..c5053c56 100644 --- a/lib/crimson-falcon/models/flightcontrolapi_get_roles_response.rb +++ b/lib/crimson-falcon/models/flightcontrolapi_get_roles_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/flightcontrolapi_user_grant_response.rb b/lib/crimson-falcon/models/flightcontrolapi_user_grant_response.rb index b133b2a1..aaca4f2c 100644 --- a/lib/crimson-falcon/models/flightcontrolapi_user_grant_response.rb +++ b/lib/crimson-falcon/models/flightcontrolapi_user_grant_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/flightcontrolapi_user_response.rb b/lib/crimson-falcon/models/flightcontrolapi_user_response.rb index 6ba18af9..e1504182 100644 --- a/lib/crimson-falcon/models/flightcontrolapi_user_response.rb +++ b/lib/crimson-falcon/models/flightcontrolapi_user_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/fwmgr_msa_aggregate_query_request.rb b/lib/crimson-falcon/models/fwmgr_msa_aggregate_query_request.rb index 1213547f..436c826f 100644 --- a/lib/crimson-falcon/models/fwmgr_msa_aggregate_query_request.rb +++ b/lib/crimson-falcon/models/fwmgr_msa_aggregate_query_request.rb @@ -36,6 +36,8 @@ class FwmgrMsaAggregateQueryRequest attr_accessor :exclude + attr_accessor :extended_bounds + attr_accessor :field attr_accessor :filter @@ -73,6 +75,7 @@ def self.attribute_map { :'date_ranges' => :'date_ranges', :'exclude' => :'exclude', + :'extended_bounds' => :'extended_bounds', :'field' => :'field', :'filter' => :'filter', :'from' => :'from', @@ -102,6 +105,7 @@ def self.openapi_types { :'date_ranges' => :'Array', :'exclude' => :'String', + :'extended_bounds' => :'FwmgrMsaExtendedBoundsSpec', :'field' => :'String', :'filter' => :'String', :'from' => :'Integer', @@ -152,6 +156,10 @@ def initialize(attributes = {}) self.exclude = attributes[:'exclude'] end + if attributes.key?(:'extended_bounds') + self.extended_bounds = attributes[:'extended_bounds'] + end + if attributes.key?(:'field') self.field = attributes[:'field'] end @@ -321,6 +329,7 @@ def ==(o) self.class == o.class && date_ranges == o.date_ranges && exclude == o.exclude && + extended_bounds == o.extended_bounds && field == o.field && filter == o.filter && from == o.from && @@ -348,7 +357,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [date_ranges, exclude, field, filter, from, include, interval, max_doc_count, min_doc_count, missing, name, q, ranges, size, sort, sub_aggregates, time_zone, type].hash + [date_ranges, exclude, extended_bounds, field, filter, from, include, interval, max_doc_count, min_doc_count, missing, name, q, ranges, size, sort, sub_aggregates, time_zone, type].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/fwmgr_msa_extended_bounds_spec.rb b/lib/crimson-falcon/models/fwmgr_msa_extended_bounds_spec.rb new file mode 100644 index 00000000..e9caeea3 --- /dev/null +++ b/lib/crimson-falcon/models/fwmgr_msa_extended_bounds_spec.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class FwmgrMsaExtendedBoundsSpec + attr_accessor :max + + attr_accessor :min + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'max' => :'max', + :'min' => :'min' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'max' => :'String', + :'min' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::FwmgrMsaExtendedBoundsSpec` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::FwmgrMsaExtendedBoundsSpec`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'max') + self.max = attributes[:'max'] + end + + if attributes.key?(:'min') + self.min = attributes[:'min'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @max.nil? + invalid_properties.push('invalid value for "max", max cannot be nil.') + end + + if @min.nil? + invalid_properties.push('invalid value for "min", min cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @max.nil? + return false if @min.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + max == o.max && + min == o.min + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [max, min].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/graph_condition.rb b/lib/crimson-falcon/models/graph_condition.rb index 69af0386..ae587f35 100644 --- a/lib/crimson-falcon/models/graph_condition.rb +++ b/lib/crimson-falcon/models/graph_condition.rb @@ -32,6 +32,9 @@ module Falcon class GraphCondition + # CEL expression for the condition, should evaluate to a boolean. + attr_accessor :cel_expression + # User friendly description of the FQL expression. This would be supplied by the UI/caller and is not set by the API. attr_accessor :display @@ -44,6 +47,7 @@ class GraphCondition # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'cel_expression' => :'cel_expression', :'display' => :'display', :'evaluated' => :'evaluated', :'expression' => :'expression' @@ -58,6 +62,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'cel_expression' => :'String', :'display' => :'Array', :'evaluated' => :'Boolean', :'expression' => :'String' @@ -85,6 +90,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'cel_expression') + self.cel_expression = attributes[:'cel_expression'] + end + if attributes.key?(:'display') if (value = attributes[:'display']).is_a?(Array) self.display = value @@ -118,6 +127,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + cel_expression == o.cel_expression && display == o.display && evaluated == o.evaluated && expression == o.expression @@ -132,7 +142,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [display, evaluated, expression].hash + [cel_expression, display, evaluated, expression].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/graph_configured_activity.rb b/lib/crimson-falcon/models/graph_configured_activity.rb index 204e8d10..6dbd3de2 100644 --- a/lib/crimson-falcon/models/graph_configured_activity.rb +++ b/lib/crimson-falcon/models/graph_configured_activity.rb @@ -32,6 +32,9 @@ module Falcon class GraphConfiguredActivity + # The class of activity. If undefined it is an ActivityClassExternal + attr_accessor :_class + attr_accessor :flows # The unique identifier of the selected activity that is being configured. @@ -51,6 +54,7 @@ class GraphConfiguredActivity # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'_class' => :'class', :'flows' => :'flows', :'id' => :'id', :'max_seconds' => :'max_seconds', @@ -68,6 +72,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'_class' => :'String', :'flows' => :'Flows', :'id' => :'String', :'max_seconds' => :'String', @@ -98,6 +103,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'_class') + self._class = attributes[:'_class'] + end + if attributes.key?(:'flows') self.flows = attributes[:'flows'] end @@ -166,6 +175,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + _class == o._class && flows == o.flows && id == o.id && max_seconds == o.max_seconds && @@ -183,7 +193,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [flows, id, max_seconds, name, node_id, properties].hash + [_class, flows, id, max_seconds, name, node_id, properties].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/graph_end.rb b/lib/crimson-falcon/models/graph_end.rb index 19c7ec5f..6bfb3f5a 100644 --- a/lib/crimson-falcon/models/graph_end.rb +++ b/lib/crimson-falcon/models/graph_end.rb @@ -37,11 +37,19 @@ class GraphEnd attr_accessor :node_id + # Keys of the fields that are the output for this model + attr_accessor :output_fields + + # Summary of the workflow is free form text with possibly embedded variables + attr_accessor :summary + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'incoming_flows' => :'incoming_flows', - :'node_id' => :'nodeID' + :'node_id' => :'nodeID', + :'output_fields' => :'output_fields', + :'summary' => :'summary' } end @@ -54,7 +62,9 @@ def self.acceptable_attributes def self.openapi_types { :'incoming_flows' => :'Array', - :'node_id' => :'String' + :'node_id' => :'String', + :'output_fields' => :'Array', + :'summary' => :'String' } end @@ -88,6 +98,16 @@ def initialize(attributes = {}) if attributes.key?(:'node_id') self.node_id = attributes[:'node_id'] end + + if attributes.key?(:'output_fields') + if (value = attributes[:'output_fields']).is_a?(Array) + self.output_fields = value + end + end + + if attributes.key?(:'summary') + self.summary = attributes[:'summary'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -119,7 +139,9 @@ def ==(o) return true if self.equal?(o) self.class == o.class && incoming_flows == o.incoming_flows && - node_id == o.node_id + node_id == o.node_id && + output_fields == o.output_fields && + summary == o.summary end # @see the `==` method @@ -131,7 +153,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [incoming_flows, node_id].hash + [incoming_flows, node_id, output_fields, summary].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/graph_multi.rb b/lib/crimson-falcon/models/graph_multi.rb index 6b30a5ae..b51bf90a 100644 --- a/lib/crimson-falcon/models/graph_multi.rb +++ b/lib/crimson-falcon/models/graph_multi.rb @@ -38,19 +38,30 @@ class GraphMulti # Display name of the field that contains the array in input data attr_accessor :array_field_display_name + attr_accessor :condition + # If true will allow the workflow to continue execution even if some loop iterations fail or when there are no iterations to execute attr_accessor :continue_on_partial_execution + # Maximum number of seconds the submodel will run for, if this is exceeded no new iterations will run. If unset a default value is used during execution + attr_accessor :max_execution_seconds + # Maximum number of iterations allowed in sub model attr_accessor :max_iteration_count + # Indicates the loop will run sequentially + attr_accessor :sequential + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'array_field' => :'array_field', :'array_field_display_name' => :'array_field_display_name', + :'condition' => :'condition', :'continue_on_partial_execution' => :'continue_on_partial_execution', - :'max_iteration_count' => :'max_iteration_count' + :'max_execution_seconds' => :'max_execution_seconds', + :'max_iteration_count' => :'max_iteration_count', + :'sequential' => :'sequential' } end @@ -64,8 +75,11 @@ def self.openapi_types { :'array_field' => :'String', :'array_field_display_name' => :'String', + :'condition' => :'GraphCondition', :'continue_on_partial_execution' => :'Boolean', - :'max_iteration_count' => :'Integer' + :'max_execution_seconds' => :'Integer', + :'max_iteration_count' => :'Integer', + :'sequential' => :'Boolean' } end @@ -98,13 +112,25 @@ def initialize(attributes = {}) self.array_field_display_name = attributes[:'array_field_display_name'] end + if attributes.key?(:'condition') + self.condition = attributes[:'condition'] + end + if attributes.key?(:'continue_on_partial_execution') self.continue_on_partial_execution = attributes[:'continue_on_partial_execution'] end + if attributes.key?(:'max_execution_seconds') + self.max_execution_seconds = attributes[:'max_execution_seconds'] + end + if attributes.key?(:'max_iteration_count') self.max_iteration_count = attributes[:'max_iteration_count'] end + + if attributes.key?(:'sequential') + self.sequential = attributes[:'sequential'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -123,6 +149,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "continue_on_partial_execution", continue_on_partial_execution cannot be nil.') end + if @max_execution_seconds.nil? + invalid_properties.push('invalid value for "max_execution_seconds", max_execution_seconds cannot be nil.') + end + if @max_iteration_count.nil? invalid_properties.push('invalid value for "max_iteration_count", max_iteration_count cannot be nil.') end @@ -136,6 +166,7 @@ def valid? return false if @array_field.nil? return false if @array_field_display_name.nil? return false if @continue_on_partial_execution.nil? + return false if @max_execution_seconds.nil? return false if @max_iteration_count.nil? true end @@ -147,8 +178,11 @@ def ==(o) self.class == o.class && array_field == o.array_field && array_field_display_name == o.array_field_display_name && + condition == o.condition && continue_on_partial_execution == o.continue_on_partial_execution && - max_iteration_count == o.max_iteration_count + max_execution_seconds == o.max_execution_seconds && + max_iteration_count == o.max_iteration_count && + sequential == o.sequential end # @see the `==` method @@ -160,7 +194,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [array_field, array_field_display_name, continue_on_partial_execution, max_iteration_count].hash + [array_field, array_field_display_name, condition, continue_on_partial_execution, max_execution_seconds, max_iteration_count, sequential].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/graph_sub_model.rb b/lib/crimson-falcon/models/graph_sub_model.rb index 764ce367..04521536 100644 --- a/lib/crimson-falcon/models/graph_sub_model.rb +++ b/lib/crimson-falcon/models/graph_sub_model.rb @@ -38,14 +38,11 @@ class GraphSubModel attr_accessor :multi - # Optional user provided name for the activity, if not specified a name based on the array field is used. + # Optional user provided name for the submodel. attr_accessor :name attr_accessor :node_id - # Name of the output field that contains the result from sub-model. - attr_accessor :output_field - # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -53,8 +50,7 @@ def self.attribute_map :'model' => :'model', :'multi' => :'multi', :'name' => :'name', - :'node_id' => :'nodeID', - :'output_field' => :'output_field' + :'node_id' => :'nodeID' } end @@ -70,8 +66,7 @@ def self.openapi_types :'model' => :'GraphDefinitionModel', :'multi' => :'GraphMulti', :'name' => :'String', - :'node_id' => :'String', - :'output_field' => :'String' + :'node_id' => :'String' } end @@ -115,10 +110,6 @@ def initialize(attributes = {}) if attributes.key?(:'node_id') self.node_id = attributes[:'node_id'] end - - if attributes.key?(:'output_field') - self.output_field = attributes[:'output_field'] - end end # Show invalid properties with the reasons. Usually used together with valid? @@ -163,8 +154,7 @@ def ==(o) model == o.model && multi == o.multi && name == o.name && - node_id == o.node_id && - output_field == o.output_field + node_id == o.node_id end # @see the `==` method @@ -176,7 +166,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [flows, model, multi, name, node_id, output_field].hash + [flows, model, multi, name, node_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/graph_validation_error.rb b/lib/crimson-falcon/models/graph_validation_error.rb index c425940d..2c496788 100644 --- a/lib/crimson-falcon/models/graph_validation_error.rb +++ b/lib/crimson-falcon/models/graph_validation_error.rb @@ -41,6 +41,9 @@ class GraphValidationError # Display name for the property if it exists in a trigger or activity attr_accessor :display_name + # Level is used to indicate if this is an error or warning validation. If empty it should be assumed to be Error Level + attr_accessor :level + # Detail of why the node is invalid. attr_accessor :message @@ -53,16 +56,21 @@ class GraphValidationError # Used to specify an exact property that is invalid for fql evaluation attr_accessor :property + # Resource ID for property if it exists, e.g. trigger ID or activity ID + attr_accessor :resource_id + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'cid' => :'cid', :'code' => :'code', :'display_name' => :'display_name', + :'level' => :'level', :'message' => :'message', :'node_id' => :'node_id', :'parent_node_id' => :'parent_node_id', - :'property' => :'property' + :'property' => :'property', + :'resource_id' => :'resource_id' } end @@ -77,10 +85,12 @@ def self.openapi_types :'cid' => :'String', :'code' => :'Integer', :'display_name' => :'String', + :'level' => :'String', :'message' => :'String', :'node_id' => :'String', :'parent_node_id' => :'String', - :'property' => :'String' + :'property' => :'String', + :'resource_id' => :'String' } end @@ -117,6 +127,10 @@ def initialize(attributes = {}) self.display_name = attributes[:'display_name'] end + if attributes.key?(:'level') + self.level = attributes[:'level'] + end + if attributes.key?(:'message') self.message = attributes[:'message'] end @@ -132,6 +146,10 @@ def initialize(attributes = {}) if attributes.key?(:'property') self.property = attributes[:'property'] end + + if attributes.key?(:'resource_id') + self.resource_id = attributes[:'resource_id'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -160,10 +178,12 @@ def ==(o) cid == o.cid && code == o.code && display_name == o.display_name && + level == o.level && message == o.message && node_id == o.node_id && parent_node_id == o.parent_node_id && - property == o.property + property == o.property && + resource_id == o.resource_id end # @see the `==` method @@ -175,7 +195,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [cid, code, display_name, message, node_id, parent_node_id, property].hash + [cid, code, display_name, level, message, node_id, parent_node_id, property, resource_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/host_groups_members_resp_v1.rb b/lib/crimson-falcon/models/host_groups_members_resp_v1.rb index d0d11eb8..141d0c8c 100644 --- a/lib/crimson-falcon/models/host_groups_members_resp_v1.rb +++ b/lib/crimson-falcon/models/host_groups_members_resp_v1.rb @@ -57,8 +57,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/host_groups_resp_v1.rb b/lib/crimson-falcon/models/host_groups_resp_v1.rb index 28c945fc..b45b40d2 100644 --- a/lib/crimson-falcon/models/host_groups_resp_v1.rb +++ b/lib/crimson-falcon/models/host_groups_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/host_groups_update_group_req_v1.rb b/lib/crimson-falcon/models/host_groups_update_group_req_v1.rb index a132638b..58cd1d09 100644 --- a/lib/crimson-falcon/models/host_groups_update_group_req_v1.rb +++ b/lib/crimson-falcon/models/host_groups_update_group_req_v1.rb @@ -73,6 +73,7 @@ def self.openapi_types # List of attributes with nullable: true def self.openapi_nullable Set.new([ + :'assignment_rule', ]) end diff --git a/lib/crimson-falcon/models/images_api_combined_image_export.rb b/lib/crimson-falcon/models/images_api_combined_image_export.rb index 49474221..b4f23190 100644 --- a/lib/crimson-falcon/models/images_api_combined_image_export.rb +++ b/lib/crimson-falcon/models/images_api_combined_image_export.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/images_api_customer_and_image.rb b/lib/crimson-falcon/models/images_api_customer_and_image.rb index 3b56a161..0e7be805 100644 --- a/lib/crimson-falcon/models/images_api_customer_and_image.rb +++ b/lib/crimson-falcon/models/images_api_customer_and_image.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/images_api_image_assessment_history.rb b/lib/crimson-falcon/models/images_api_image_assessment_history.rb index 465049d7..bcd0be91 100644 --- a/lib/crimson-falcon/models/images_api_image_assessment_history.rb +++ b/lib/crimson-falcon/models/images_api_image_assessment_history.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/images_api_image_by_vulnerability_count.rb b/lib/crimson-falcon/models/images_api_image_by_vulnerability_count.rb index 2a9f49c3..a8a45d0e 100644 --- a/lib/crimson-falcon/models/images_api_image_by_vulnerability_count.rb +++ b/lib/crimson-falcon/models/images_api_image_by_vulnerability_count.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/images_api_image_count.rb b/lib/crimson-falcon/models/images_api_image_count.rb index 17a4df9a..25c10b07 100644 --- a/lib/crimson-falcon/models/images_api_image_count.rb +++ b/lib/crimson-falcon/models/images_api_image_count.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/images_api_image_count_by_base_os.rb b/lib/crimson-falcon/models/images_api_image_count_by_base_os.rb index 8a8ee4fe..57fa927d 100644 --- a/lib/crimson-falcon/models/images_api_image_count_by_base_os.rb +++ b/lib/crimson-falcon/models/images_api_image_count_by_base_os.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/images_api_image_count_by_state.rb b/lib/crimson-falcon/models/images_api_image_count_by_state.rb index d181236e..fb89f39d 100644 --- a/lib/crimson-falcon/models/images_api_image_count_by_state.rb +++ b/lib/crimson-falcon/models/images_api_image_count_by_state.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/images_api_image_issues_summary.rb b/lib/crimson-falcon/models/images_api_image_issues_summary.rb index 28638aa4..8138933f 100644 --- a/lib/crimson-falcon/models/images_api_image_issues_summary.rb +++ b/lib/crimson-falcon/models/images_api_image_issues_summary.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/images_api_image_vulnerabilities_summary.rb b/lib/crimson-falcon/models/images_api_image_vulnerabilities_summary.rb index 366b38c0..bd44bc66 100644 --- a/lib/crimson-falcon/models/images_api_image_vulnerabilities_summary.rb +++ b/lib/crimson-falcon/models/images_api_image_vulnerabilities_summary.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/images_ext_combined_images_response.rb b/lib/crimson-falcon/models/images_ext_combined_images_response.rb index 21a0d044..7ef654c3 100644 --- a/lib/crimson-falcon/models/images_ext_combined_images_response.rb +++ b/lib/crimson-falcon/models/images_ext_combined_images_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/internal_sensor_status.rb b/lib/crimson-falcon/models/internal_sensor_status.rb index c35e72b2..c523dbc7 100644 --- a/lib/crimson-falcon/models/internal_sensor_status.rb +++ b/lib/crimson-falcon/models/internal_sensor_status.rb @@ -38,6 +38,8 @@ class InternalSensorStatus attr_accessor :device_id + attr_accessor :heartbeat_time + attr_accessor :hostname attr_accessor :idp_policy_id @@ -74,6 +76,7 @@ def self.attribute_map :'agent_version' => :'agent_version', :'cid' => :'cid', :'device_id' => :'device_id', + :'heartbeat_time' => :'heartbeat_time', :'hostname' => :'hostname', :'idp_policy_id' => :'idp_policy_id', :'idp_policy_name' => :'idp_policy_name', @@ -103,6 +106,7 @@ def self.openapi_types :'agent_version' => :'String', :'cid' => :'String', :'device_id' => :'String', + :'heartbeat_time' => :'Integer', :'hostname' => :'String', :'idp_policy_id' => :'String', :'idp_policy_name' => :'String', @@ -154,6 +158,10 @@ def initialize(attributes = {}) self.device_id = attributes[:'device_id'] end + if attributes.key?(:'heartbeat_time') + self.heartbeat_time = attributes[:'heartbeat_time'] + end + if attributes.key?(:'hostname') self.hostname = attributes[:'hostname'] end @@ -248,6 +256,7 @@ def ==(o) agent_version == o.agent_version && cid == o.cid && device_id == o.device_id && + heartbeat_time == o.heartbeat_time && hostname == o.hostname && idp_policy_id == o.idp_policy_id && idp_policy_name == o.idp_policy_name && @@ -274,7 +283,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [agent_version, cid, device_id, hostname, idp_policy_id, idp_policy_name, kerberos_config, ldap_config, ldaps_config, local_ip, machine_domain, ntlm_config, os_version, rdp_to_dc_config, smb_to_dc_config, status, status_causes, ti_enabled].hash + [agent_version, cid, device_id, heartbeat_time, hostname, idp_policy_id, idp_policy_name, kerberos_config, ldap_config, ldaps_config, local_ip, machine_domain, ntlm_config, os_version, rdp_to_dc_config, smb_to_dc_config, status, status_causes, ti_enabled].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/ioa_exclusions_ioa_exclusions_resp_v1.rb b/lib/crimson-falcon/models/ioa_exclusions_ioa_exclusions_resp_v1.rb index cea9fade..d0f998a0 100644 --- a/lib/crimson-falcon/models/ioa_exclusions_ioa_exclusions_resp_v1.rb +++ b/lib/crimson-falcon/models/ioa_exclusions_ioa_exclusions_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/iocapi_msa_reply_devices_ran_on.rb b/lib/crimson-falcon/models/iocapi_msa_reply_devices_ran_on.rb index 1e6bc614..000b14e3 100644 --- a/lib/crimson-falcon/models/iocapi_msa_reply_devices_ran_on.rb +++ b/lib/crimson-falcon/models/iocapi_msa_reply_devices_ran_on.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'IocapiResponseMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/iocapi_msa_reply_ioc_devices_count.rb b/lib/crimson-falcon/models/iocapi_msa_reply_ioc_devices_count.rb index b2775cb8..12a9bc7b 100644 --- a/lib/crimson-falcon/models/iocapi_msa_reply_ioc_devices_count.rb +++ b/lib/crimson-falcon/models/iocapi_msa_reply_ioc_devices_count.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'IocapiResponseMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/iocapi_msa_reply_processes_ran_on.rb b/lib/crimson-falcon/models/iocapi_msa_reply_processes_ran_on.rb index d06b8072..da14cf1b 100644 --- a/lib/crimson-falcon/models/iocapi_msa_reply_processes_ran_on.rb +++ b/lib/crimson-falcon/models/iocapi_msa_reply_processes_ran_on.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'IocapiResponseMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/jsonschema_condition_group_fields.rb b/lib/crimson-falcon/models/jsonschema_condition_group_fields.rb index 1063a4ac..6395fc23 100644 --- a/lib/crimson-falcon/models/jsonschema_condition_group_fields.rb +++ b/lib/crimson-falcon/models/jsonschema_condition_group_fields.rb @@ -40,6 +40,8 @@ class JsonschemaConditionGroupFields attr_accessor :dependent_control + attr_accessor :requires_meta + attr_accessor :reset_fields # Attribute mapping from ruby-style variable name to JSON key. @@ -49,6 +51,7 @@ def self.attribute_map :'control_name' => :'control_name', :'controller' => :'controller', :'dependent_control' => :'dependent_control', + :'requires_meta' => :'requires_meta', :'reset_fields' => :'reset_fields' } end @@ -65,6 +68,7 @@ def self.openapi_types :'control_name' => :'String', :'controller' => :'Boolean', :'dependent_control' => :'String', + :'requires_meta' => :'String', :'reset_fields' => :'JsonschemaResetFields' } end @@ -106,6 +110,10 @@ def initialize(attributes = {}) self.dependent_control = attributes[:'dependent_control'] end + if attributes.key?(:'requires_meta') + self.requires_meta = attributes[:'requires_meta'] + end + if attributes.key?(:'reset_fields') self.reset_fields = attributes[:'reset_fields'] end @@ -133,6 +141,7 @@ def ==(o) control_name == o.control_name && controller == o.controller && dependent_control == o.dependent_control && + requires_meta == o.requires_meta && reset_fields == o.reset_fields end @@ -145,7 +154,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [condition_control, control_name, controller, dependent_control, reset_fields].hash + [condition_control, control_name, controller, dependent_control, requires_meta, reset_fields].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/domain_key_value_pair.rb b/lib/crimson-falcon/models/jsonschema_duration_option.rb similarity index 96% rename from lib/crimson-falcon/models/domain_key_value_pair.rb rename to lib/crimson-falcon/models/jsonschema_duration_option.rb index 25330d3f..1cb7de69 100644 --- a/lib/crimson-falcon/models/domain_key_value_pair.rb +++ b/lib/crimson-falcon/models/jsonschema_duration_option.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class DomainKeyValuePair + class JsonschemaDurationOption attr_accessor :name attr_accessor :value @@ -67,13 +67,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainKeyValuePair` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::JsonschemaDurationOption` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainKeyValuePair`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::JsonschemaDurationOption`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/jsonschema_sub_schema.rb b/lib/crimson-falcon/models/jsonschema_sub_schema.rb index db23cfdd..1d8ccc63 100644 --- a/lib/crimson-falcon/models/jsonschema_sub_schema.rb +++ b/lib/crimson-falcon/models/jsonschema_sub_schema.rb @@ -124,6 +124,8 @@ class JsonschemaSubSchema attr_accessor :x_cs_do_not_hide + attr_accessor :x_cs_immutable + attr_accessor :x_cs_indexable attr_accessor :x_cs_indexable_fields @@ -148,6 +150,8 @@ class JsonschemaSubSchema attr_accessor :x_cs_tags + attr_accessor :x_cs_ui + attr_accessor :x_cs_workflow # Attribute mapping from ruby-style variable name to JSON key. @@ -199,6 +203,7 @@ def self.attribute_map :'x_cs_can_create' => :'x-cs-can-create', :'x_cs_condition_group_fields' => :'x-cs-condition-group-fields', :'x_cs_do_not_hide' => :'x-cs-do-not-hide', + :'x_cs_immutable' => :'x-cs-immutable', :'x_cs_indexable' => :'x-cs-indexable', :'x_cs_indexable_fields' => :'x-cs-indexable-fields', :'x_cs_max_duration' => :'x-cs-max-duration', @@ -211,6 +216,7 @@ def self.attribute_map :'x_cs_signals_operators' => :'x-cs-signals-operators', :'x_cs_signals_sub_category' => :'x-cs-signals-subCategory', :'x_cs_tags' => :'x-cs-tags', + :'x_cs_ui' => :'x-cs-ui', :'x_cs_workflow' => :'x-cs-workflow' } end @@ -269,6 +275,7 @@ def self.openapi_types :'x_cs_can_create' => :'Boolean', :'x_cs_condition_group_fields' => :'JsonschemaConditionGroupFields', :'x_cs_do_not_hide' => :'Boolean', + :'x_cs_immutable' => :'Boolean', :'x_cs_indexable' => :'Boolean', :'x_cs_indexable_fields' => :'Array', :'x_cs_max_duration' => :'Integer', @@ -281,6 +288,7 @@ def self.openapi_types :'x_cs_signals_operators' => :'Array', :'x_cs_signals_sub_category' => :'String', :'x_cs_tags' => :'Array', + :'x_cs_ui' => :'JsonschemaUIExtensions', :'x_cs_workflow' => :'JsonschemaWorkflowExtensions' } end @@ -508,6 +516,10 @@ def initialize(attributes = {}) self.x_cs_do_not_hide = attributes[:'x_cs_do_not_hide'] end + if attributes.key?(:'x_cs_immutable') + self.x_cs_immutable = attributes[:'x_cs_immutable'] + end + if attributes.key?(:'x_cs_indexable') self.x_cs_indexable = attributes[:'x_cs_indexable'] end @@ -564,6 +576,10 @@ def initialize(attributes = {}) end end + if attributes.key?(:'x_cs_ui') + self.x_cs_ui = attributes[:'x_cs_ui'] + end + if attributes.key?(:'x_cs_workflow') self.x_cs_workflow = attributes[:'x_cs_workflow'] end @@ -633,6 +649,7 @@ def ==(o) x_cs_can_create == o.x_cs_can_create && x_cs_condition_group_fields == o.x_cs_condition_group_fields && x_cs_do_not_hide == o.x_cs_do_not_hide && + x_cs_immutable == o.x_cs_immutable && x_cs_indexable == o.x_cs_indexable && x_cs_indexable_fields == o.x_cs_indexable_fields && x_cs_max_duration == o.x_cs_max_duration && @@ -645,6 +662,7 @@ def ==(o) x_cs_signals_operators == o.x_cs_signals_operators && x_cs_signals_sub_category == o.x_cs_signals_sub_category && x_cs_tags == o.x_cs_tags && + x_cs_ui == o.x_cs_ui && x_cs_workflow == o.x_cs_workflow end @@ -657,7 +675,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [ref, schema, additional_items, additional_properties, all_of, any_of, binary_encoding, const, default, dependencies, deprecated, description, _else, enum, error_message, examples, exclusive_maximum, exclusive_minimum, format, _if, items, max_items, max_length, max_properties, maximum, media, min_items, min_length, min_properties, minimum, multiple_of, _not, one_of, pattern, pattern_properties, properties, required, _then, title, type, uicomponent, unique_items, x_cs_authorization, x_cs_can_create, x_cs_condition_group_fields, x_cs_do_not_hide, x_cs_indexable, x_cs_indexable_fields, x_cs_max_duration, x_cs_min_duration, x_cs_not_parameterizable, x_cs_order, x_cs_pivot, x_cs_signals, x_cs_signals_category, x_cs_signals_operators, x_cs_signals_sub_category, x_cs_tags, x_cs_workflow].hash + [ref, schema, additional_items, additional_properties, all_of, any_of, binary_encoding, const, default, dependencies, deprecated, description, _else, enum, error_message, examples, exclusive_maximum, exclusive_minimum, format, _if, items, max_items, max_length, max_properties, maximum, media, min_items, min_length, min_properties, minimum, multiple_of, _not, one_of, pattern, pattern_properties, properties, required, _then, title, type, uicomponent, unique_items, x_cs_authorization, x_cs_can_create, x_cs_condition_group_fields, x_cs_do_not_hide, x_cs_immutable, x_cs_indexable, x_cs_indexable_fields, x_cs_max_duration, x_cs_min_duration, x_cs_not_parameterizable, x_cs_order, x_cs_pivot, x_cs_signals, x_cs_signals_category, x_cs_signals_operators, x_cs_signals_sub_category, x_cs_tags, x_cs_ui, x_cs_workflow].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/jsonschema_ui_extensions.rb b/lib/crimson-falcon/models/jsonschema_ui_extensions.rb new file mode 100644 index 00000000..9a6d13f3 --- /dev/null +++ b/lib/crimson-falcon/models/jsonschema_ui_extensions.rb @@ -0,0 +1,285 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class JsonschemaUIExtensions + # supported file extensions for file upload, eg. '.yaml', '.json' + attr_accessor :accept + + attr_accessor :component + + attr_accessor :custom_group_name + + attr_accessor :duration_options + + # supported encoding for file upload, eg. 'base64' + attr_accessor :encoding + + attr_accessor :helper_text + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'accept' => :'accept', + :'component' => :'component', + :'custom_group_name' => :'customGroupName', + :'duration_options' => :'durationOptions', + :'encoding' => :'encoding', + :'helper_text' => :'helperText' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'accept' => :'Array', + :'component' => :'String', + :'custom_group_name' => :'String', + :'duration_options' => :'Array', + :'encoding' => :'String', + :'helper_text' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::JsonschemaUIExtensions` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::JsonschemaUIExtensions`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'accept') + if (value = attributes[:'accept']).is_a?(Array) + self.accept = value + end + end + + if attributes.key?(:'component') + self.component = attributes[:'component'] + end + + if attributes.key?(:'custom_group_name') + self.custom_group_name = attributes[:'custom_group_name'] + end + + if attributes.key?(:'duration_options') + if (value = attributes[:'duration_options']).is_a?(Array) + self.duration_options = value + end + end + + if attributes.key?(:'encoding') + self.encoding = attributes[:'encoding'] + end + + if attributes.key?(:'helper_text') + self.helper_text = attributes[:'helper_text'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + accept == o.accept && + component == o.component && + custom_group_name == o.custom_group_name && + duration_options == o.duration_options && + encoding == o.encoding && + helper_text == o.helper_text + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [accept, component, custom_group_name, duration_options, encoding, helper_text].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/jsonschema_workflow_extensions.rb b/lib/crimson-falcon/models/jsonschema_workflow_extensions.rb index 51d9b49b..416678a1 100644 --- a/lib/crimson-falcon/models/jsonschema_workflow_extensions.rb +++ b/lib/crimson-falcon/models/jsonschema_workflow_extensions.rb @@ -34,6 +34,9 @@ module Falcon class JsonschemaWorkflowExtensions attr_accessor :description + # max file size allowed in bytes + attr_accessor :max_file_size + attr_accessor :name attr_accessor :node_id @@ -48,6 +51,7 @@ class JsonschemaWorkflowExtensions def self.attribute_map { :'description' => :'description', + :'max_file_size' => :'max_file_size', :'name' => :'name', :'node_id' => :'node_id', :'system' => :'system', @@ -65,6 +69,7 @@ def self.acceptable_attributes def self.openapi_types { :'description' => :'String', + :'max_file_size' => :'Integer', :'name' => :'String', :'node_id' => :'String', :'system' => :'Boolean', @@ -98,6 +103,10 @@ def initialize(attributes = {}) self.description = attributes[:'description'] end + if attributes.key?(:'max_file_size') + self.max_file_size = attributes[:'max_file_size'] + end + if attributes.key?(:'name') self.name = attributes[:'name'] end @@ -140,6 +149,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && description == o.description && + max_file_size == o.max_file_size && name == o.name && node_id == o.node_id && system == o.system && @@ -156,7 +166,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [description, name, node_id, system, tags, x_cs_no_variable_injection].hash + [description, max_file_size, name, node_id, system, tags, x_cs_no_variable_injection].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/k8sassets_cluster_enrichment_data.rb b/lib/crimson-falcon/models/k8sassets_cluster_enrichment_data.rb index 820f8686..6183b732 100644 --- a/lib/crimson-falcon/models/k8sassets_cluster_enrichment_data.rb +++ b/lib/crimson-falcon/models/k8sassets_cluster_enrichment_data.rb @@ -34,6 +34,8 @@ module Falcon class K8sassetsClusterEnrichmentData attr_accessor :container_count + attr_accessor :image_count + attr_accessor :node_count attr_accessor :pod_count @@ -42,6 +44,7 @@ class K8sassetsClusterEnrichmentData def self.attribute_map { :'container_count' => :'container_count', + :'image_count' => :'image_count', :'node_count' => :'node_count', :'pod_count' => :'pod_count' } @@ -56,6 +59,7 @@ def self.acceptable_attributes def self.openapi_types { :'container_count' => :'Integer', + :'image_count' => :'Integer', :'node_count' => :'Integer', :'pod_count' => :'Integer' } @@ -86,6 +90,10 @@ def initialize(attributes = {}) self.container_count = attributes[:'container_count'] end + if attributes.key?(:'image_count') + self.image_count = attributes[:'image_count'] + end + if attributes.key?(:'node_count') self.node_count = attributes[:'node_count'] end @@ -103,6 +111,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "container_count", container_count cannot be nil.') end + if @image_count.nil? + invalid_properties.push('invalid value for "image_count", image_count cannot be nil.') + end + if @node_count.nil? invalid_properties.push('invalid value for "node_count", node_count cannot be nil.') end @@ -118,6 +130,7 @@ def list_invalid_properties # @return true if the model is valid def valid? return false if @container_count.nil? + return false if @image_count.nil? return false if @node_count.nil? return false if @pod_count.nil? true @@ -129,6 +142,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && container_count == o.container_count && + image_count == o.image_count && node_count == o.node_count && pod_count == o.pod_count end @@ -142,7 +156,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [container_count, node_count, pod_count].hash + [container_count, image_count, node_count, pod_count].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/k8sassets_cluster_enrichment_response.rb b/lib/crimson-falcon/models/k8sassets_cluster_enrichment_response.rb index 49b235f3..6c6bc651 100644 --- a/lib/crimson-falcon/models/k8sassets_cluster_enrichment_response.rb +++ b/lib/crimson-falcon/models/k8sassets_cluster_enrichment_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes def self.openapi_types { :'enrichment_data' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/k8sassets_container_enrichment_response.rb b/lib/crimson-falcon/models/k8sassets_container_enrichment_response.rb index 2a3411f1..65dc337c 100644 --- a/lib/crimson-falcon/models/k8sassets_container_enrichment_response.rb +++ b/lib/crimson-falcon/models/k8sassets_container_enrichment_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes def self.openapi_types { :'enrichment_data' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/k8sassets_deployment_enrichment_response.rb b/lib/crimson-falcon/models/k8sassets_deployment_enrichment_response.rb index 74521172..4dade412 100644 --- a/lib/crimson-falcon/models/k8sassets_deployment_enrichment_response.rb +++ b/lib/crimson-falcon/models/k8sassets_deployment_enrichment_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes def self.openapi_types { :'enrichment_data' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/k8sassets_node_enrichment_response.rb b/lib/crimson-falcon/models/k8sassets_node_enrichment_response.rb index 41108a32..9844c166 100644 --- a/lib/crimson-falcon/models/k8sassets_node_enrichment_response.rb +++ b/lib/crimson-falcon/models/k8sassets_node_enrichment_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes def self.openapi_types { :'enrichment_data' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/k8sassets_pod_enrichment_response.rb b/lib/crimson-falcon/models/k8sassets_pod_enrichment_response.rb index edacc252..98d02d62 100644 --- a/lib/crimson-falcon/models/k8sassets_pod_enrichment_response.rb +++ b/lib/crimson-falcon/models/k8sassets_pod_enrichment_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes def self.openapi_types { :'enrichment_data' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/k8sioms_kubernetes_iom_count_value.rb b/lib/crimson-falcon/models/k8sioms_kubernetes_iom_count_value.rb index 1c4dee11..58527994 100644 --- a/lib/crimson-falcon/models/k8sioms_kubernetes_iom_count_value.rb +++ b/lib/crimson-falcon/models/k8sioms_kubernetes_iom_count_value.rb @@ -32,18 +32,18 @@ module Falcon class K8siomsKubernetesIOMCountValue - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/k8sioms_kubernetes_iom_entity_response.rb b/lib/crimson-falcon/models/k8sioms_kubernetes_iom_entity_response.rb index 7592f401..9a8d5f95 100644 --- a/lib/crimson-falcon/models/k8sioms_kubernetes_iom_entity_response.rb +++ b/lib/crimson-falcon/models/k8sioms_kubernetes_iom_entity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sioms_kubernetes_iom_field_value.rb b/lib/crimson-falcon/models/k8sioms_kubernetes_iom_field_value.rb index c2c75d6d..898bcce2 100644 --- a/lib/crimson-falcon/models/k8sioms_kubernetes_iom_field_value.rb +++ b/lib/crimson-falcon/models/k8sioms_kubernetes_iom_field_value.rb @@ -32,18 +32,18 @@ module Falcon class K8siomsKubernetesIOMFieldValue - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/k8sreg_create_aws_acc_resp.rb b/lib/crimson-falcon/models/k8sreg_create_aws_acc_resp.rb index 320213f4..bf9ee0a5 100644 --- a/lib/crimson-falcon/models/k8sreg_create_aws_acc_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_create_aws_acc_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_get_aws_accounts_resp.rb b/lib/crimson-falcon/models/k8sreg_get_aws_accounts_resp.rb index e54350ee..cee9967f 100644 --- a/lib/crimson-falcon/models/k8sreg_get_aws_accounts_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_get_aws_accounts_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_get_azure_bash_script_resp.rb b/lib/crimson-falcon/models/k8sreg_get_azure_bash_script_resp.rb index bd42f85d..6b92fd28 100644 --- a/lib/crimson-falcon/models/k8sreg_get_azure_bash_script_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_get_azure_bash_script_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_get_azure_subscriptions_resp.rb b/lib/crimson-falcon/models/k8sreg_get_azure_subscriptions_resp.rb index 314b1fa0..d020fccc 100644 --- a/lib/crimson-falcon/models/k8sreg_get_azure_subscriptions_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_get_azure_subscriptions_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_get_azure_tenant_config_resp.rb b/lib/crimson-falcon/models/k8sreg_get_azure_tenant_config_resp.rb index 15897b5d..300e72be 100644 --- a/lib/crimson-falcon/models/k8sreg_get_azure_tenant_config_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_get_azure_tenant_config_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_get_azure_tenant_info_resp.rb b/lib/crimson-falcon/models/k8sreg_get_azure_tenant_info_resp.rb index 33a7616d..67e0e595 100644 --- a/lib/crimson-falcon/models/k8sreg_get_azure_tenant_info_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_get_azure_tenant_info_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_get_clusters_resp.rb b/lib/crimson-falcon/models/k8sreg_get_clusters_resp.rb index 0c7f022c..dceb3814 100644 --- a/lib/crimson-falcon/models/k8sreg_get_clusters_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_get_clusters_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_get_locations_resp.rb b/lib/crimson-falcon/models/k8sreg_get_locations_resp.rb index 6b717ad6..9282e479 100644 --- a/lib/crimson-falcon/models/k8sreg_get_locations_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_get_locations_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_get_scripts_resp.rb b/lib/crimson-falcon/models/k8sreg_get_scripts_resp.rb index c02b5f0a..08e9f799 100644 --- a/lib/crimson-falcon/models/k8sreg_get_scripts_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_get_scripts_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_list_cluster_cloud_resp.rb b/lib/crimson-falcon/models/k8sreg_list_cluster_cloud_resp.rb index 81465ccb..af543e49 100644 --- a/lib/crimson-falcon/models/k8sreg_list_cluster_cloud_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_list_cluster_cloud_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/k8sreg_regen_api_key_resp.rb b/lib/crimson-falcon/models/k8sreg_regen_api_key_resp.rb index b38427ad..dc48c273 100644 --- a/lib/crimson-falcon/models/k8sreg_regen_api_key_resp.rb +++ b/lib/crimson-falcon/models/k8sreg_regen_api_key_resp.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/main_discovery_response_v2.rb b/lib/crimson-falcon/models/main_discovery_response_v2.rb index 7d7bedf6..f7821466 100644 --- a/lib/crimson-falcon/models/main_discovery_response_v2.rb +++ b/lib/crimson-falcon/models/main_discovery_response_v2.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/malquery_fuzzy_search_meta_info.rb b/lib/crimson-falcon/models/malquery_fuzzy_search_meta_info.rb index 004e1b85..c215b9f4 100644 --- a/lib/crimson-falcon/models/malquery_fuzzy_search_meta_info.rb +++ b/lib/crimson-falcon/models/malquery_fuzzy_search_meta_info.rb @@ -73,7 +73,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'pagination' => :'MsaspecPaging', + :'pagination' => :'MsaPaging', :'powered_by' => :'String', :'query_time' => :'Float', :'reqid' => :'String', diff --git a/lib/crimson-falcon/models/malquery_query_meta_info.rb b/lib/crimson-falcon/models/malquery_query_meta_info.rb index 603b2ad0..de49b932 100644 --- a/lib/crimson-falcon/models/malquery_query_meta_info.rb +++ b/lib/crimson-falcon/models/malquery_query_meta_info.rb @@ -70,7 +70,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'pagination' => :'MsaspecPaging', + :'pagination' => :'MsaPaging', :'powered_by' => :'String', :'query_time' => :'Float', :'reqid' => :'String', diff --git a/lib/crimson-falcon/models/malquery_rate_limits_response.rb b/lib/crimson-falcon/models/malquery_rate_limits_response.rb index 9fd5d130..350a4a44 100644 --- a/lib/crimson-falcon/models/malquery_rate_limits_response.rb +++ b/lib/crimson-falcon/models/malquery_rate_limits_response.rb @@ -52,7 +52,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'MalqueryRateLimitsMeta' } end diff --git a/lib/crimson-falcon/models/malquery_request_meta_info.rb b/lib/crimson-falcon/models/malquery_request_meta_info.rb index 8f0ff67e..6cfa5b60 100644 --- a/lib/crimson-falcon/models/malquery_request_meta_info.rb +++ b/lib/crimson-falcon/models/malquery_request_meta_info.rb @@ -93,7 +93,7 @@ def self.acceptable_attributes def self.openapi_types { :'options' => :'MalqueryExternalHuntOptions', - :'pagination' => :'MsaspecPaging', + :'pagination' => :'MsaPaging', :'patterns' => :'Array', :'powered_by' => :'String', :'query_time' => :'Float', diff --git a/lib/crimson-falcon/models/malquery_samples_metadata_meta_info.rb b/lib/crimson-falcon/models/malquery_samples_metadata_meta_info.rb index 4fff77bf..13193979 100644 --- a/lib/crimson-falcon/models/malquery_samples_metadata_meta_info.rb +++ b/lib/crimson-falcon/models/malquery_samples_metadata_meta_info.rb @@ -64,7 +64,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'pagination' => :'MsaspecPaging', + :'pagination' => :'MsaPaging', :'powered_by' => :'String', :'query_time' => :'Float', :'status' => :'String', diff --git a/lib/crimson-falcon/models/messages_case.rb b/lib/crimson-falcon/models/messages_case.rb index f852ba36..41c30369 100644 --- a/lib/crimson-falcon/models/messages_case.rb +++ b/lib/crimson-falcon/models/messages_case.rb @@ -58,6 +58,12 @@ class MessagesCase attr_accessor :last_modified_time + attr_accessor :malware_submission_id + + attr_accessor :malware_submission_url + + attr_accessor :recon_rule_type + attr_accessor :status attr_accessor :title @@ -80,6 +86,9 @@ def self.attribute_map :'ip_addresses' => :'ip_addresses', :'key' => :'key', :'last_modified_time' => :'last_modified_time', + :'malware_submission_id' => :'malware_submission_id', + :'malware_submission_url' => :'malware_submission_url', + :'recon_rule_type' => :'recon_rule_type', :'status' => :'status', :'title' => :'title', :'type' => :'type' @@ -107,6 +116,9 @@ def self.openapi_types :'ip_addresses' => :'Array', :'key' => :'String', :'last_modified_time' => :'String', + :'malware_submission_id' => :'String', + :'malware_submission_url' => :'String', + :'recon_rule_type' => :'String', :'status' => :'String', :'title' => :'String', :'type' => :'String' @@ -198,6 +210,18 @@ def initialize(attributes = {}) self.last_modified_time = attributes[:'last_modified_time'] end + if attributes.key?(:'malware_submission_id') + self.malware_submission_id = attributes[:'malware_submission_id'] + end + + if attributes.key?(:'malware_submission_url') + self.malware_submission_url = attributes[:'malware_submission_url'] + end + + if attributes.key?(:'recon_rule_type') + self.recon_rule_type = attributes[:'recon_rule_type'] + end + if attributes.key?(:'status') self.status = attributes[:'status'] end @@ -267,6 +291,18 @@ def list_invalid_properties invalid_properties.push('invalid value for "last_modified_time", last_modified_time cannot be nil.') end + if @malware_submission_id.nil? + invalid_properties.push('invalid value for "malware_submission_id", malware_submission_id cannot be nil.') + end + + if @malware_submission_url.nil? + invalid_properties.push('invalid value for "malware_submission_url", malware_submission_url cannot be nil.') + end + + if @recon_rule_type.nil? + invalid_properties.push('invalid value for "recon_rule_type", recon_rule_type cannot be nil.') + end + if @status.nil? invalid_properties.push('invalid value for "status", status cannot be nil.') end @@ -298,6 +334,9 @@ def valid? return false if @ip_addresses.nil? return false if @key.nil? return false if @last_modified_time.nil? + return false if @malware_submission_id.nil? + return false if @malware_submission_url.nil? + return false if @recon_rule_type.nil? return false if @status.nil? return false if @title.nil? return false if @type.nil? @@ -322,6 +361,9 @@ def ==(o) ip_addresses == o.ip_addresses && key == o.key && last_modified_time == o.last_modified_time && + malware_submission_id == o.malware_submission_id && + malware_submission_url == o.malware_submission_url && + recon_rule_type == o.recon_rule_type && status == o.status && title == o.title && type == o.type @@ -336,7 +378,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [aids, assigner, attachments, body, cid, created_time, detections, hosts, id, incidents, ip_addresses, key, last_modified_time, status, title, type].hash + [aids, assigner, attachments, body, cid, created_time, detections, hosts, id, incidents, ip_addresses, key, last_modified_time, malware_submission_id, malware_submission_url, recon_rule_type, status, title, type].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/mlscannerapi_meta_info.rb b/lib/crimson-falcon/models/mlscannerapi_meta_info.rb index 09effbd6..11b75d24 100644 --- a/lib/crimson-falcon/models/mlscannerapi_meta_info.rb +++ b/lib/crimson-falcon/models/mlscannerapi_meta_info.rb @@ -64,7 +64,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'pagination' => :'MsaspecPaging', + :'pagination' => :'MsaPaging', :'powered_by' => :'String', :'query_time' => :'Float', :'quota' => :'MlscannerapiQuota', diff --git a/lib/crimson-falcon/models/mlscannerapi_query_response.rb b/lib/crimson-falcon/models/mlscannerapi_query_response.rb index 2a47e16a..95e0b777 100644 --- a/lib/crimson-falcon/models/mlscannerapi_query_response.rb +++ b/lib/crimson-falcon/models/mlscannerapi_query_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'MlscannerapiMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/mlscannerapi_scan_v1_response.rb b/lib/crimson-falcon/models/mlscannerapi_scan_v1_response.rb index 64c1e744..2630fe07 100644 --- a/lib/crimson-falcon/models/mlscannerapi_scan_v1_response.rb +++ b/lib/crimson-falcon/models/mlscannerapi_scan_v1_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'MlscannerapiMetaInfo', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/model_user_input_read_response.rb b/lib/crimson-falcon/models/model_user_input_read_response.rb index 0bbf0eb3..1225c87e 100644 --- a/lib/crimson-falcon/models/model_user_input_read_response.rb +++ b/lib/crimson-falcon/models/model_user_input_read_response.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_account_status_response.rb b/lib/crimson-falcon/models/models_account_status_response.rb index 194a44a6..e501b95d 100644 --- a/lib/crimson-falcon/models/models_account_status_response.rb +++ b/lib/crimson-falcon/models/models_account_status_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_aggregate_values_by_field_response.rb b/lib/crimson-falcon/models/models_aggregate_values_by_field_response.rb index 5cd3cf29..249ab458 100644 --- a/lib/crimson-falcon/models/models_aggregate_values_by_field_response.rb +++ b/lib/crimson-falcon/models/models_aggregate_values_by_field_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_api_customer_and_image.rb b/lib/crimson-falcon/models/models_api_customer_and_image.rb index 9e2812d2..9bb31466 100644 --- a/lib/crimson-falcon/models/models_api_customer_and_image.rb +++ b/lib/crimson-falcon/models/models_api_customer_and_image.rb @@ -32,6 +32,8 @@ module Falcon class ModelsAPICustomerAndImage + attr_accessor :base_image_id + attr_accessor :base_os attr_accessor :base_os_version @@ -56,19 +58,28 @@ class ModelsAPICustomerAndImage attr_accessor :image_size + attr_accessor :is_base_image + attr_accessor :registry attr_accessor :repository + attr_accessor :source + + attr_accessor :source_base_image + attr_accessor :tag attr_accessor :updated_at attr_accessor :uuid + attr_accessor :warning + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'base_image_id' => :'base_image_id', :'base_os' => :'base_os', :'base_os_version' => :'base_os_version', :'cid' => :'cid', @@ -81,11 +92,15 @@ def self.attribute_map :'image_id' => :'image_id', :'image_scanning_active' => :'image_scanning_active', :'image_size' => :'image_size', + :'is_base_image' => :'is_base_image', :'registry' => :'registry', :'repository' => :'repository', + :'source' => :'source', + :'source_base_image' => :'source_base_image', :'tag' => :'tag', :'updated_at' => :'updated_at', - :'uuid' => :'uuid' + :'uuid' => :'uuid', + :'warning' => :'warning' } end @@ -97,6 +112,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'base_image_id' => :'String', :'base_os' => :'String', :'base_os_version' => :'String', :'cid' => :'String', @@ -109,11 +125,15 @@ def self.openapi_types :'image_id' => :'String', :'image_scanning_active' => :'Boolean', :'image_size' => :'Integer', + :'is_base_image' => :'Boolean', :'registry' => :'String', :'repository' => :'String', + :'source' => :'String', + :'source_base_image' => :'ModelsImageDetails', :'tag' => :'String', :'updated_at' => :'String', - :'uuid' => :'String' + :'uuid' => :'String', + :'warning' => :'Integer' } end @@ -138,6 +158,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'base_image_id') + self.base_image_id = attributes[:'base_image_id'] + end + if attributes.key?(:'base_os') self.base_os = attributes[:'base_os'] end @@ -186,6 +210,10 @@ def initialize(attributes = {}) self.image_size = attributes[:'image_size'] end + if attributes.key?(:'is_base_image') + self.is_base_image = attributes[:'is_base_image'] + end + if attributes.key?(:'registry') self.registry = attributes[:'registry'] end @@ -194,6 +222,14 @@ def initialize(attributes = {}) self.repository = attributes[:'repository'] end + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + + if attributes.key?(:'source_base_image') + self.source_base_image = attributes[:'source_base_image'] + end + if attributes.key?(:'tag') self.tag = attributes[:'tag'] end @@ -205,6 +241,10 @@ def initialize(attributes = {}) if attributes.key?(:'uuid') self.uuid = attributes[:'uuid'] end + + if attributes.key?(:'warning') + self.warning = attributes[:'warning'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -255,6 +295,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "image_size", image_size cannot be nil.') end + if @is_base_image.nil? + invalid_properties.push('invalid value for "is_base_image", is_base_image cannot be nil.') + end + if @registry.nil? invalid_properties.push('invalid value for "registry", registry cannot be nil.') end @@ -263,6 +307,14 @@ def list_invalid_properties invalid_properties.push('invalid value for "repository", repository cannot be nil.') end + if @source.nil? + invalid_properties.push('invalid value for "source", source cannot be nil.') + end + + if @source_base_image.nil? + invalid_properties.push('invalid value for "source_base_image", source_base_image cannot be nil.') + end + if @tag.nil? invalid_properties.push('invalid value for "tag", tag cannot be nil.') end @@ -275,6 +327,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "uuid", uuid cannot be nil.') end + if @warning.nil? + invalid_properties.push('invalid value for "warning", warning cannot be nil.') + end + invalid_properties end @@ -292,11 +348,15 @@ def valid? return false if @image_id.nil? return false if @image_scanning_active.nil? return false if @image_size.nil? + return false if @is_base_image.nil? return false if @registry.nil? return false if @repository.nil? + return false if @source.nil? + return false if @source_base_image.nil? return false if @tag.nil? return false if @updated_at.nil? return false if @uuid.nil? + return false if @warning.nil? true end @@ -305,6 +365,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + base_image_id == o.base_image_id && base_os == o.base_os && base_os_version == o.base_os_version && cid == o.cid && @@ -317,11 +378,15 @@ def ==(o) image_id == o.image_id && image_scanning_active == o.image_scanning_active && image_size == o.image_size && + is_base_image == o.is_base_image && registry == o.registry && repository == o.repository && + source == o.source && + source_base_image == o.source_base_image && tag == o.tag && updated_at == o.updated_at && - uuid == o.uuid + uuid == o.uuid && + warning == o.warning end # @see the `==` method @@ -333,7 +398,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [base_os, base_os_version, cid, config, created_at, crowdstrike_user, digest, eol_date, first_scanned, image_id, image_scanning_active, image_size, registry, repository, tag, updated_at, uuid].hash + [base_image_id, base_os, base_os_version, cid, config, created_at, crowdstrike_user, digest, eol_date, first_scanned, image_id, image_scanning_active, image_size, is_base_image, registry, repository, source, source_base_image, tag, updated_at, uuid, warning].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_api_image_combined_export.rb b/lib/crimson-falcon/models/models_api_image_combined_export.rb index 287336df..4f72b0da 100644 --- a/lib/crimson-falcon/models/models_api_image_combined_export.rb +++ b/lib/crimson-falcon/models/models_api_image_combined_export.rb @@ -32,6 +32,8 @@ module Falcon class ModelsAPIImageCombinedExport + attr_accessor :architecture + attr_accessor :base_os attr_accessor :cid @@ -52,6 +54,8 @@ class ModelsAPIImageCombinedExport attr_accessor :image_id + attr_accessor :is_base_image + attr_accessor :last_seen attr_accessor :packages_impacted @@ -60,6 +64,8 @@ class ModelsAPIImageCombinedExport attr_accessor :repository + attr_accessor :source + attr_accessor :started_containers attr_accessor :stopped_containers @@ -75,6 +81,7 @@ class ModelsAPIImageCombinedExport # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'architecture' => :'architecture', :'base_os' => :'base_os', :'cid' => :'cid', :'cve_id' => :'cve_id', @@ -85,10 +92,12 @@ def self.attribute_map :'first_seen' => :'first_seen', :'image_digest' => :'image_digest', :'image_id' => :'image_id', + :'is_base_image' => :'is_base_image', :'last_seen' => :'last_seen', :'packages_impacted' => :'packages_impacted', :'registry' => :'registry', :'repository' => :'repository', + :'source' => :'source', :'started_containers' => :'started_containers', :'stopped_containers' => :'stopped_containers', :'tag' => :'tag', @@ -106,6 +115,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'architecture' => :'String', :'base_os' => :'String', :'cid' => :'String', :'cve_id' => :'String', @@ -116,10 +126,12 @@ def self.openapi_types :'first_seen' => :'String', :'image_digest' => :'String', :'image_id' => :'String', + :'is_base_image' => :'Boolean', :'last_seen' => :'String', :'packages_impacted' => :'Integer', :'registry' => :'String', :'repository' => :'String', + :'source' => :'String', :'started_containers' => :'Integer', :'stopped_containers' => :'Integer', :'tag' => :'String', @@ -150,6 +162,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'architecture') + self.architecture = attributes[:'architecture'] + end + if attributes.key?(:'base_os') self.base_os = attributes[:'base_os'] end @@ -190,6 +206,10 @@ def initialize(attributes = {}) self.image_id = attributes[:'image_id'] end + if attributes.key?(:'is_base_image') + self.is_base_image = attributes[:'is_base_image'] + end + if attributes.key?(:'last_seen') self.last_seen = attributes[:'last_seen'] end @@ -206,6 +226,10 @@ def initialize(attributes = {}) self.repository = attributes[:'repository'] end + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + if attributes.key?(:'started_containers') self.started_containers = attributes[:'started_containers'] end @@ -235,6 +259,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @architecture.nil? + invalid_properties.push('invalid value for "architecture", architecture cannot be nil.') + end + if @base_os.nil? invalid_properties.push('invalid value for "base_os", base_os cannot be nil.') end @@ -275,6 +303,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "image_id", image_id cannot be nil.') end + if @is_base_image.nil? + invalid_properties.push('invalid value for "is_base_image", is_base_image cannot be nil.') + end + if @last_seen.nil? invalid_properties.push('invalid value for "last_seen", last_seen cannot be nil.') end @@ -291,6 +323,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "repository", repository cannot be nil.') end + if @source.nil? + invalid_properties.push('invalid value for "source", source cannot be nil.') + end + if @started_containers.nil? invalid_properties.push('invalid value for "started_containers", started_containers cannot be nil.') end @@ -321,6 +357,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @architecture.nil? return false if @base_os.nil? return false if @cid.nil? return false if @cve_id.nil? @@ -331,10 +368,12 @@ def valid? return false if @first_seen.nil? return false if @image_digest.nil? return false if @image_id.nil? + return false if @is_base_image.nil? return false if @last_seen.nil? return false if @packages_impacted.nil? return false if @registry.nil? return false if @repository.nil? + return false if @source.nil? return false if @started_containers.nil? return false if @stopped_containers.nil? return false if @tag.nil? @@ -349,6 +388,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + architecture == o.architecture && base_os == o.base_os && cid == o.cid && cve_id == o.cve_id && @@ -359,10 +399,12 @@ def ==(o) first_seen == o.first_seen && image_digest == o.image_digest && image_id == o.image_id && + is_base_image == o.is_base_image && last_seen == o.last_seen && packages_impacted == o.packages_impacted && registry == o.registry && repository == o.repository && + source == o.source && started_containers == o.started_containers && stopped_containers == o.stopped_containers && tag == o.tag && @@ -380,7 +422,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [base_os, cid, cve_id, cvss_score, detection_name, detection_severity, detection_type, first_seen, image_digest, image_id, last_seen, packages_impacted, registry, repository, started_containers, stopped_containers, tag, vulnerability_cps_rating, vulnerability_description, vulnerability_severity].hash + [architecture, base_os, cid, cve_id, cvss_score, detection_name, detection_severity, detection_type, first_seen, image_digest, image_id, is_base_image, last_seen, packages_impacted, registry, repository, source, started_containers, stopped_containers, tag, vulnerability_cps_rating, vulnerability_description, vulnerability_severity].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_application_package_info_type.rb b/lib/crimson-falcon/models/models_application_package_info_type.rb index ecf4acaf..50cf5520 100644 --- a/lib/crimson-falcon/models/models_application_package_info_type.rb +++ b/lib/crimson-falcon/models/models_application_package_info_type.rb @@ -53,7 +53,7 @@ def self.acceptable_attributes def self.openapi_types { :'libraries' => :'Array', - :'type' => :'String' + :'type' => :'Integer' } end diff --git a/lib/crimson-falcon/models/models_aws_accounts_v1.rb b/lib/crimson-falcon/models/models_aws_accounts_v1.rb index feea3c8d..b909c21a 100644 --- a/lib/crimson-falcon/models/models_aws_accounts_v1.rb +++ b/lib/crimson-falcon/models/models_aws_accounts_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_base_image_request.rb b/lib/crimson-falcon/models/models_base_image_request.rb new file mode 100644 index 00000000..3e9470d7 --- /dev/null +++ b/lib/crimson-falcon/models/models_base_image_request.rb @@ -0,0 +1,270 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsBaseImageRequest + attr_accessor :image_digest + + attr_accessor :image_id + + attr_accessor :registry + + attr_accessor :repository + + attr_accessor :tag + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'image_digest' => :'image_digest', + :'image_id' => :'image_id', + :'registry' => :'registry', + :'repository' => :'repository', + :'tag' => :'tag' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'image_digest' => :'String', + :'image_id' => :'String', + :'registry' => :'String', + :'repository' => :'String', + :'tag' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsBaseImageRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsBaseImageRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'image_digest') + self.image_digest = attributes[:'image_digest'] + end + + if attributes.key?(:'image_id') + self.image_id = attributes[:'image_id'] + end + + if attributes.key?(:'registry') + self.registry = attributes[:'registry'] + end + + if attributes.key?(:'repository') + self.repository = attributes[:'repository'] + end + + if attributes.key?(:'tag') + self.tag = attributes[:'tag'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + image_digest == o.image_digest && + image_id == o.image_id && + registry == o.registry && + repository == o.repository && + tag == o.tag + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [image_digest, image_id, registry, repository, tag].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_base_response_v1.rb b/lib/crimson-falcon/models/models_base_response_v1.rb index 95e0815f..bdbde81a 100644 --- a/lib/crimson-falcon/models/models_base_response_v1.rb +++ b/lib/crimson-falcon/models/models_base_response_v1.rb @@ -52,8 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/models_cluster.rb b/lib/crimson-falcon/models/models_cluster.rb index c6a029e8..db791fe1 100644 --- a/lib/crimson-falcon/models/models_cluster.rb +++ b/lib/crimson-falcon/models/models_cluster.rb @@ -46,6 +46,8 @@ class ModelsCluster attr_accessor :cloud_region + attr_accessor :cloud_service + attr_accessor :cluster_id attr_accessor :cluster_name @@ -58,6 +60,10 @@ class ModelsCluster attr_accessor :first_seen + attr_accessor :iar_coverage + + attr_accessor :kac_agent_id + attr_accessor :kubernetes_version attr_accessor :labels_list @@ -86,12 +92,15 @@ def self.attribute_map :'cloud_account_id' => :'cloud_account_id', :'cloud_name' => :'cloud_name', :'cloud_region' => :'cloud_region', + :'cloud_service' => :'cloud_service', :'cluster_id' => :'cluster_id', :'cluster_name' => :'cluster_name', :'cluster_security_group' => :'cluster_security_group', :'cluster_status' => :'cluster_status', :'container_count' => :'container_count', :'first_seen' => :'first_seen', + :'iar_coverage' => :'iar_coverage', + :'kac_agent_id' => :'kac_agent_id', :'kubernetes_version' => :'kubernetes_version', :'labels_list' => :'labels_list', :'last_seen' => :'last_seen', @@ -119,12 +128,15 @@ def self.openapi_types :'cloud_account_id' => :'String', :'cloud_name' => :'String', :'cloud_region' => :'String', + :'cloud_service' => :'String', :'cluster_id' => :'String', :'cluster_name' => :'String', :'cluster_security_group' => :'String', :'cluster_status' => :'String', :'container_count' => :'Integer', :'first_seen' => :'String', + :'iar_coverage' => :'Boolean', + :'kac_agent_id' => :'String', :'kubernetes_version' => :'String', :'labels_list' => :'Array', :'last_seen' => :'String', @@ -188,6 +200,10 @@ def initialize(attributes = {}) self.cloud_region = attributes[:'cloud_region'] end + if attributes.key?(:'cloud_service') + self.cloud_service = attributes[:'cloud_service'] + end + if attributes.key?(:'cluster_id') self.cluster_id = attributes[:'cluster_id'] end @@ -212,6 +228,14 @@ def initialize(attributes = {}) self.first_seen = attributes[:'first_seen'] end + if attributes.key?(:'iar_coverage') + self.iar_coverage = attributes[:'iar_coverage'] + end + + if attributes.key?(:'kac_agent_id') + self.kac_agent_id = attributes[:'kac_agent_id'] + end + if attributes.key?(:'kubernetes_version') self.kubernetes_version = attributes[:'kubernetes_version'] end @@ -285,6 +309,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "cloud_region", cloud_region cannot be nil.') end + if @cloud_service.nil? + invalid_properties.push('invalid value for "cloud_service", cloud_service cannot be nil.') + end + if @cluster_id.nil? invalid_properties.push('invalid value for "cluster_id", cluster_id cannot be nil.') end @@ -309,6 +337,14 @@ def list_invalid_properties invalid_properties.push('invalid value for "first_seen", first_seen cannot be nil.') end + if @iar_coverage.nil? + invalid_properties.push('invalid value for "iar_coverage", iar_coverage cannot be nil.') + end + + if @kac_agent_id.nil? + invalid_properties.push('invalid value for "kac_agent_id", kac_agent_id cannot be nil.') + end + if @kubernetes_version.nil? invalid_properties.push('invalid value for "kubernetes_version", kubernetes_version cannot be nil.') end @@ -358,12 +394,15 @@ def valid? return false if @cloud_account_id.nil? return false if @cloud_name.nil? return false if @cloud_region.nil? + return false if @cloud_service.nil? return false if @cluster_id.nil? return false if @cluster_name.nil? return false if @cluster_security_group.nil? return false if @cluster_status.nil? return false if @container_count.nil? return false if @first_seen.nil? + return false if @iar_coverage.nil? + return false if @kac_agent_id.nil? return false if @kubernetes_version.nil? return false if @labels_list.nil? return false if @last_seen.nil? @@ -388,12 +427,15 @@ def ==(o) cloud_account_id == o.cloud_account_id && cloud_name == o.cloud_name && cloud_region == o.cloud_region && + cloud_service == o.cloud_service && cluster_id == o.cluster_id && cluster_name == o.cluster_name && cluster_security_group == o.cluster_security_group && cluster_status == o.cluster_status && container_count == o.container_count && first_seen == o.first_seen && + iar_coverage == o.iar_coverage && + kac_agent_id == o.kac_agent_id && kubernetes_version == o.kubernetes_version && labels_list == o.labels_list && last_seen == o.last_seen && @@ -414,7 +456,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [access, agent_status, agents, cid, cloud_account_id, cloud_name, cloud_region, cluster_id, cluster_name, cluster_security_group, cluster_status, container_count, first_seen, kubernetes_version, labels_list, last_seen, management_status, node_count, pod_count, security_group, tags, virtual_network].hash + [access, agent_status, agents, cid, cloud_account_id, cloud_name, cloud_region, cloud_service, cluster_id, cluster_name, cluster_security_group, cluster_status, container_count, first_seen, iar_coverage, kac_agent_id, kubernetes_version, labels_list, last_seen, management_status, node_count, pod_count, security_group, tags, virtual_network].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_cluster_entity_response.rb b/lib/crimson-falcon/models/models_cluster_entity_response.rb index 719f46a0..7074e54e 100644 --- a/lib/crimson-falcon/models/models_cluster_entity_response.rb +++ b/lib/crimson-falcon/models/models_cluster_entity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_cluster_info.rb b/lib/crimson-falcon/models/models_cluster_info.rb new file mode 100644 index 00000000..52087ebf --- /dev/null +++ b/lib/crimson-falcon/models/models_cluster_info.rb @@ -0,0 +1,279 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsClusterInfo + attr_accessor :cloud + + attr_accessor :cloud_account_id + + attr_accessor :cloud_region + + attr_accessor :cloud_service + + attr_accessor :cluster_id + + attr_accessor :cluster_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cloud' => :'cloud', + :'cloud_account_id' => :'cloud_account_id', + :'cloud_region' => :'cloud_region', + :'cloud_service' => :'cloud_service', + :'cluster_id' => :'cluster_id', + :'cluster_name' => :'cluster_name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cloud' => :'String', + :'cloud_account_id' => :'String', + :'cloud_region' => :'String', + :'cloud_service' => :'String', + :'cluster_id' => :'String', + :'cluster_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsClusterInfo` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsClusterInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cloud') + self.cloud = attributes[:'cloud'] + end + + if attributes.key?(:'cloud_account_id') + self.cloud_account_id = attributes[:'cloud_account_id'] + end + + if attributes.key?(:'cloud_region') + self.cloud_region = attributes[:'cloud_region'] + end + + if attributes.key?(:'cloud_service') + self.cloud_service = attributes[:'cloud_service'] + end + + if attributes.key?(:'cluster_id') + self.cluster_id = attributes[:'cluster_id'] + end + + if attributes.key?(:'cluster_name') + self.cluster_name = attributes[:'cluster_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cloud == o.cloud && + cloud_account_id == o.cloud_account_id && + cloud_region == o.cloud_region && + cloud_service == o.cloud_service && + cluster_id == o.cluster_id && + cluster_name == o.cluster_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cloud, cloud_account_id, cloud_region, cloud_service, cluster_id, cluster_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_cluster_with_failed_rules.rb b/lib/crimson-falcon/models/models_cluster_with_failed_rules.rb new file mode 100644 index 00000000..24780747 --- /dev/null +++ b/lib/crimson-falcon/models/models_cluster_with_failed_rules.rb @@ -0,0 +1,309 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsClusterWithFailedRules + attr_accessor :_1 + + attr_accessor :_2 + + attr_accessor :_3 + + attr_accessor :_4 + + attr_accessor :cluster_id + + attr_accessor :cluster_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_1' => :'1', + :'_2' => :'2', + :'_3' => :'3', + :'_4' => :'4', + :'cluster_id' => :'cluster_id', + :'cluster_name' => :'cluster_name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_1' => :'Integer', + :'_2' => :'Integer', + :'_3' => :'Integer', + :'_4' => :'Integer', + :'cluster_id' => :'String', + :'cluster_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsClusterWithFailedRules` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsClusterWithFailedRules`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_1') + self._1 = attributes[:'_1'] + end + + if attributes.key?(:'_2') + self._2 = attributes[:'_2'] + end + + if attributes.key?(:'_3') + self._3 = attributes[:'_3'] + end + + if attributes.key?(:'_4') + self._4 = attributes[:'_4'] + end + + if attributes.key?(:'cluster_id') + self.cluster_id = attributes[:'cluster_id'] + end + + if attributes.key?(:'cluster_name') + self.cluster_name = attributes[:'cluster_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @_1.nil? + invalid_properties.push('invalid value for "_1", _1 cannot be nil.') + end + + if @_2.nil? + invalid_properties.push('invalid value for "_2", _2 cannot be nil.') + end + + if @_3.nil? + invalid_properties.push('invalid value for "_3", _3 cannot be nil.') + end + + if @_4.nil? + invalid_properties.push('invalid value for "_4", _4 cannot be nil.') + end + + if @cluster_id.nil? + invalid_properties.push('invalid value for "cluster_id", cluster_id cannot be nil.') + end + + if @cluster_name.nil? + invalid_properties.push('invalid value for "cluster_name", cluster_name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @_1.nil? + return false if @_2.nil? + return false if @_3.nil? + return false if @_4.nil? + return false if @cluster_id.nil? + return false if @cluster_name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _1 == o._1 && + _2 == o._2 && + _3 == o._3 && + _4 == o._4 && + cluster_id == o.cluster_id && + cluster_name == o.cluster_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_1, _2, _3, _4, cluster_id, cluster_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_compliance_by_rules.rb b/lib/crimson-falcon/models/models_compliance_by_rules.rb new file mode 100644 index 00000000..a6808813 --- /dev/null +++ b/lib/crimson-falcon/models/models_compliance_by_rules.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsComplianceByRules + attr_accessor :not_applicable_filters + + attr_accessor :percentage_of_passed_rules + + attr_accessor :rule_status_list + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'not_applicable_filters' => :'not_applicable_filters', + :'percentage_of_passed_rules' => :'percentage_of_passed_rules', + :'rule_status_list' => :'rule_status_list' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'not_applicable_filters' => :'String', + :'percentage_of_passed_rules' => :'Float', + :'rule_status_list' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsComplianceByRules` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsComplianceByRules`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'not_applicable_filters') + self.not_applicable_filters = attributes[:'not_applicable_filters'] + end + + if attributes.key?(:'percentage_of_passed_rules') + self.percentage_of_passed_rules = attributes[:'percentage_of_passed_rules'] + end + + if attributes.key?(:'rule_status_list') + if (value = attributes[:'rule_status_list']).is_a?(Array) + self.rule_status_list = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @not_applicable_filters.nil? + invalid_properties.push('invalid value for "not_applicable_filters", not_applicable_filters cannot be nil.') + end + + if @percentage_of_passed_rules.nil? + invalid_properties.push('invalid value for "percentage_of_passed_rules", percentage_of_passed_rules cannot be nil.') + end + + if @rule_status_list.nil? + invalid_properties.push('invalid value for "rule_status_list", rule_status_list cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @not_applicable_filters.nil? + return false if @percentage_of_passed_rules.nil? + return false if @rule_status_list.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + not_applicable_filters == o.not_applicable_filters && + percentage_of_passed_rules == o.percentage_of_passed_rules && + rule_status_list == o.rule_status_list + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [not_applicable_filters, percentage_of_passed_rules, rule_status_list].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_compliance_export_grouped_by_clusters_report.rb b/lib/crimson-falcon/models/models_compliance_export_grouped_by_clusters_report.rb new file mode 100644 index 00000000..676cab2e --- /dev/null +++ b/lib/crimson-falcon/models/models_compliance_export_grouped_by_clusters_report.rb @@ -0,0 +1,435 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsComplianceExportGroupedByClustersReport + attr_accessor :cid + + attr_accessor :cloud_account_id + + attr_accessor :cloud_provider + + attr_accessor :cloud_region + + attr_accessor :cluster_name + + attr_accessor :failed_critical_rules + + attr_accessor :failed_high_rules + + attr_accessor :failed_rules + + attr_accessor :failed_rules_list + + attr_accessor :non_compliant_containers + + attr_accessor :non_compliant_images + + attr_accessor :passed_rules + + attr_accessor :percentage_of_compliant_assets + + attr_accessor :total_containers + + attr_accessor :total_images + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cid' => :'cid', + :'cloud_account_id' => :'cloud_account_id', + :'cloud_provider' => :'cloud_provider', + :'cloud_region' => :'cloud_region', + :'cluster_name' => :'cluster_name', + :'failed_critical_rules' => :'failed_critical_rules', + :'failed_high_rules' => :'failed_high_rules', + :'failed_rules' => :'failed_rules', + :'failed_rules_list' => :'failed_rules_list', + :'non_compliant_containers' => :'non_compliant_containers', + :'non_compliant_images' => :'non_compliant_images', + :'passed_rules' => :'passed_rules', + :'percentage_of_compliant_assets' => :'percentage_of_compliant_assets', + :'total_containers' => :'total_containers', + :'total_images' => :'total_images' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cid' => :'String', + :'cloud_account_id' => :'String', + :'cloud_provider' => :'String', + :'cloud_region' => :'String', + :'cluster_name' => :'String', + :'failed_critical_rules' => :'Integer', + :'failed_high_rules' => :'Integer', + :'failed_rules' => :'Integer', + :'failed_rules_list' => :'String', + :'non_compliant_containers' => :'Integer', + :'non_compliant_images' => :'Integer', + :'passed_rules' => :'Integer', + :'percentage_of_compliant_assets' => :'Float', + :'total_containers' => :'Integer', + :'total_images' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsComplianceExportGroupedByClustersReport` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsComplianceExportGroupedByClustersReport`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'cloud_account_id') + self.cloud_account_id = attributes[:'cloud_account_id'] + end + + if attributes.key?(:'cloud_provider') + self.cloud_provider = attributes[:'cloud_provider'] + end + + if attributes.key?(:'cloud_region') + self.cloud_region = attributes[:'cloud_region'] + end + + if attributes.key?(:'cluster_name') + self.cluster_name = attributes[:'cluster_name'] + end + + if attributes.key?(:'failed_critical_rules') + self.failed_critical_rules = attributes[:'failed_critical_rules'] + end + + if attributes.key?(:'failed_high_rules') + self.failed_high_rules = attributes[:'failed_high_rules'] + end + + if attributes.key?(:'failed_rules') + self.failed_rules = attributes[:'failed_rules'] + end + + if attributes.key?(:'failed_rules_list') + self.failed_rules_list = attributes[:'failed_rules_list'] + end + + if attributes.key?(:'non_compliant_containers') + self.non_compliant_containers = attributes[:'non_compliant_containers'] + end + + if attributes.key?(:'non_compliant_images') + self.non_compliant_images = attributes[:'non_compliant_images'] + end + + if attributes.key?(:'passed_rules') + self.passed_rules = attributes[:'passed_rules'] + end + + if attributes.key?(:'percentage_of_compliant_assets') + self.percentage_of_compliant_assets = attributes[:'percentage_of_compliant_assets'] + end + + if attributes.key?(:'total_containers') + self.total_containers = attributes[:'total_containers'] + end + + if attributes.key?(:'total_images') + self.total_images = attributes[:'total_images'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @cloud_account_id.nil? + invalid_properties.push('invalid value for "cloud_account_id", cloud_account_id cannot be nil.') + end + + if @cloud_provider.nil? + invalid_properties.push('invalid value for "cloud_provider", cloud_provider cannot be nil.') + end + + if @cloud_region.nil? + invalid_properties.push('invalid value for "cloud_region", cloud_region cannot be nil.') + end + + if @cluster_name.nil? + invalid_properties.push('invalid value for "cluster_name", cluster_name cannot be nil.') + end + + if @failed_critical_rules.nil? + invalid_properties.push('invalid value for "failed_critical_rules", failed_critical_rules cannot be nil.') + end + + if @failed_high_rules.nil? + invalid_properties.push('invalid value for "failed_high_rules", failed_high_rules cannot be nil.') + end + + if @failed_rules.nil? + invalid_properties.push('invalid value for "failed_rules", failed_rules cannot be nil.') + end + + if @failed_rules_list.nil? + invalid_properties.push('invalid value for "failed_rules_list", failed_rules_list cannot be nil.') + end + + if @non_compliant_containers.nil? + invalid_properties.push('invalid value for "non_compliant_containers", non_compliant_containers cannot be nil.') + end + + if @non_compliant_images.nil? + invalid_properties.push('invalid value for "non_compliant_images", non_compliant_images cannot be nil.') + end + + if @passed_rules.nil? + invalid_properties.push('invalid value for "passed_rules", passed_rules cannot be nil.') + end + + if @percentage_of_compliant_assets.nil? + invalid_properties.push('invalid value for "percentage_of_compliant_assets", percentage_of_compliant_assets cannot be nil.') + end + + if @total_containers.nil? + invalid_properties.push('invalid value for "total_containers", total_containers cannot be nil.') + end + + if @total_images.nil? + invalid_properties.push('invalid value for "total_images", total_images cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cid.nil? + return false if @cloud_account_id.nil? + return false if @cloud_provider.nil? + return false if @cloud_region.nil? + return false if @cluster_name.nil? + return false if @failed_critical_rules.nil? + return false if @failed_high_rules.nil? + return false if @failed_rules.nil? + return false if @failed_rules_list.nil? + return false if @non_compliant_containers.nil? + return false if @non_compliant_images.nil? + return false if @passed_rules.nil? + return false if @percentage_of_compliant_assets.nil? + return false if @total_containers.nil? + return false if @total_images.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cid == o.cid && + cloud_account_id == o.cloud_account_id && + cloud_provider == o.cloud_provider && + cloud_region == o.cloud_region && + cluster_name == o.cluster_name && + failed_critical_rules == o.failed_critical_rules && + failed_high_rules == o.failed_high_rules && + failed_rules == o.failed_rules && + failed_rules_list == o.failed_rules_list && + non_compliant_containers == o.non_compliant_containers && + non_compliant_images == o.non_compliant_images && + passed_rules == o.passed_rules && + percentage_of_compliant_assets == o.percentage_of_compliant_assets && + total_containers == o.total_containers && + total_images == o.total_images + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cid, cloud_account_id, cloud_provider, cloud_region, cluster_name, failed_critical_rules, failed_high_rules, failed_rules, failed_rules_list, non_compliant_containers, non_compliant_images, passed_rules, percentage_of_compliant_assets, total_containers, total_images].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_compliance_export_grouped_by_images_report.rb b/lib/crimson-falcon/models/models_compliance_export_grouped_by_images_report.rb new file mode 100644 index 00000000..6b858dd8 --- /dev/null +++ b/lib/crimson-falcon/models/models_compliance_export_grouped_by_images_report.rb @@ -0,0 +1,379 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsComplianceExportGroupedByImagesReport + attr_accessor :authority + + attr_accessor :cid + + attr_accessor :image_digest + + attr_accessor :image_id + + attr_accessor :image_registry + + attr_accessor :image_repository + + attr_accessor :image_tag + + attr_accessor :name + + attr_accessor :recommendation_id + + attr_accessor :severity + + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'authority' => :'authority', + :'cid' => :'cid', + :'image_digest' => :'image_digest', + :'image_id' => :'image_id', + :'image_registry' => :'image_registry', + :'image_repository' => :'image_repository', + :'image_tag' => :'image_tag', + :'name' => :'name', + :'recommendation_id' => :'recommendation_id', + :'severity' => :'severity', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'authority' => :'String', + :'cid' => :'String', + :'image_digest' => :'String', + :'image_id' => :'String', + :'image_registry' => :'String', + :'image_repository' => :'String', + :'image_tag' => :'String', + :'name' => :'String', + :'recommendation_id' => :'String', + :'severity' => :'Integer', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsComplianceExportGroupedByImagesReport` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsComplianceExportGroupedByImagesReport`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'authority') + self.authority = attributes[:'authority'] + end + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'image_digest') + self.image_digest = attributes[:'image_digest'] + end + + if attributes.key?(:'image_id') + self.image_id = attributes[:'image_id'] + end + + if attributes.key?(:'image_registry') + self.image_registry = attributes[:'image_registry'] + end + + if attributes.key?(:'image_repository') + self.image_repository = attributes[:'image_repository'] + end + + if attributes.key?(:'image_tag') + self.image_tag = attributes[:'image_tag'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'recommendation_id') + self.recommendation_id = attributes[:'recommendation_id'] + end + + if attributes.key?(:'severity') + self.severity = attributes[:'severity'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @authority.nil? + invalid_properties.push('invalid value for "authority", authority cannot be nil.') + end + + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @image_digest.nil? + invalid_properties.push('invalid value for "image_digest", image_digest cannot be nil.') + end + + if @image_id.nil? + invalid_properties.push('invalid value for "image_id", image_id cannot be nil.') + end + + if @image_registry.nil? + invalid_properties.push('invalid value for "image_registry", image_registry cannot be nil.') + end + + if @image_repository.nil? + invalid_properties.push('invalid value for "image_repository", image_repository cannot be nil.') + end + + if @image_tag.nil? + invalid_properties.push('invalid value for "image_tag", image_tag cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @recommendation_id.nil? + invalid_properties.push('invalid value for "recommendation_id", recommendation_id cannot be nil.') + end + + if @severity.nil? + invalid_properties.push('invalid value for "severity", severity cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @authority.nil? + return false if @cid.nil? + return false if @image_digest.nil? + return false if @image_id.nil? + return false if @image_registry.nil? + return false if @image_repository.nil? + return false if @image_tag.nil? + return false if @name.nil? + return false if @recommendation_id.nil? + return false if @severity.nil? + return false if @status.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + authority == o.authority && + cid == o.cid && + image_digest == o.image_digest && + image_id == o.image_id && + image_registry == o.image_registry && + image_repository == o.image_repository && + image_tag == o.image_tag && + name == o.name && + recommendation_id == o.recommendation_id && + severity == o.severity && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [authority, cid, image_digest, image_id, image_registry, image_repository, image_tag, name, recommendation_id, severity, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_event.rb b/lib/crimson-falcon/models/models_compliance_export_grouped_by_rules_report.rb similarity index 55% rename from lib/crimson-falcon/models/domain_event.rb rename to lib/crimson-falcon/models/models_compliance_export_grouped_by_rules_report.rb index 9d08bb85..64a96306 100644 --- a/lib/crimson-falcon/models/domain_event.rb +++ b/lib/crimson-falcon/models/models_compliance_export_grouped_by_rules_report.rb @@ -31,62 +31,49 @@ require 'time' module Falcon - class DomainEvent - # The raw body of the event - attr_accessor :body + class ModelsComplianceExportGroupedByRulesReport + attr_accessor :asset_type - # By default, event bodies are truncated to 64kb and bodyIsTruncated is set to True. For event bodies larger than 64kb, call the /events-full-body endpoint with the respective eventId - attr_accessor :body_is_truncated + attr_accessor :authority - # Link to the event, can be missing - attr_accessor :body_link + attr_accessor :clusters - attr_accessor :botnet_config_source + attr_accessor :clusters_list - # The date the event was created (in UTC format) - attr_accessor :created_date + attr_accessor :failed_containers - attr_accessor :ddos_attack_source + attr_accessor :failed_images - # The type of event. One of `TweetEvent`, `CodePasteEvent`, `BotnetConfigEvent`, `DdosAttackEvent` - attr_accessor :event_type + attr_accessor :name - # The event's fingerprint - attr_accessor :fingerprint + attr_accessor :passed_containers - # The unique event ID - attr_accessor :id + attr_accessor :passed_images - # List of objects with rules that matched the event - attr_accessor :matched_rules + attr_accessor :rule_id - attr_accessor :pastebin_text_source + attr_accessor :severity - # A list of tags summarizing event content - attr_accessor :tags + attr_accessor :total_containers - attr_accessor :tweet_source - - # The date the event was last updated (in UTC format) - attr_accessor :updated_date + attr_accessor :total_images # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'body' => :'body', - :'body_is_truncated' => :'body_is_truncated', - :'body_link' => :'body_link', - :'botnet_config_source' => :'botnet_config_source', - :'created_date' => :'created_date', - :'ddos_attack_source' => :'ddos_attack_source', - :'event_type' => :'event_type', - :'fingerprint' => :'fingerprint', - :'id' => :'id', - :'matched_rules' => :'matched_rules', - :'pastebin_text_source' => :'pastebin_text_source', - :'tags' => :'tags', - :'tweet_source' => :'tweet_source', - :'updated_date' => :'updated_date' + :'asset_type' => :'asset_type', + :'authority' => :'authority', + :'clusters' => :'clusters', + :'clusters_list' => :'clusters_list', + :'failed_containers' => :'failed_containers', + :'failed_images' => :'failed_images', + :'name' => :'name', + :'passed_containers' => :'passed_containers', + :'passed_images' => :'passed_images', + :'rule_id' => :'rule_id', + :'severity' => :'severity', + :'total_containers' => :'total_containers', + :'total_images' => :'total_images' } end @@ -98,20 +85,19 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'body' => :'String', - :'body_is_truncated' => :'Boolean', - :'body_link' => :'String', - :'botnet_config_source' => :'DomainBotnetConfigSource', - :'created_date' => :'String', - :'ddos_attack_source' => :'DomainDDOSAttackSource', - :'event_type' => :'String', - :'fingerprint' => :'String', - :'id' => :'String', - :'matched_rules' => :'Array', - :'pastebin_text_source' => :'DomainPastebinTextSource', - :'tags' => :'Array', - :'tweet_source' => :'DomainTweetSource', - :'updated_date' => :'String' + :'asset_type' => :'String', + :'authority' => :'String', + :'clusters' => :'Integer', + :'clusters_list' => :'String', + :'failed_containers' => :'Integer', + :'failed_images' => :'Integer', + :'name' => :'String', + :'passed_containers' => :'Integer', + :'passed_images' => :'Integer', + :'rule_id' => :'String', + :'severity' => :'Float', + :'total_containers' => :'Integer', + :'total_images' => :'Integer' } end @@ -125,75 +111,67 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainEvent` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsComplianceExportGroupedByRulesReport` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainEvent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsComplianceExportGroupedByRulesReport`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'body') - self.body = attributes[:'body'] + if attributes.key?(:'asset_type') + self.asset_type = attributes[:'asset_type'] end - if attributes.key?(:'body_is_truncated') - self.body_is_truncated = attributes[:'body_is_truncated'] + if attributes.key?(:'authority') + self.authority = attributes[:'authority'] end - if attributes.key?(:'body_link') - self.body_link = attributes[:'body_link'] + if attributes.key?(:'clusters') + self.clusters = attributes[:'clusters'] end - if attributes.key?(:'botnet_config_source') - self.botnet_config_source = attributes[:'botnet_config_source'] + if attributes.key?(:'clusters_list') + self.clusters_list = attributes[:'clusters_list'] end - if attributes.key?(:'created_date') - self.created_date = attributes[:'created_date'] + if attributes.key?(:'failed_containers') + self.failed_containers = attributes[:'failed_containers'] end - if attributes.key?(:'ddos_attack_source') - self.ddos_attack_source = attributes[:'ddos_attack_source'] + if attributes.key?(:'failed_images') + self.failed_images = attributes[:'failed_images'] end - if attributes.key?(:'event_type') - self.event_type = attributes[:'event_type'] + if attributes.key?(:'name') + self.name = attributes[:'name'] end - if attributes.key?(:'fingerprint') - self.fingerprint = attributes[:'fingerprint'] + if attributes.key?(:'passed_containers') + self.passed_containers = attributes[:'passed_containers'] end - if attributes.key?(:'id') - self.id = attributes[:'id'] + if attributes.key?(:'passed_images') + self.passed_images = attributes[:'passed_images'] end - if attributes.key?(:'matched_rules') - if (value = attributes[:'matched_rules']).is_a?(Array) - self.matched_rules = value - end + if attributes.key?(:'rule_id') + self.rule_id = attributes[:'rule_id'] end - if attributes.key?(:'pastebin_text_source') - self.pastebin_text_source = attributes[:'pastebin_text_source'] - end - - if attributes.key?(:'tags') - if (value = attributes[:'tags']).is_a?(Array) - self.tags = value - end + if attributes.key?(:'severity') + self.severity = attributes[:'severity'] end - if attributes.key?(:'tweet_source') - self.tweet_source = attributes[:'tweet_source'] + if attributes.key?(:'total_containers') + self.total_containers = attributes[:'total_containers'] end - if attributes.key?(:'updated_date') - self.updated_date = attributes[:'updated_date'] + if attributes.key?(:'total_images') + self.total_images = attributes[:'total_images'] end end @@ -201,32 +179,56 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @body.nil? - invalid_properties.push('invalid value for "body", body cannot be nil.') + if @asset_type.nil? + invalid_properties.push('invalid value for "asset_type", asset_type cannot be nil.') + end + + if @authority.nil? + invalid_properties.push('invalid value for "authority", authority cannot be nil.') + end + + if @clusters.nil? + invalid_properties.push('invalid value for "clusters", clusters cannot be nil.') + end + + if @clusters_list.nil? + invalid_properties.push('invalid value for "clusters_list", clusters_list cannot be nil.') + end + + if @failed_containers.nil? + invalid_properties.push('invalid value for "failed_containers", failed_containers cannot be nil.') + end + + if @failed_images.nil? + invalid_properties.push('invalid value for "failed_images", failed_images cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') end - if @body_is_truncated.nil? - invalid_properties.push('invalid value for "body_is_truncated", body_is_truncated cannot be nil.') + if @passed_containers.nil? + invalid_properties.push('invalid value for "passed_containers", passed_containers cannot be nil.') end - if @created_date.nil? - invalid_properties.push('invalid value for "created_date", created_date cannot be nil.') + if @passed_images.nil? + invalid_properties.push('invalid value for "passed_images", passed_images cannot be nil.') end - if @event_type.nil? - invalid_properties.push('invalid value for "event_type", event_type cannot be nil.') + if @rule_id.nil? + invalid_properties.push('invalid value for "rule_id", rule_id cannot be nil.') end - if @fingerprint.nil? - invalid_properties.push('invalid value for "fingerprint", fingerprint cannot be nil.') + if @severity.nil? + invalid_properties.push('invalid value for "severity", severity cannot be nil.') end - if @id.nil? - invalid_properties.push('invalid value for "id", id cannot be nil.') + if @total_containers.nil? + invalid_properties.push('invalid value for "total_containers", total_containers cannot be nil.') end - if @updated_date.nil? - invalid_properties.push('invalid value for "updated_date", updated_date cannot be nil.') + if @total_images.nil? + invalid_properties.push('invalid value for "total_images", total_images cannot be nil.') end invalid_properties @@ -235,13 +237,19 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @body.nil? - return false if @body_is_truncated.nil? - return false if @created_date.nil? - return false if @event_type.nil? - return false if @fingerprint.nil? - return false if @id.nil? - return false if @updated_date.nil? + return false if @asset_type.nil? + return false if @authority.nil? + return false if @clusters.nil? + return false if @clusters_list.nil? + return false if @failed_containers.nil? + return false if @failed_images.nil? + return false if @name.nil? + return false if @passed_containers.nil? + return false if @passed_images.nil? + return false if @rule_id.nil? + return false if @severity.nil? + return false if @total_containers.nil? + return false if @total_images.nil? true end @@ -250,20 +258,19 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - body == o.body && - body_is_truncated == o.body_is_truncated && - body_link == o.body_link && - botnet_config_source == o.botnet_config_source && - created_date == o.created_date && - ddos_attack_source == o.ddos_attack_source && - event_type == o.event_type && - fingerprint == o.fingerprint && - id == o.id && - matched_rules == o.matched_rules && - pastebin_text_source == o.pastebin_text_source && - tags == o.tags && - tweet_source == o.tweet_source && - updated_date == o.updated_date + asset_type == o.asset_type && + authority == o.authority && + clusters == o.clusters && + clusters_list == o.clusters_list && + failed_containers == o.failed_containers && + failed_images == o.failed_images && + name == o.name && + passed_containers == o.passed_containers && + passed_images == o.passed_images && + rule_id == o.rule_id && + severity == o.severity && + total_containers == o.total_containers && + total_images == o.total_images end # @see the `==` method @@ -275,7 +282,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [body, body_is_truncated, body_link, botnet_config_source, created_date, ddos_attack_source, event_type, fingerprint, id, matched_rules, pastebin_text_source, tags, tweet_source, updated_date].hash + [asset_type, authority, clusters, clusters_list, failed_containers, failed_images, name, passed_containers, passed_images, rule_id, severity, total_containers, total_images].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_container.rb b/lib/crimson-falcon/models/models_container.rb index 72532dbd..8c210174 100644 --- a/lib/crimson-falcon/models/models_container.rb +++ b/lib/crimson-falcon/models/models_container.rb @@ -38,44 +38,34 @@ class ModelsContainer attr_accessor :cid - attr_accessor :cloud - attr_accessor :cloud_account_id + attr_accessor :cloud_name + attr_accessor :cloud_region + attr_accessor :cloud_service + attr_accessor :cluster_id attr_accessor :cluster_name attr_accessor :config_labels - attr_accessor :config_user + attr_accessor :container_id - attr_accessor :container_image_id + attr_accessor :container_name attr_accessor :created_at - attr_accessor :cve_ids - attr_accessor :first_seen - attr_accessor :host_config_devices - - attr_accessor :id - attr_accessor :image_application_package_count attr_accessor :image_assessed_at attr_accessor :image_detection_count - attr_accessor :image_detection_id_list - - attr_accessor :image_detection_name_list - - attr_accessor :image_detection_severity_by_type - attr_accessor :image_digest attr_accessor :image_has_been_assessed @@ -88,14 +78,12 @@ class ModelsContainer attr_accessor :image_registry - attr_accessor :image_repo + attr_accessor :image_repository attr_accessor :image_tag attr_accessor :image_vulnerability_count - attr_accessor :image_vulnerability_severity_by_type - attr_accessor :insecure_mount_source attr_accessor :insecure_mount_type @@ -108,7 +96,7 @@ class ModelsContainer attr_accessor :ipv6 - attr_accessor :kpa_coverage + attr_accessor :kac_agent_id attr_accessor :labels @@ -116,48 +104,28 @@ class ModelsContainer attr_accessor :last_seen - attr_accessor :linux_sensor_aid - - attr_accessor :linux_sensor_config_build - - attr_accessor :linux_sensor_coverage - - attr_accessor :lumos_sensor_aid - - attr_accessor :lumos_sensor_config_build - - attr_accessor :lumos_sensor_coverage - - attr_accessor :name - attr_accessor :namespace - attr_accessor :node_id - attr_accessor :node_name + attr_accessor :node_uid + attr_accessor :pod_id attr_accessor :pod_name - attr_accessor :port_list + attr_accessor :ports attr_accessor :privileged attr_accessor :root_write_access - attr_accessor :rpd - attr_accessor :run_as_root_group attr_accessor :run_as_root_user attr_accessor :running_status - attr_accessor :snapshot_coverage - - attr_accessor :unidentified - attr_accessor :volume_mounts # Attribute mapping from ruby-style variable name to JSON key. @@ -166,66 +134,50 @@ def self.attribute_map :'agents' => :'agents', :'allow_privilege_escalation' => :'allow_privilege_escalation', :'cid' => :'cid', - :'cloud' => :'cloud', :'cloud_account_id' => :'cloud_account_id', + :'cloud_name' => :'cloud_name', :'cloud_region' => :'cloud_region', + :'cloud_service' => :'cloud_service', :'cluster_id' => :'cluster_id', :'cluster_name' => :'cluster_name', :'config_labels' => :'config_labels', - :'config_user' => :'config_user', - :'container_image_id' => :'container_image_id', + :'container_id' => :'container_id', + :'container_name' => :'container_name', :'created_at' => :'created_at', - :'cve_ids' => :'cve_ids', :'first_seen' => :'first_seen', - :'host_config_devices' => :'host_config_devices', - :'id' => :'id', :'image_application_package_count' => :'image_application_package_count', :'image_assessed_at' => :'image_assessed_at', :'image_detection_count' => :'image_detection_count', - :'image_detection_id_list' => :'image_detection_id_list', - :'image_detection_name_list' => :'image_detection_name_list', - :'image_detection_severity_by_type' => :'image_detection_severity_by_type', :'image_digest' => :'image_digest', :'image_has_been_assessed' => :'image_has_been_assessed', :'image_highest_severity_vulnerability' => :'image_highest_severity_vulnerability', :'image_id' => :'image_id', :'image_package_count' => :'image_package_count', :'image_registry' => :'image_registry', - :'image_repo' => :'image_repo', + :'image_repository' => :'image_repository', :'image_tag' => :'image_tag', :'image_vulnerability_count' => :'image_vulnerability_count', - :'image_vulnerability_severity_by_type' => :'image_vulnerability_severity_by_type', :'insecure_mount_source' => :'insecure_mount_source', :'insecure_mount_type' => :'insecure_mount_type', :'insecure_propagation_mode' => :'insecure_propagation_mode', :'interactive_mode' => :'interactive_mode', :'ipv4' => :'ipv4', :'ipv6' => :'ipv6', - :'kpa_coverage' => :'kpa_coverage', + :'kac_agent_id' => :'kac_agent_id', :'labels' => :'labels', :'labels_list' => :'labels_list', :'last_seen' => :'last_seen', - :'linux_sensor_aid' => :'linux_sensor_aid', - :'linux_sensor_config_build' => :'linux_sensor_config_build', - :'linux_sensor_coverage' => :'linux_sensor_coverage', - :'lumos_sensor_aid' => :'lumos_sensor_aid', - :'lumos_sensor_config_build' => :'lumos_sensor_config_build', - :'lumos_sensor_coverage' => :'lumos_sensor_coverage', - :'name' => :'name', :'namespace' => :'namespace', - :'node_id' => :'node_id', :'node_name' => :'node_name', + :'node_uid' => :'node_uid', :'pod_id' => :'pod_id', :'pod_name' => :'pod_name', - :'port_list' => :'port_list', + :'ports' => :'ports', :'privileged' => :'privileged', :'root_write_access' => :'root_write_access', - :'rpd' => :'rpd', :'run_as_root_group' => :'run_as_root_group', :'run_as_root_user' => :'run_as_root_user', :'running_status' => :'running_status', - :'snapshot_coverage' => :'snapshot_coverage', - :'unidentified' => :'unidentified', :'volume_mounts' => :'volume_mounts' } end @@ -241,66 +193,50 @@ def self.openapi_types :'agents' => :'Array', :'allow_privilege_escalation' => :'Boolean', :'cid' => :'String', - :'cloud' => :'String', :'cloud_account_id' => :'String', + :'cloud_name' => :'String', :'cloud_region' => :'String', + :'cloud_service' => :'String', :'cluster_id' => :'String', :'cluster_name' => :'String', :'config_labels' => :'String', - :'config_user' => :'String', - :'container_image_id' => :'String', - :'created_at' => :'Integer', - :'cve_ids' => :'Array', - :'first_seen' => :'Integer', - :'host_config_devices' => :'String', - :'id' => :'String', + :'container_id' => :'String', + :'container_name' => :'String', + :'created_at' => :'String', + :'first_seen' => :'String', :'image_application_package_count' => :'Integer', :'image_assessed_at' => :'Integer', :'image_detection_count' => :'Integer', - :'image_detection_id_list' => :'Array', - :'image_detection_name_list' => :'Array', - :'image_detection_severity_by_type' => :'Hash', :'image_digest' => :'String', :'image_has_been_assessed' => :'Boolean', :'image_highest_severity_vulnerability' => :'String', :'image_id' => :'String', :'image_package_count' => :'Integer', :'image_registry' => :'String', - :'image_repo' => :'String', + :'image_repository' => :'String', :'image_tag' => :'String', :'image_vulnerability_count' => :'Integer', - :'image_vulnerability_severity_by_type' => :'Hash', :'insecure_mount_source' => :'String', :'insecure_mount_type' => :'String', :'insecure_propagation_mode' => :'Boolean', :'interactive_mode' => :'Boolean', :'ipv4' => :'String', :'ipv6' => :'String', - :'kpa_coverage' => :'Boolean', + :'kac_agent_id' => :'String', :'labels' => :'Hash', :'labels_list' => :'Array', - :'last_seen' => :'Integer', - :'linux_sensor_aid' => :'String', - :'linux_sensor_config_build' => :'String', - :'linux_sensor_coverage' => :'Boolean', - :'lumos_sensor_aid' => :'String', - :'lumos_sensor_config_build' => :'String', - :'lumos_sensor_coverage' => :'Boolean', - :'name' => :'String', + :'last_seen' => :'String', :'namespace' => :'String', - :'node_id' => :'String', :'node_name' => :'String', + :'node_uid' => :'String', :'pod_id' => :'String', :'pod_name' => :'String', - :'port_list' => :'Array', + :'ports' => :'Array', :'privileged' => :'Boolean', :'root_write_access' => :'Boolean', - :'rpd' => :'Array', :'run_as_root_group' => :'Boolean', :'run_as_root_user' => :'Boolean', :'running_status' => :'Boolean', - :'snapshot_coverage' => :'Boolean', - :'unidentified' => :'Boolean', :'volume_mounts' => :'String' } end @@ -340,18 +276,22 @@ def initialize(attributes = {}) self.cid = attributes[:'cid'] end - if attributes.key?(:'cloud') - self.cloud = attributes[:'cloud'] - end - if attributes.key?(:'cloud_account_id') self.cloud_account_id = attributes[:'cloud_account_id'] end + if attributes.key?(:'cloud_name') + self.cloud_name = attributes[:'cloud_name'] + end + if attributes.key?(:'cloud_region') self.cloud_region = attributes[:'cloud_region'] end + if attributes.key?(:'cloud_service') + self.cloud_service = attributes[:'cloud_service'] + end + if attributes.key?(:'cluster_id') self.cluster_id = attributes[:'cluster_id'] end @@ -364,36 +304,22 @@ def initialize(attributes = {}) self.config_labels = attributes[:'config_labels'] end - if attributes.key?(:'config_user') - self.config_user = attributes[:'config_user'] + if attributes.key?(:'container_id') + self.container_id = attributes[:'container_id'] end - if attributes.key?(:'container_image_id') - self.container_image_id = attributes[:'container_image_id'] + if attributes.key?(:'container_name') + self.container_name = attributes[:'container_name'] end if attributes.key?(:'created_at') self.created_at = attributes[:'created_at'] end - if attributes.key?(:'cve_ids') - if (value = attributes[:'cve_ids']).is_a?(Array) - self.cve_ids = value - end - end - if attributes.key?(:'first_seen') self.first_seen = attributes[:'first_seen'] end - if attributes.key?(:'host_config_devices') - self.host_config_devices = attributes[:'host_config_devices'] - end - - if attributes.key?(:'id') - self.id = attributes[:'id'] - end - if attributes.key?(:'image_application_package_count') self.image_application_package_count = attributes[:'image_application_package_count'] end @@ -406,24 +332,6 @@ def initialize(attributes = {}) self.image_detection_count = attributes[:'image_detection_count'] end - if attributes.key?(:'image_detection_id_list') - if (value = attributes[:'image_detection_id_list']).is_a?(Array) - self.image_detection_id_list = value - end - end - - if attributes.key?(:'image_detection_name_list') - if (value = attributes[:'image_detection_name_list']).is_a?(Array) - self.image_detection_name_list = value - end - end - - if attributes.key?(:'image_detection_severity_by_type') - if (value = attributes[:'image_detection_severity_by_type']).is_a?(Hash) - self.image_detection_severity_by_type = value - end - end - if attributes.key?(:'image_digest') self.image_digest = attributes[:'image_digest'] end @@ -448,8 +356,8 @@ def initialize(attributes = {}) self.image_registry = attributes[:'image_registry'] end - if attributes.key?(:'image_repo') - self.image_repo = attributes[:'image_repo'] + if attributes.key?(:'image_repository') + self.image_repository = attributes[:'image_repository'] end if attributes.key?(:'image_tag') @@ -460,12 +368,6 @@ def initialize(attributes = {}) self.image_vulnerability_count = attributes[:'image_vulnerability_count'] end - if attributes.key?(:'image_vulnerability_severity_by_type') - if (value = attributes[:'image_vulnerability_severity_by_type']).is_a?(Hash) - self.image_vulnerability_severity_by_type = value - end - end - if attributes.key?(:'insecure_mount_source') self.insecure_mount_source = attributes[:'insecure_mount_source'] end @@ -490,8 +392,8 @@ def initialize(attributes = {}) self.ipv6 = attributes[:'ipv6'] end - if attributes.key?(:'kpa_coverage') - self.kpa_coverage = attributes[:'kpa_coverage'] + if attributes.key?(:'kac_agent_id') + self.kac_agent_id = attributes[:'kac_agent_id'] end if attributes.key?(:'labels') @@ -510,46 +412,18 @@ def initialize(attributes = {}) self.last_seen = attributes[:'last_seen'] end - if attributes.key?(:'linux_sensor_aid') - self.linux_sensor_aid = attributes[:'linux_sensor_aid'] - end - - if attributes.key?(:'linux_sensor_config_build') - self.linux_sensor_config_build = attributes[:'linux_sensor_config_build'] - end - - if attributes.key?(:'linux_sensor_coverage') - self.linux_sensor_coverage = attributes[:'linux_sensor_coverage'] - end - - if attributes.key?(:'lumos_sensor_aid') - self.lumos_sensor_aid = attributes[:'lumos_sensor_aid'] - end - - if attributes.key?(:'lumos_sensor_config_build') - self.lumos_sensor_config_build = attributes[:'lumos_sensor_config_build'] - end - - if attributes.key?(:'lumos_sensor_coverage') - self.lumos_sensor_coverage = attributes[:'lumos_sensor_coverage'] - end - - if attributes.key?(:'name') - self.name = attributes[:'name'] - end - if attributes.key?(:'namespace') self.namespace = attributes[:'namespace'] end - if attributes.key?(:'node_id') - self.node_id = attributes[:'node_id'] - end - if attributes.key?(:'node_name') self.node_name = attributes[:'node_name'] end + if attributes.key?(:'node_uid') + self.node_uid = attributes[:'node_uid'] + end + if attributes.key?(:'pod_id') self.pod_id = attributes[:'pod_id'] end @@ -558,9 +432,9 @@ def initialize(attributes = {}) self.pod_name = attributes[:'pod_name'] end - if attributes.key?(:'port_list') - if (value = attributes[:'port_list']).is_a?(Array) - self.port_list = value + if attributes.key?(:'ports') + if (value = attributes[:'ports']).is_a?(Array) + self.ports = value end end @@ -572,12 +446,6 @@ def initialize(attributes = {}) self.root_write_access = attributes[:'root_write_access'] end - if attributes.key?(:'rpd') - if (value = attributes[:'rpd']).is_a?(Array) - self.rpd = value - end - end - if attributes.key?(:'run_as_root_group') self.run_as_root_group = attributes[:'run_as_root_group'] end @@ -590,14 +458,6 @@ def initialize(attributes = {}) self.running_status = attributes[:'running_status'] end - if attributes.key?(:'snapshot_coverage') - self.snapshot_coverage = attributes[:'snapshot_coverage'] - end - - if attributes.key?(:'unidentified') - self.unidentified = attributes[:'unidentified'] - end - if attributes.key?(:'volume_mounts') self.volume_mounts = attributes[:'volume_mounts'] end @@ -607,12 +467,196 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @agents.nil? + invalid_properties.push('invalid value for "agents", agents cannot be nil.') + end + + if @allow_privilege_escalation.nil? + invalid_properties.push('invalid value for "allow_privilege_escalation", allow_privilege_escalation cannot be nil.') + end + if @cid.nil? invalid_properties.push('invalid value for "cid", cid cannot be nil.') end - if @id.nil? - invalid_properties.push('invalid value for "id", id cannot be nil.') + if @cloud_account_id.nil? + invalid_properties.push('invalid value for "cloud_account_id", cloud_account_id cannot be nil.') + end + + if @cloud_name.nil? + invalid_properties.push('invalid value for "cloud_name", cloud_name cannot be nil.') + end + + if @cloud_region.nil? + invalid_properties.push('invalid value for "cloud_region", cloud_region cannot be nil.') + end + + if @cloud_service.nil? + invalid_properties.push('invalid value for "cloud_service", cloud_service cannot be nil.') + end + + if @cluster_id.nil? + invalid_properties.push('invalid value for "cluster_id", cluster_id cannot be nil.') + end + + if @cluster_name.nil? + invalid_properties.push('invalid value for "cluster_name", cluster_name cannot be nil.') + end + + if @config_labels.nil? + invalid_properties.push('invalid value for "config_labels", config_labels cannot be nil.') + end + + if @container_id.nil? + invalid_properties.push('invalid value for "container_id", container_id cannot be nil.') + end + + if @container_name.nil? + invalid_properties.push('invalid value for "container_name", container_name cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @first_seen.nil? + invalid_properties.push('invalid value for "first_seen", first_seen cannot be nil.') + end + + if @image_application_package_count.nil? + invalid_properties.push('invalid value for "image_application_package_count", image_application_package_count cannot be nil.') + end + + if @image_assessed_at.nil? + invalid_properties.push('invalid value for "image_assessed_at", image_assessed_at cannot be nil.') + end + + if @image_detection_count.nil? + invalid_properties.push('invalid value for "image_detection_count", image_detection_count cannot be nil.') + end + + if @image_digest.nil? + invalid_properties.push('invalid value for "image_digest", image_digest cannot be nil.') + end + + if @image_has_been_assessed.nil? + invalid_properties.push('invalid value for "image_has_been_assessed", image_has_been_assessed cannot be nil.') + end + + if @image_highest_severity_vulnerability.nil? + invalid_properties.push('invalid value for "image_highest_severity_vulnerability", image_highest_severity_vulnerability cannot be nil.') + end + + if @image_id.nil? + invalid_properties.push('invalid value for "image_id", image_id cannot be nil.') + end + + if @image_package_count.nil? + invalid_properties.push('invalid value for "image_package_count", image_package_count cannot be nil.') + end + + if @image_registry.nil? + invalid_properties.push('invalid value for "image_registry", image_registry cannot be nil.') + end + + if @image_repository.nil? + invalid_properties.push('invalid value for "image_repository", image_repository cannot be nil.') + end + + if @image_tag.nil? + invalid_properties.push('invalid value for "image_tag", image_tag cannot be nil.') + end + + if @image_vulnerability_count.nil? + invalid_properties.push('invalid value for "image_vulnerability_count", image_vulnerability_count cannot be nil.') + end + + if @insecure_mount_source.nil? + invalid_properties.push('invalid value for "insecure_mount_source", insecure_mount_source cannot be nil.') + end + + if @insecure_mount_type.nil? + invalid_properties.push('invalid value for "insecure_mount_type", insecure_mount_type cannot be nil.') + end + + if @insecure_propagation_mode.nil? + invalid_properties.push('invalid value for "insecure_propagation_mode", insecure_propagation_mode cannot be nil.') + end + + if @interactive_mode.nil? + invalid_properties.push('invalid value for "interactive_mode", interactive_mode cannot be nil.') + end + + if @ipv4.nil? + invalid_properties.push('invalid value for "ipv4", ipv4 cannot be nil.') + end + + if @ipv6.nil? + invalid_properties.push('invalid value for "ipv6", ipv6 cannot be nil.') + end + + if @kac_agent_id.nil? + invalid_properties.push('invalid value for "kac_agent_id", kac_agent_id cannot be nil.') + end + + if @labels.nil? + invalid_properties.push('invalid value for "labels", labels cannot be nil.') + end + + if @labels_list.nil? + invalid_properties.push('invalid value for "labels_list", labels_list cannot be nil.') + end + + if @last_seen.nil? + invalid_properties.push('invalid value for "last_seen", last_seen cannot be nil.') + end + + if @namespace.nil? + invalid_properties.push('invalid value for "namespace", namespace cannot be nil.') + end + + if @node_name.nil? + invalid_properties.push('invalid value for "node_name", node_name cannot be nil.') + end + + if @node_uid.nil? + invalid_properties.push('invalid value for "node_uid", node_uid cannot be nil.') + end + + if @pod_id.nil? + invalid_properties.push('invalid value for "pod_id", pod_id cannot be nil.') + end + + if @pod_name.nil? + invalid_properties.push('invalid value for "pod_name", pod_name cannot be nil.') + end + + if @ports.nil? + invalid_properties.push('invalid value for "ports", ports cannot be nil.') + end + + if @privileged.nil? + invalid_properties.push('invalid value for "privileged", privileged cannot be nil.') + end + + if @root_write_access.nil? + invalid_properties.push('invalid value for "root_write_access", root_write_access cannot be nil.') + end + + if @run_as_root_group.nil? + invalid_properties.push('invalid value for "run_as_root_group", run_as_root_group cannot be nil.') + end + + if @run_as_root_user.nil? + invalid_properties.push('invalid value for "run_as_root_user", run_as_root_user cannot be nil.') + end + + if @running_status.nil? + invalid_properties.push('invalid value for "running_status", running_status cannot be nil.') + end + + if @volume_mounts.nil? + invalid_properties.push('invalid value for "volume_mounts", volume_mounts cannot be nil.') end invalid_properties @@ -621,8 +665,54 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @agents.nil? + return false if @allow_privilege_escalation.nil? return false if @cid.nil? - return false if @id.nil? + return false if @cloud_account_id.nil? + return false if @cloud_name.nil? + return false if @cloud_region.nil? + return false if @cloud_service.nil? + return false if @cluster_id.nil? + return false if @cluster_name.nil? + return false if @config_labels.nil? + return false if @container_id.nil? + return false if @container_name.nil? + return false if @created_at.nil? + return false if @first_seen.nil? + return false if @image_application_package_count.nil? + return false if @image_assessed_at.nil? + return false if @image_detection_count.nil? + return false if @image_digest.nil? + return false if @image_has_been_assessed.nil? + return false if @image_highest_severity_vulnerability.nil? + return false if @image_id.nil? + return false if @image_package_count.nil? + return false if @image_registry.nil? + return false if @image_repository.nil? + return false if @image_tag.nil? + return false if @image_vulnerability_count.nil? + return false if @insecure_mount_source.nil? + return false if @insecure_mount_type.nil? + return false if @insecure_propagation_mode.nil? + return false if @interactive_mode.nil? + return false if @ipv4.nil? + return false if @ipv6.nil? + return false if @kac_agent_id.nil? + return false if @labels.nil? + return false if @labels_list.nil? + return false if @last_seen.nil? + return false if @namespace.nil? + return false if @node_name.nil? + return false if @node_uid.nil? + return false if @pod_id.nil? + return false if @pod_name.nil? + return false if @ports.nil? + return false if @privileged.nil? + return false if @root_write_access.nil? + return false if @run_as_root_group.nil? + return false if @run_as_root_user.nil? + return false if @running_status.nil? + return false if @volume_mounts.nil? true end @@ -634,66 +724,50 @@ def ==(o) agents == o.agents && allow_privilege_escalation == o.allow_privilege_escalation && cid == o.cid && - cloud == o.cloud && cloud_account_id == o.cloud_account_id && + cloud_name == o.cloud_name && cloud_region == o.cloud_region && + cloud_service == o.cloud_service && cluster_id == o.cluster_id && cluster_name == o.cluster_name && config_labels == o.config_labels && - config_user == o.config_user && - container_image_id == o.container_image_id && + container_id == o.container_id && + container_name == o.container_name && created_at == o.created_at && - cve_ids == o.cve_ids && first_seen == o.first_seen && - host_config_devices == o.host_config_devices && - id == o.id && image_application_package_count == o.image_application_package_count && image_assessed_at == o.image_assessed_at && image_detection_count == o.image_detection_count && - image_detection_id_list == o.image_detection_id_list && - image_detection_name_list == o.image_detection_name_list && - image_detection_severity_by_type == o.image_detection_severity_by_type && image_digest == o.image_digest && image_has_been_assessed == o.image_has_been_assessed && image_highest_severity_vulnerability == o.image_highest_severity_vulnerability && image_id == o.image_id && image_package_count == o.image_package_count && image_registry == o.image_registry && - image_repo == o.image_repo && + image_repository == o.image_repository && image_tag == o.image_tag && image_vulnerability_count == o.image_vulnerability_count && - image_vulnerability_severity_by_type == o.image_vulnerability_severity_by_type && insecure_mount_source == o.insecure_mount_source && insecure_mount_type == o.insecure_mount_type && insecure_propagation_mode == o.insecure_propagation_mode && interactive_mode == o.interactive_mode && ipv4 == o.ipv4 && ipv6 == o.ipv6 && - kpa_coverage == o.kpa_coverage && + kac_agent_id == o.kac_agent_id && labels == o.labels && labels_list == o.labels_list && last_seen == o.last_seen && - linux_sensor_aid == o.linux_sensor_aid && - linux_sensor_config_build == o.linux_sensor_config_build && - linux_sensor_coverage == o.linux_sensor_coverage && - lumos_sensor_aid == o.lumos_sensor_aid && - lumos_sensor_config_build == o.lumos_sensor_config_build && - lumos_sensor_coverage == o.lumos_sensor_coverage && - name == o.name && namespace == o.namespace && - node_id == o.node_id && node_name == o.node_name && + node_uid == o.node_uid && pod_id == o.pod_id && pod_name == o.pod_name && - port_list == o.port_list && + ports == o.ports && privileged == o.privileged && root_write_access == o.root_write_access && - rpd == o.rpd && run_as_root_group == o.run_as_root_group && run_as_root_user == o.run_as_root_user && running_status == o.running_status && - snapshot_coverage == o.snapshot_coverage && - unidentified == o.unidentified && volume_mounts == o.volume_mounts end @@ -706,7 +780,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [agents, allow_privilege_escalation, cid, cloud, cloud_account_id, cloud_region, cluster_id, cluster_name, config_labels, config_user, container_image_id, created_at, cve_ids, first_seen, host_config_devices, id, image_application_package_count, image_assessed_at, image_detection_count, image_detection_id_list, image_detection_name_list, image_detection_severity_by_type, image_digest, image_has_been_assessed, image_highest_severity_vulnerability, image_id, image_package_count, image_registry, image_repo, image_tag, image_vulnerability_count, image_vulnerability_severity_by_type, insecure_mount_source, insecure_mount_type, insecure_propagation_mode, interactive_mode, ipv4, ipv6, kpa_coverage, labels, labels_list, last_seen, linux_sensor_aid, linux_sensor_config_build, linux_sensor_coverage, lumos_sensor_aid, lumos_sensor_config_build, lumos_sensor_coverage, name, namespace, node_id, node_name, pod_id, pod_name, port_list, privileged, root_write_access, rpd, run_as_root_group, run_as_root_user, running_status, snapshot_coverage, unidentified, volume_mounts].hash + [agents, allow_privilege_escalation, cid, cloud_account_id, cloud_name, cloud_region, cloud_service, cluster_id, cluster_name, config_labels, container_id, container_name, created_at, first_seen, image_application_package_count, image_assessed_at, image_detection_count, image_digest, image_has_been_assessed, image_highest_severity_vulnerability, image_id, image_package_count, image_registry, image_repository, image_tag, image_vulnerability_count, insecure_mount_source, insecure_mount_type, insecure_propagation_mode, interactive_mode, ipv4, ipv6, kac_agent_id, labels, labels_list, last_seen, namespace, node_name, node_uid, pod_id, pod_name, ports, privileged, root_write_access, run_as_root_group, run_as_root_user, running_status, volume_mounts].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_container_coverage_response_entity.rb b/lib/crimson-falcon/models/models_container_coverage_response_entity.rb index bb8b2040..b2f51d65 100644 --- a/lib/crimson-falcon/models/models_container_coverage_response_entity.rb +++ b/lib/crimson-falcon/models/models_container_coverage_response_entity.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_container_entity_response.rb b/lib/crimson-falcon/models/models_container_entity_response.rb index 3d56721a..1d87b20c 100644 --- a/lib/crimson-falcon/models/models_container_entity_response.rb +++ b/lib/crimson-falcon/models/models_container_entity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_container_image.rb b/lib/crimson-falcon/models/models_container_image.rb index c721e093..404a6c5e 100644 --- a/lib/crimson-falcon/models/models_container_image.rb +++ b/lib/crimson-falcon/models/models_container_image.rb @@ -34,6 +34,8 @@ module Falcon class ModelsContainerImage attr_accessor :cid + attr_accessor :cluster_info + attr_accessor :container_count attr_accessor :containers_running_status @@ -68,6 +70,7 @@ class ModelsContainerImage def self.attribute_map { :'cid' => :'cid', + :'cluster_info' => :'cluster_info', :'container_count' => :'container_count', :'containers_running_status' => :'containers_running_status', :'hosts' => :'hosts', @@ -95,6 +98,7 @@ def self.acceptable_attributes def self.openapi_types { :'cid' => :'String', + :'cluster_info' => :'Array', :'container_count' => :'Integer', :'containers_running_status' => :'Hash', :'hosts' => :'Array', @@ -138,6 +142,12 @@ def initialize(attributes = {}) self.cid = attributes[:'cid'] end + if attributes.key?(:'cluster_info') + if (value = attributes[:'cluster_info']).is_a?(Array) + self.cluster_info = value + end + end + if attributes.key?(:'container_count') self.container_count = attributes[:'container_count'] end @@ -211,6 +221,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "cid", cid cannot be nil.') end + if @cluster_info.nil? + invalid_properties.push('invalid value for "cluster_info", cluster_info cannot be nil.') + end + if @container_count.nil? invalid_properties.push('invalid value for "container_count", container_count cannot be nil.') end @@ -278,6 +292,7 @@ def list_invalid_properties # @return true if the model is valid def valid? return false if @cid.nil? + return false if @cluster_info.nil? return false if @container_count.nil? return false if @containers_running_status.nil? return false if @hosts.nil? @@ -302,6 +317,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && cid == o.cid && + cluster_info == o.cluster_info && container_count == o.container_count && containers_running_status == o.containers_running_status && hosts == o.hosts && @@ -328,7 +344,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [cid, container_count, containers_running_status, hosts, id, image_detection_count, image_digest, image_has_been_assessed, image_id, image_name, image_registry, image_repository, image_tag, image_vulnerability_count, last_seen, running_container_count].hash + [cid, cluster_info, container_count, containers_running_status, hosts, id, image_detection_count, image_digest, image_has_been_assessed, image_id, image_name, image_registry, image_repository, image_tag, image_vulnerability_count, last_seen, running_container_count].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_container_runtime_pivot_response.rb b/lib/crimson-falcon/models/models_container_runtime_pivot_response.rb index dfc7adc1..00275d7b 100644 --- a/lib/crimson-falcon/models/models_container_runtime_pivot_response.rb +++ b/lib/crimson-falcon/models/models_container_runtime_pivot_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_create_base_images_request.rb b/lib/crimson-falcon/models/models_create_base_images_request.rb new file mode 100644 index 00000000..b404fdb3 --- /dev/null +++ b/lib/crimson-falcon/models/models_create_base_images_request.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsCreateBaseImagesRequest + attr_accessor :base_images + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'base_images' => :'base_images' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'base_images' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsCreateBaseImagesRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsCreateBaseImagesRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'base_images') + if (value = attributes[:'base_images']).is_a?(Array) + self.base_images = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @base_images.nil? + invalid_properties.push('invalid value for "base_images", base_images cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @base_images.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + base_images == o.base_images + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [base_images].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_account_patch_request.rb b/lib/crimson-falcon/models/models_create_deployment_input.rb similarity index 95% rename from lib/crimson-falcon/models/registration_gcp_account_patch_request.rb rename to lib/crimson-falcon/models/models_create_deployment_input.rb index 964292f4..3802f55d 100644 --- a/lib/crimson-falcon/models/registration_gcp_account_patch_request.rb +++ b/lib/crimson-falcon/models/models_create_deployment_input.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class RegistrationGCPAccountPatchRequest + class ModelsCreateDeploymentInput attr_accessor :resources # Attribute mapping from ruby-style variable name to JSON key. @@ -49,7 +49,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array' + :'resources' => :'Array' } end @@ -63,13 +63,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPAccountPatchRequest` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsCreateDeploymentInput` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPAccountPatchRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsCreateDeploymentInput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/models_customer_configurations_v1.rb b/lib/crimson-falcon/models/models_customer_configurations_v1.rb index 752114f1..f26a41c5 100644 --- a/lib/crimson-falcon/models/models_customer_configurations_v1.rb +++ b/lib/crimson-falcon/models/models_customer_configurations_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_delivery_settings.rb b/lib/crimson-falcon/models/models_delivery_settings.rb new file mode 100644 index 00000000..90a404d6 --- /dev/null +++ b/lib/crimson-falcon/models/models_delivery_settings.rb @@ -0,0 +1,372 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsDeliverySettings + attr_accessor :api_created_by + + attr_accessor :api_updated_at + + attr_accessor :api_updated_by + + attr_accessor :cid + + attr_accessor :created_at + + attr_accessor :created_by + + attr_accessor :deleted_at + + attr_accessor :deleted_by + + attr_accessor :delivery_cadence + + attr_accessor :delivery_type + + attr_accessor :updated_at + + attr_accessor :updated_by + + attr_accessor :uuid + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'api_created_by' => :'api_created_by', + :'api_updated_at' => :'api_updated_at', + :'api_updated_by' => :'api_updated_by', + :'cid' => :'cid', + :'created_at' => :'created_at', + :'created_by' => :'created_by', + :'deleted_at' => :'deleted_at', + :'deleted_by' => :'deleted_by', + :'delivery_cadence' => :'delivery_cadence', + :'delivery_type' => :'delivery_type', + :'updated_at' => :'updated_at', + :'updated_by' => :'updated_by', + :'uuid' => :'uuid' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'api_created_by' => :'String', + :'api_updated_at' => :'Time', + :'api_updated_by' => :'String', + :'cid' => :'String', + :'created_at' => :'Time', + :'created_by' => :'String', + :'deleted_at' => :'Time', + :'deleted_by' => :'String', + :'delivery_cadence' => :'String', + :'delivery_type' => :'String', + :'updated_at' => :'Time', + :'updated_by' => :'String', + :'uuid' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsDeliverySettings` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsDeliverySettings`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'api_created_by') + self.api_created_by = attributes[:'api_created_by'] + end + + if attributes.key?(:'api_updated_at') + self.api_updated_at = attributes[:'api_updated_at'] + end + + if attributes.key?(:'api_updated_by') + self.api_updated_by = attributes[:'api_updated_by'] + end + + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + end + + if attributes.key?(:'created_by') + self.created_by = attributes[:'created_by'] + end + + if attributes.key?(:'deleted_at') + self.deleted_at = attributes[:'deleted_at'] + end + + if attributes.key?(:'deleted_by') + self.deleted_by = attributes[:'deleted_by'] + end + + if attributes.key?(:'delivery_cadence') + self.delivery_cadence = attributes[:'delivery_cadence'] + end + + if attributes.key?(:'delivery_type') + self.delivery_type = attributes[:'delivery_type'] + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + end + + if attributes.key?(:'updated_by') + self.updated_by = attributes[:'updated_by'] + end + + if attributes.key?(:'uuid') + self.uuid = attributes[:'uuid'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @created_by.nil? + invalid_properties.push('invalid value for "created_by", created_by cannot be nil.') + end + + if @delivery_cadence.nil? + invalid_properties.push('invalid value for "delivery_cadence", delivery_cadence cannot be nil.') + end + + if @delivery_type.nil? + invalid_properties.push('invalid value for "delivery_type", delivery_type cannot be nil.') + end + + if @uuid.nil? + invalid_properties.push('invalid value for "uuid", uuid cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cid.nil? + return false if @created_at.nil? + return false if @created_by.nil? + return false if @delivery_cadence.nil? + return false if @delivery_type.nil? + return false if @uuid.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + api_created_by == o.api_created_by && + api_updated_at == o.api_updated_at && + api_updated_by == o.api_updated_by && + cid == o.cid && + created_at == o.created_at && + created_by == o.created_by && + deleted_at == o.deleted_at && + deleted_by == o.deleted_by && + delivery_cadence == o.delivery_cadence && + delivery_type == o.delivery_type && + updated_at == o.updated_at && + updated_by == o.updated_by && + uuid == o.uuid + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [api_created_by, api_updated_at, api_updated_by, cid, created_at, created_by, deleted_at, deleted_by, delivery_cadence, delivery_type, updated_at, updated_by, uuid].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_delivery_settings_entity_response.rb b/lib/crimson-falcon/models/models_delivery_settings_entity_response.rb new file mode 100644 index 00000000..98b2cec1 --- /dev/null +++ b/lib/crimson-falcon/models/models_delivery_settings_entity_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsDeliverySettingsEntityResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsDeliverySettingsEntityResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsDeliverySettingsEntityResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_delivery_settings_input.rb b/lib/crimson-falcon/models/models_delivery_settings_input.rb new file mode 100644 index 00000000..104d742f --- /dev/null +++ b/lib/crimson-falcon/models/models_delivery_settings_input.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsDeliverySettingsInput + attr_accessor :delivery_cadence + + attr_accessor :delivery_type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'delivery_cadence' => :'delivery_cadence', + :'delivery_type' => :'delivery_type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'delivery_cadence' => :'String', + :'delivery_type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsDeliverySettingsInput` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsDeliverySettingsInput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'delivery_cadence') + self.delivery_cadence = attributes[:'delivery_cadence'] + end + + if attributes.key?(:'delivery_type') + self.delivery_type = attributes[:'delivery_type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @delivery_cadence.nil? + invalid_properties.push('invalid value for "delivery_cadence", delivery_cadence cannot be nil.') + end + + if @delivery_type.nil? + invalid_properties.push('invalid value for "delivery_type", delivery_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @delivery_cadence.nil? + return false if @delivery_type.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + delivery_cadence == o.delivery_cadence && + delivery_type == o.delivery_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [delivery_cadence, delivery_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_delivery_settings_request.rb b/lib/crimson-falcon/models/models_delivery_settings_request.rb new file mode 100644 index 00000000..e9c2b611 --- /dev/null +++ b/lib/crimson-falcon/models/models_delivery_settings_request.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsDeliverySettingsRequest + attr_accessor :delivery_settings + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'delivery_settings' => :'delivery_settings' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'delivery_settings' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsDeliverySettingsRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsDeliverySettingsRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'delivery_settings') + if (value = attributes[:'delivery_settings']).is_a?(Array) + self.delivery_settings = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @delivery_settings.nil? + invalid_properties.push('invalid value for "delivery_settings", delivery_settings cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @delivery_settings.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + delivery_settings == o.delivery_settings + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [delivery_settings].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_deployment.rb b/lib/crimson-falcon/models/models_deployment.rb index 70807c6d..a8ceb98e 100644 --- a/lib/crimson-falcon/models/models_deployment.rb +++ b/lib/crimson-falcon/models/models_deployment.rb @@ -32,36 +32,96 @@ module Falcon class ModelsDeployment - attr_accessor :account_id + attr_accessor :agents - attr_accessor :asset_identifier + attr_accessor :annotations - attr_accessor :cloud_provider + attr_accessor :annotations_list - attr_accessor :id + attr_accessor :cid - attr_accessor :instance_type + attr_accessor :cloud_account_id - attr_accessor :last_updated_timestamp + attr_accessor :cloud_name - attr_accessor :region + attr_accessor :cloud_region - attr_accessor :status + attr_accessor :cloud_service + + attr_accessor :cluster_id + + attr_accessor :cluster_name + + attr_accessor :container_count + + attr_accessor :created_at + + attr_accessor :deleted_at + + attr_accessor :deployment_id + + attr_accessor :deployment_name + + attr_accessor :first_seen + + attr_accessor :kac_agent_id + + attr_accessor :labels + + attr_accessor :labels_list + + attr_accessor :last_seen + + attr_accessor :management_status - attr_accessor :status_detail + attr_accessor :namespace + + attr_accessor :pod_count + + attr_accessor :resource_status + + attr_accessor :resource_version + + attr_accessor :revision + + attr_accessor :selector + + attr_accessor :service_account_name + + attr_accessor :status # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'account_id' => :'account_id', - :'asset_identifier' => :'asset_identifier', - :'cloud_provider' => :'cloud_provider', - :'id' => :'id', - :'instance_type' => :'instance_type', - :'last_updated_timestamp' => :'last_updated_timestamp', - :'region' => :'region', - :'status' => :'status', - :'status_detail' => :'status_detail' + :'agents' => :'agents', + :'annotations' => :'annotations', + :'annotations_list' => :'annotations_list', + :'cid' => :'cid', + :'cloud_account_id' => :'cloud_account_id', + :'cloud_name' => :'cloud_name', + :'cloud_region' => :'cloud_region', + :'cloud_service' => :'cloud_service', + :'cluster_id' => :'cluster_id', + :'cluster_name' => :'cluster_name', + :'container_count' => :'container_count', + :'created_at' => :'created_at', + :'deleted_at' => :'deleted_at', + :'deployment_id' => :'deployment_id', + :'deployment_name' => :'deployment_name', + :'first_seen' => :'first_seen', + :'kac_agent_id' => :'kac_agent_id', + :'labels' => :'labels', + :'labels_list' => :'labels_list', + :'last_seen' => :'last_seen', + :'management_status' => :'management_status', + :'namespace' => :'namespace', + :'pod_count' => :'pod_count', + :'resource_status' => :'resource_status', + :'resource_version' => :'resource_version', + :'revision' => :'revision', + :'selector' => :'selector', + :'service_account_name' => :'service_account_name', + :'status' => :'status' } end @@ -73,15 +133,35 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'account_id' => :'String', - :'asset_identifier' => :'String', - :'cloud_provider' => :'String', - :'id' => :'String', - :'instance_type' => :'String', - :'last_updated_timestamp' => :'String', - :'region' => :'String', - :'status' => :'String', - :'status_detail' => :'String' + :'agents' => :'Array', + :'annotations' => :'Hash', + :'annotations_list' => :'Array', + :'cid' => :'String', + :'cloud_account_id' => :'String', + :'cloud_name' => :'String', + :'cloud_region' => :'String', + :'cloud_service' => :'String', + :'cluster_id' => :'String', + :'cluster_name' => :'String', + :'container_count' => :'Integer', + :'created_at' => :'String', + :'deleted_at' => :'String', + :'deployment_id' => :'String', + :'deployment_name' => :'String', + :'first_seen' => :'String', + :'kac_agent_id' => :'String', + :'labels' => :'Hash', + :'labels_list' => :'Array', + :'last_seen' => :'String', + :'management_status' => :'String', + :'namespace' => :'String', + :'pod_count' => :'Integer', + :'resource_status' => :'String', + :'resource_version' => :'Integer', + :'revision' => :'Integer', + :'selector' => :'String', + :'service_account_name' => :'String', + :'status' => :'String' } end @@ -106,40 +186,130 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'account_id') - self.account_id = attributes[:'account_id'] + if attributes.key?(:'agents') + if (value = attributes[:'agents']).is_a?(Array) + self.agents = value + end end - if attributes.key?(:'asset_identifier') - self.asset_identifier = attributes[:'asset_identifier'] + if attributes.key?(:'annotations') + if (value = attributes[:'annotations']).is_a?(Hash) + self.annotations = value + end end - if attributes.key?(:'cloud_provider') - self.cloud_provider = attributes[:'cloud_provider'] + if attributes.key?(:'annotations_list') + if (value = attributes[:'annotations_list']).is_a?(Array) + self.annotations_list = value + end end - if attributes.key?(:'id') - self.id = attributes[:'id'] + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] end - if attributes.key?(:'instance_type') - self.instance_type = attributes[:'instance_type'] + if attributes.key?(:'cloud_account_id') + self.cloud_account_id = attributes[:'cloud_account_id'] end - if attributes.key?(:'last_updated_timestamp') - self.last_updated_timestamp = attributes[:'last_updated_timestamp'] + if attributes.key?(:'cloud_name') + self.cloud_name = attributes[:'cloud_name'] end - if attributes.key?(:'region') - self.region = attributes[:'region'] + if attributes.key?(:'cloud_region') + self.cloud_region = attributes[:'cloud_region'] end - if attributes.key?(:'status') - self.status = attributes[:'status'] + if attributes.key?(:'cloud_service') + self.cloud_service = attributes[:'cloud_service'] + end + + if attributes.key?(:'cluster_id') + self.cluster_id = attributes[:'cluster_id'] + end + + if attributes.key?(:'cluster_name') + self.cluster_name = attributes[:'cluster_name'] + end + + if attributes.key?(:'container_count') + self.container_count = attributes[:'container_count'] + end + + if attributes.key?(:'created_at') + self.created_at = attributes[:'created_at'] + end + + if attributes.key?(:'deleted_at') + self.deleted_at = attributes[:'deleted_at'] + end + + if attributes.key?(:'deployment_id') + self.deployment_id = attributes[:'deployment_id'] + end + + if attributes.key?(:'deployment_name') + self.deployment_name = attributes[:'deployment_name'] + end + + if attributes.key?(:'first_seen') + self.first_seen = attributes[:'first_seen'] + end + + if attributes.key?(:'kac_agent_id') + self.kac_agent_id = attributes[:'kac_agent_id'] + end + + if attributes.key?(:'labels') + if (value = attributes[:'labels']).is_a?(Hash) + self.labels = value + end + end + + if attributes.key?(:'labels_list') + if (value = attributes[:'labels_list']).is_a?(Array) + self.labels_list = value + end + end + + if attributes.key?(:'last_seen') + self.last_seen = attributes[:'last_seen'] end - if attributes.key?(:'status_detail') - self.status_detail = attributes[:'status_detail'] + if attributes.key?(:'management_status') + self.management_status = attributes[:'management_status'] + end + + if attributes.key?(:'namespace') + self.namespace = attributes[:'namespace'] + end + + if attributes.key?(:'pod_count') + self.pod_count = attributes[:'pod_count'] + end + + if attributes.key?(:'resource_status') + self.resource_status = attributes[:'resource_status'] + end + + if attributes.key?(:'resource_version') + self.resource_version = attributes[:'resource_version'] + end + + if attributes.key?(:'revision') + self.revision = attributes[:'revision'] + end + + if attributes.key?(:'selector') + self.selector = attributes[:'selector'] + end + + if attributes.key?(:'service_account_name') + self.service_account_name = attributes[:'service_account_name'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] end end @@ -147,40 +317,112 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @account_id.nil? - invalid_properties.push('invalid value for "account_id", account_id cannot be nil.') + if @agents.nil? + invalid_properties.push('invalid value for "agents", agents cannot be nil.') end - if @asset_identifier.nil? - invalid_properties.push('invalid value for "asset_identifier", asset_identifier cannot be nil.') + if @annotations.nil? + invalid_properties.push('invalid value for "annotations", annotations cannot be nil.') end - if @cloud_provider.nil? - invalid_properties.push('invalid value for "cloud_provider", cloud_provider cannot be nil.') + if @annotations_list.nil? + invalid_properties.push('invalid value for "annotations_list", annotations_list cannot be nil.') end - if @id.nil? - invalid_properties.push('invalid value for "id", id cannot be nil.') + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') end - if @instance_type.nil? - invalid_properties.push('invalid value for "instance_type", instance_type cannot be nil.') + if @cloud_account_id.nil? + invalid_properties.push('invalid value for "cloud_account_id", cloud_account_id cannot be nil.') end - if @last_updated_timestamp.nil? - invalid_properties.push('invalid value for "last_updated_timestamp", last_updated_timestamp cannot be nil.') + if @cloud_name.nil? + invalid_properties.push('invalid value for "cloud_name", cloud_name cannot be nil.') end - if @region.nil? - invalid_properties.push('invalid value for "region", region cannot be nil.') + if @cloud_region.nil? + invalid_properties.push('invalid value for "cloud_region", cloud_region cannot be nil.') end - if @status.nil? - invalid_properties.push('invalid value for "status", status cannot be nil.') + if @cloud_service.nil? + invalid_properties.push('invalid value for "cloud_service", cloud_service cannot be nil.') + end + + if @cluster_id.nil? + invalid_properties.push('invalid value for "cluster_id", cluster_id cannot be nil.') + end + + if @cluster_name.nil? + invalid_properties.push('invalid value for "cluster_name", cluster_name cannot be nil.') end - if @status_detail.nil? - invalid_properties.push('invalid value for "status_detail", status_detail cannot be nil.') + if @container_count.nil? + invalid_properties.push('invalid value for "container_count", container_count cannot be nil.') + end + + if @created_at.nil? + invalid_properties.push('invalid value for "created_at", created_at cannot be nil.') + end + + if @deployment_id.nil? + invalid_properties.push('invalid value for "deployment_id", deployment_id cannot be nil.') + end + + if @deployment_name.nil? + invalid_properties.push('invalid value for "deployment_name", deployment_name cannot be nil.') + end + + if @first_seen.nil? + invalid_properties.push('invalid value for "first_seen", first_seen cannot be nil.') + end + + if @kac_agent_id.nil? + invalid_properties.push('invalid value for "kac_agent_id", kac_agent_id cannot be nil.') + end + + if @labels.nil? + invalid_properties.push('invalid value for "labels", labels cannot be nil.') + end + + if @labels_list.nil? + invalid_properties.push('invalid value for "labels_list", labels_list cannot be nil.') + end + + if @last_seen.nil? + invalid_properties.push('invalid value for "last_seen", last_seen cannot be nil.') + end + + if @management_status.nil? + invalid_properties.push('invalid value for "management_status", management_status cannot be nil.') + end + + if @namespace.nil? + invalid_properties.push('invalid value for "namespace", namespace cannot be nil.') + end + + if @pod_count.nil? + invalid_properties.push('invalid value for "pod_count", pod_count cannot be nil.') + end + + if @resource_status.nil? + invalid_properties.push('invalid value for "resource_status", resource_status cannot be nil.') + end + + if @resource_version.nil? + invalid_properties.push('invalid value for "resource_version", resource_version cannot be nil.') + end + + if @selector.nil? + invalid_properties.push('invalid value for "selector", selector cannot be nil.') + end + + if @service_account_name.nil? + invalid_properties.push('invalid value for "service_account_name", service_account_name cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') end invalid_properties @@ -189,15 +431,33 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @account_id.nil? - return false if @asset_identifier.nil? - return false if @cloud_provider.nil? - return false if @id.nil? - return false if @instance_type.nil? - return false if @last_updated_timestamp.nil? - return false if @region.nil? + return false if @agents.nil? + return false if @annotations.nil? + return false if @annotations_list.nil? + return false if @cid.nil? + return false if @cloud_account_id.nil? + return false if @cloud_name.nil? + return false if @cloud_region.nil? + return false if @cloud_service.nil? + return false if @cluster_id.nil? + return false if @cluster_name.nil? + return false if @container_count.nil? + return false if @created_at.nil? + return false if @deployment_id.nil? + return false if @deployment_name.nil? + return false if @first_seen.nil? + return false if @kac_agent_id.nil? + return false if @labels.nil? + return false if @labels_list.nil? + return false if @last_seen.nil? + return false if @management_status.nil? + return false if @namespace.nil? + return false if @pod_count.nil? + return false if @resource_status.nil? + return false if @resource_version.nil? + return false if @selector.nil? + return false if @service_account_name.nil? return false if @status.nil? - return false if @status_detail.nil? true end @@ -206,15 +466,35 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - account_id == o.account_id && - asset_identifier == o.asset_identifier && - cloud_provider == o.cloud_provider && - id == o.id && - instance_type == o.instance_type && - last_updated_timestamp == o.last_updated_timestamp && - region == o.region && - status == o.status && - status_detail == o.status_detail + agents == o.agents && + annotations == o.annotations && + annotations_list == o.annotations_list && + cid == o.cid && + cloud_account_id == o.cloud_account_id && + cloud_name == o.cloud_name && + cloud_region == o.cloud_region && + cloud_service == o.cloud_service && + cluster_id == o.cluster_id && + cluster_name == o.cluster_name && + container_count == o.container_count && + created_at == o.created_at && + deleted_at == o.deleted_at && + deployment_id == o.deployment_id && + deployment_name == o.deployment_name && + first_seen == o.first_seen && + kac_agent_id == o.kac_agent_id && + labels == o.labels && + labels_list == o.labels_list && + last_seen == o.last_seen && + management_status == o.management_status && + namespace == o.namespace && + pod_count == o.pod_count && + resource_status == o.resource_status && + resource_version == o.resource_version && + revision == o.revision && + selector == o.selector && + service_account_name == o.service_account_name && + status == o.status end # @see the `==` method @@ -226,7 +506,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [account_id, asset_identifier, cloud_provider, id, instance_type, last_updated_timestamp, region, status, status_detail].hash + [agents, annotations, annotations_list, cid, cloud_account_id, cloud_name, cloud_region, cloud_service, cluster_id, cluster_name, container_count, created_at, deleted_at, deployment_id, deployment_name, first_seen, kac_agent_id, labels, labels_list, last_seen, management_status, namespace, pod_count, resource_status, resource_version, revision, selector, service_account_name, status].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_deployment_entity_response.rb b/lib/crimson-falcon/models/models_deployment_entity_response.rb index 7daf115a..b61bba87 100644 --- a/lib/crimson-falcon/models/models_deployment_entity_response.rb +++ b/lib/crimson-falcon/models/models_deployment_entity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_deployment_resource.rb b/lib/crimson-falcon/models/models_deployment_resource.rb new file mode 100644 index 00000000..a5b0f096 --- /dev/null +++ b/lib/crimson-falcon/models/models_deployment_resource.rb @@ -0,0 +1,281 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsDeploymentResource + attr_accessor :account_id + + attr_accessor :asset_identifier + + attr_accessor :cloud_provider + + attr_accessor :region + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'account_id' => :'account_id', + :'asset_identifier' => :'asset_identifier', + :'cloud_provider' => :'cloud_provider', + :'region' => :'region' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'account_id' => :'String', + :'asset_identifier' => :'String', + :'cloud_provider' => :'String', + :'region' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsDeploymentResource` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsDeploymentResource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'account_id') + self.account_id = attributes[:'account_id'] + end + + if attributes.key?(:'asset_identifier') + self.asset_identifier = attributes[:'asset_identifier'] + end + + if attributes.key?(:'cloud_provider') + self.cloud_provider = attributes[:'cloud_provider'] + end + + if attributes.key?(:'region') + self.region = attributes[:'region'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @account_id.nil? + invalid_properties.push('invalid value for "account_id", account_id cannot be nil.') + end + + if @asset_identifier.nil? + invalid_properties.push('invalid value for "asset_identifier", asset_identifier cannot be nil.') + end + + if @cloud_provider.nil? + invalid_properties.push('invalid value for "cloud_provider", cloud_provider cannot be nil.') + end + + if @region.nil? + invalid_properties.push('invalid value for "region", region cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @account_id.nil? + return false if @asset_identifier.nil? + return false if @cloud_provider.nil? + return false if @region.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + account_id == o.account_id && + asset_identifier == o.asset_identifier && + cloud_provider == o.cloud_provider && + region == o.region + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [account_id, asset_identifier, cloud_provider, region].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_detection.rb b/lib/crimson-falcon/models/models_detection.rb new file mode 100644 index 00000000..c099562b --- /dev/null +++ b/lib/crimson-falcon/models/models_detection.rb @@ -0,0 +1,365 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsDetection + attr_accessor :description + + attr_accessor :details + + attr_accessor :hash + + attr_accessor :id + + attr_accessor :name + + attr_accessor :path + + attr_accessor :remediation + + attr_accessor :severity + + attr_accessor :title + + attr_accessor :type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'description' => :'description', + :'details' => :'details', + :'hash' => :'hash', + :'id' => :'id', + :'name' => :'name', + :'path' => :'path', + :'remediation' => :'remediation', + :'severity' => :'severity', + :'title' => :'title', + :'type' => :'type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'description' => :'String', + :'details' => :'Object', + :'hash' => :'String', + :'id' => :'String', + :'name' => :'String', + :'path' => :'String', + :'remediation' => :'String', + :'severity' => :'String', + :'title' => :'String', + :'type' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsDetection` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsDetection`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'details') + self.details = attributes[:'details'] + end + + if attributes.key?(:'hash') + self.hash = attributes[:'hash'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + end + + if attributes.key?(:'remediation') + self.remediation = attributes[:'remediation'] + end + + if attributes.key?(:'severity') + self.severity = attributes[:'severity'] + end + + if attributes.key?(:'title') + self.title = attributes[:'title'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @description.nil? + invalid_properties.push('invalid value for "description", description cannot be nil.') + end + + if @details.nil? + invalid_properties.push('invalid value for "details", details cannot be nil.') + end + + if @hash.nil? + invalid_properties.push('invalid value for "hash", hash cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @path.nil? + invalid_properties.push('invalid value for "path", path cannot be nil.') + end + + if @remediation.nil? + invalid_properties.push('invalid value for "remediation", remediation cannot be nil.') + end + + if @severity.nil? + invalid_properties.push('invalid value for "severity", severity cannot be nil.') + end + + if @title.nil? + invalid_properties.push('invalid value for "title", title cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @description.nil? + return false if @details.nil? + return false if @hash.nil? + return false if @id.nil? + return false if @name.nil? + return false if @path.nil? + return false if @remediation.nil? + return false if @severity.nil? + return false if @title.nil? + return false if @type.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + description == o.description && + details == o.details && + hash == o.hash && + id == o.id && + name == o.name && + path == o.path && + remediation == o.remediation && + severity == o.severity && + title == o.title && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [description, details, hash, id, name, path, remediation, severity, title, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_detection_engine_info_type.rb b/lib/crimson-falcon/models/models_detection_engine_info_type.rb new file mode 100644 index 00000000..4687ba42 --- /dev/null +++ b/lib/crimson-falcon/models/models_detection_engine_info_type.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsDetectionEngineInfoType + attr_accessor :apk_static_version + + attr_accessor :engine_version + + attr_accessor :performed_at + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'apk_static_version' => :'ApkStaticVersion', + :'engine_version' => :'EngineVersion', + :'performed_at' => :'PerformedAt' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'apk_static_version' => :'String', + :'engine_version' => :'String', + :'performed_at' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsDetectionEngineInfoType` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsDetectionEngineInfoType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'apk_static_version') + self.apk_static_version = attributes[:'apk_static_version'] + end + + if attributes.key?(:'engine_version') + self.engine_version = attributes[:'engine_version'] + end + + if attributes.key?(:'performed_at') + self.performed_at = attributes[:'performed_at'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @apk_static_version.nil? + invalid_properties.push('invalid value for "apk_static_version", apk_static_version cannot be nil.') + end + + if @engine_version.nil? + invalid_properties.push('invalid value for "engine_version", engine_version cannot be nil.') + end + + if @performed_at.nil? + invalid_properties.push('invalid value for "performed_at", performed_at cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @apk_static_version.nil? + return false if @engine_version.nil? + return false if @performed_at.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + apk_static_version == o.apk_static_version && + engine_version == o.engine_version && + performed_at == o.performed_at + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [apk_static_version, engine_version, performed_at].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_detection_info_type.rb b/lib/crimson-falcon/models/models_detection_info_type.rb new file mode 100644 index 00000000..3b1bbb20 --- /dev/null +++ b/lib/crimson-falcon/models/models_detection_info_type.rb @@ -0,0 +1,239 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsDetectionInfoType + attr_accessor :detection + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'detection' => :'Detection' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'detection' => :'ModelsDetection' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsDetectionInfoType` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsDetectionInfoType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'detection') + self.detection = attributes[:'detection'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @detection.nil? + invalid_properties.push('invalid value for "detection", detection cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @detection.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + detection == o.detection + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [detection].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_elf_binary.rb b/lib/crimson-falcon/models/models_elf_binary.rb new file mode 100644 index 00000000..02be3ced --- /dev/null +++ b/lib/crimson-falcon/models/models_elf_binary.rb @@ -0,0 +1,281 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsELFBinary + attr_accessor :hash + + attr_accessor :path + + attr_accessor :permissions + + attr_accessor :size + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'hash' => :'hash', + :'path' => :'path', + :'permissions' => :'permissions', + :'size' => :'size' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'hash' => :'String', + :'path' => :'String', + :'permissions' => :'String', + :'size' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsELFBinary` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsELFBinary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'hash') + self.hash = attributes[:'hash'] + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + end + + if attributes.key?(:'permissions') + self.permissions = attributes[:'permissions'] + end + + if attributes.key?(:'size') + self.size = attributes[:'size'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @hash.nil? + invalid_properties.push('invalid value for "hash", hash cannot be nil.') + end + + if @path.nil? + invalid_properties.push('invalid value for "path", path cannot be nil.') + end + + if @permissions.nil? + invalid_properties.push('invalid value for "permissions", permissions cannot be nil.') + end + + if @size.nil? + invalid_properties.push('invalid value for "size", size cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @hash.nil? + return false if @path.nil? + return false if @permissions.nil? + return false if @size.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + hash == o.hash && + path == o.path && + permissions == o.permissions && + size == o.size + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [hash, path, permissions, size].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_ext_api_image_combined.rb b/lib/crimson-falcon/models/models_ext_api_image_combined.rb index 52a42b7d..980800db 100644 --- a/lib/crimson-falcon/models/models_ext_api_image_combined.rb +++ b/lib/crimson-falcon/models/models_ext_api_image_combined.rb @@ -32,6 +32,8 @@ module Falcon class ModelsExtAPIImageCombined + attr_accessor :architecture + attr_accessor :base_os attr_accessor :cid @@ -73,6 +75,7 @@ class ModelsExtAPIImageCombined # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'architecture' => :'architecture', :'base_os' => :'base_os', :'cid' => :'cid', :'containers' => :'containers', @@ -103,6 +106,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'architecture' => :'String', :'base_os' => :'String', :'cid' => :'String', :'containers' => :'Integer', @@ -146,6 +150,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'architecture') + self.architecture = attributes[:'architecture'] + end + if attributes.key?(:'base_os') self.base_os = attributes[:'base_os'] end @@ -227,6 +235,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @architecture.nil? + invalid_properties.push('invalid value for "architecture", architecture cannot be nil.') + end + if @base_os.nil? invalid_properties.push('invalid value for "base_os", base_os cannot be nil.') end @@ -309,6 +321,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @architecture.nil? return false if @base_os.nil? return false if @cid.nil? return false if @containers.nil? @@ -336,6 +349,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + architecture == o.architecture && base_os == o.base_os && cid == o.cid && containers == o.containers && @@ -366,7 +380,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [base_os, cid, containers, detections, first_seen, highest_detection_severity, highest_vulnerability_severity, image_digest, image_id, last_seen, layers_with_vulnerabilities, packages, registry, report_url_by_id_and_digest, report_url_by_repo_and_tag, repository, tag, vulnerabilities, warning].hash + [architecture, base_os, cid, containers, detections, first_seen, highest_detection_severity, highest_vulnerability_severity, image_digest, image_id, last_seen, layers_with_vulnerabilities, packages, registry, report_url_by_id_and_digest, report_url_by_repo_and_tag, repository, tag, vulnerabilities, warning].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_image_details.rb b/lib/crimson-falcon/models/models_image_details.rb new file mode 100644 index 00000000..545aebf0 --- /dev/null +++ b/lib/crimson-falcon/models/models_image_details.rb @@ -0,0 +1,281 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsImageDetails + attr_accessor :digest + + attr_accessor :registry + + attr_accessor :repository + + attr_accessor :tag + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'digest' => :'digest', + :'registry' => :'registry', + :'repository' => :'repository', + :'tag' => :'tag' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'digest' => :'String', + :'registry' => :'String', + :'repository' => :'String', + :'tag' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsImageDetails` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsImageDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'digest') + self.digest = attributes[:'digest'] + end + + if attributes.key?(:'registry') + self.registry = attributes[:'registry'] + end + + if attributes.key?(:'repository') + self.repository = attributes[:'repository'] + end + + if attributes.key?(:'tag') + self.tag = attributes[:'tag'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @digest.nil? + invalid_properties.push('invalid value for "digest", digest cannot be nil.') + end + + if @registry.nil? + invalid_properties.push('invalid value for "registry", registry cannot be nil.') + end + + if @repository.nil? + invalid_properties.push('invalid value for "repository", repository cannot be nil.') + end + + if @tag.nil? + invalid_properties.push('invalid value for "tag", tag cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @digest.nil? + return false if @registry.nil? + return false if @repository.nil? + return false if @tag.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + digest == o.digest && + registry == o.registry && + repository == o.repository && + tag == o.tag + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [digest, registry, repository, tag].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_image_with_rules_failed.rb b/lib/crimson-falcon/models/models_image_with_rules_failed.rb new file mode 100644 index 00000000..64eaa2b0 --- /dev/null +++ b/lib/crimson-falcon/models/models_image_with_rules_failed.rb @@ -0,0 +1,337 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsImageWithRulesFailed + attr_accessor :_1 + + attr_accessor :_2 + + attr_accessor :_3 + + attr_accessor :_4 + + attr_accessor :image_digest + + attr_accessor :image_registry + + attr_accessor :image_repository + + attr_accessor :image_tag + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_1' => :'1', + :'_2' => :'2', + :'_3' => :'3', + :'_4' => :'4', + :'image_digest' => :'image_digest', + :'image_registry' => :'image_registry', + :'image_repository' => :'image_repository', + :'image_tag' => :'image_tag' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_1' => :'Integer', + :'_2' => :'Integer', + :'_3' => :'Integer', + :'_4' => :'Integer', + :'image_digest' => :'String', + :'image_registry' => :'String', + :'image_repository' => :'String', + :'image_tag' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsImageWithRulesFailed` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsImageWithRulesFailed`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_1') + self._1 = attributes[:'_1'] + end + + if attributes.key?(:'_2') + self._2 = attributes[:'_2'] + end + + if attributes.key?(:'_3') + self._3 = attributes[:'_3'] + end + + if attributes.key?(:'_4') + self._4 = attributes[:'_4'] + end + + if attributes.key?(:'image_digest') + self.image_digest = attributes[:'image_digest'] + end + + if attributes.key?(:'image_registry') + self.image_registry = attributes[:'image_registry'] + end + + if attributes.key?(:'image_repository') + self.image_repository = attributes[:'image_repository'] + end + + if attributes.key?(:'image_tag') + self.image_tag = attributes[:'image_tag'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @_1.nil? + invalid_properties.push('invalid value for "_1", _1 cannot be nil.') + end + + if @_2.nil? + invalid_properties.push('invalid value for "_2", _2 cannot be nil.') + end + + if @_3.nil? + invalid_properties.push('invalid value for "_3", _3 cannot be nil.') + end + + if @_4.nil? + invalid_properties.push('invalid value for "_4", _4 cannot be nil.') + end + + if @image_digest.nil? + invalid_properties.push('invalid value for "image_digest", image_digest cannot be nil.') + end + + if @image_registry.nil? + invalid_properties.push('invalid value for "image_registry", image_registry cannot be nil.') + end + + if @image_repository.nil? + invalid_properties.push('invalid value for "image_repository", image_repository cannot be nil.') + end + + if @image_tag.nil? + invalid_properties.push('invalid value for "image_tag", image_tag cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @_1.nil? + return false if @_2.nil? + return false if @_3.nil? + return false if @_4.nil? + return false if @image_digest.nil? + return false if @image_registry.nil? + return false if @image_repository.nil? + return false if @image_tag.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _1 == o._1 && + _2 == o._2 && + _3 == o._3 && + _4 == o._4 && + image_digest == o.image_digest && + image_registry == o.image_registry && + image_repository == o.image_repository && + image_tag == o.image_tag + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_1, _2, _3, _4, image_digest, image_registry, image_repository, image_tag].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_images_with_rules_failed.rb b/lib/crimson-falcon/models/models_images_with_rules_failed.rb new file mode 100644 index 00000000..bee6401e --- /dev/null +++ b/lib/crimson-falcon/models/models_images_with_rules_failed.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsImagesWithRulesFailed + attr_accessor :images + + attr_accessor :not_applicable_filters + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'images' => :'images', + :'not_applicable_filters' => :'not_applicable_filters' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'images' => :'Array', + :'not_applicable_filters' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsImagesWithRulesFailed` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsImagesWithRulesFailed`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'images') + if (value = attributes[:'images']).is_a?(Array) + self.images = value + end + end + + if attributes.key?(:'not_applicable_filters') + self.not_applicable_filters = attributes[:'not_applicable_filters'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @images.nil? + invalid_properties.push('invalid value for "images", images cannot be nil.') + end + + if @not_applicable_filters.nil? + invalid_properties.push('invalid value for "not_applicable_filters", not_applicable_filters cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @images.nil? + return false if @not_applicable_filters.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + images == o.images && + not_applicable_filters == o.not_applicable_filters + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [images, not_applicable_filters].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_job_meta_data.rb b/lib/crimson-falcon/models/models_job_meta_data.rb new file mode 100644 index 00000000..b6ad7b97 --- /dev/null +++ b/lib/crimson-falcon/models/models_job_meta_data.rb @@ -0,0 +1,337 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsJobMetaData + attr_accessor :cloud_provider + + attr_accessor :instance_id + + attr_accessor :job_end_time + + attr_accessor :job_id + + attr_accessor :job_start_time + + attr_accessor :message + + attr_accessor :scanner_version + + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cloud_provider' => :'cloud_provider', + :'instance_id' => :'instance_id', + :'job_end_time' => :'job_end_time', + :'job_id' => :'job_id', + :'job_start_time' => :'job_start_time', + :'message' => :'message', + :'scanner_version' => :'scanner_version', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cloud_provider' => :'Integer', + :'instance_id' => :'String', + :'job_end_time' => :'Time', + :'job_id' => :'String', + :'job_start_time' => :'Time', + :'message' => :'String', + :'scanner_version' => :'String', + :'status' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsJobMetaData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsJobMetaData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cloud_provider') + self.cloud_provider = attributes[:'cloud_provider'] + end + + if attributes.key?(:'instance_id') + self.instance_id = attributes[:'instance_id'] + end + + if attributes.key?(:'job_end_time') + self.job_end_time = attributes[:'job_end_time'] + end + + if attributes.key?(:'job_id') + self.job_id = attributes[:'job_id'] + end + + if attributes.key?(:'job_start_time') + self.job_start_time = attributes[:'job_start_time'] + end + + if attributes.key?(:'message') + self.message = attributes[:'message'] + end + + if attributes.key?(:'scanner_version') + self.scanner_version = attributes[:'scanner_version'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cloud_provider.nil? + invalid_properties.push('invalid value for "cloud_provider", cloud_provider cannot be nil.') + end + + if @instance_id.nil? + invalid_properties.push('invalid value for "instance_id", instance_id cannot be nil.') + end + + if @job_end_time.nil? + invalid_properties.push('invalid value for "job_end_time", job_end_time cannot be nil.') + end + + if @job_id.nil? + invalid_properties.push('invalid value for "job_id", job_id cannot be nil.') + end + + if @job_start_time.nil? + invalid_properties.push('invalid value for "job_start_time", job_start_time cannot be nil.') + end + + if @message.nil? + invalid_properties.push('invalid value for "message", message cannot be nil.') + end + + if @scanner_version.nil? + invalid_properties.push('invalid value for "scanner_version", scanner_version cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cloud_provider.nil? + return false if @instance_id.nil? + return false if @job_end_time.nil? + return false if @job_id.nil? + return false if @job_start_time.nil? + return false if @message.nil? + return false if @scanner_version.nil? + return false if @status.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cloud_provider == o.cloud_provider && + instance_id == o.instance_id && + job_end_time == o.job_end_time && + job_id == o.job_id && + job_start_time == o.job_start_time && + message == o.message && + scanner_version == o.scanner_version && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cloud_provider, instance_id, job_end_time, job_id, job_start_time, message, scanner_version, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_mock_execution_create_request_v1.rb b/lib/crimson-falcon/models/models_mock_execution_create_request_v1.rb new file mode 100644 index 00000000..78d5c1c0 --- /dev/null +++ b/lib/crimson-falcon/models/models_mock_execution_create_request_v1.rb @@ -0,0 +1,259 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsMockExecutionCreateRequestV1 + attr_accessor :definition + + # Mock activity data and trigger data for non-on-demand executions, keyed by node ID, may include trigger and/or activity nodes + attr_accessor :mocks + + # Trigger data for on-demand executions + attr_accessor :on_demand_trigger + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'definition' => :'definition', + :'mocks' => :'mocks', + :'on_demand_trigger' => :'on_demand_trigger' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'definition' => :'ModelsDefinitionCreateRequestV2', + :'mocks' => :'String', + :'on_demand_trigger' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsMockExecutionCreateRequestV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsMockExecutionCreateRequestV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'definition') + self.definition = attributes[:'definition'] + end + + if attributes.key?(:'mocks') + self.mocks = attributes[:'mocks'] + end + + if attributes.key?(:'on_demand_trigger') + self.on_demand_trigger = attributes[:'on_demand_trigger'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @mocks.nil? + invalid_properties.push('invalid value for "mocks", mocks cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @mocks.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + definition == o.definition && + mocks == o.mocks && + on_demand_trigger == o.on_demand_trigger + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [definition, mocks, on_demand_trigger].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_node.rb b/lib/crimson-falcon/models/models_node.rb index a2305878..508399da 100644 --- a/lib/crimson-falcon/models/models_node.rb +++ b/lib/crimson-falcon/models/models_node.rb @@ -52,6 +52,8 @@ class ModelsNode attr_accessor :cloud_region + attr_accessor :cloud_service + attr_accessor :cluster_id attr_accessor :cluster_name @@ -64,6 +66,8 @@ class ModelsNode attr_accessor :created_at + attr_accessor :deleted_at + attr_accessor :external_ip attr_accessor :first_seen @@ -72,6 +76,8 @@ class ModelsNode attr_accessor :ipv6 + attr_accessor :kac_agent_id + attr_accessor :kernel_version attr_accessor :kubernetes_version @@ -98,6 +104,8 @@ class ModelsNode attr_accessor :provider_id + attr_accessor :resource_status + attr_accessor :storage attr_accessor :uid @@ -115,16 +123,19 @@ def self.attribute_map :'cloud_instance_type' => :'cloud_instance_type', :'cloud_name' => :'cloud_name', :'cloud_region' => :'cloud_region', + :'cloud_service' => :'cloud_service', :'cluster_id' => :'cluster_id', :'cluster_name' => :'cluster_name', :'container_count' => :'container_count', :'container_runtime_version' => :'container_runtime_version', :'cpu' => :'cpu', :'created_at' => :'created_at', + :'deleted_at' => :'deleted_at', :'external_ip' => :'external_ip', :'first_seen' => :'first_seen', :'ipv4' => :'ipv4', :'ipv6' => :'ipv6', + :'kac_agent_id' => :'kac_agent_id', :'kernel_version' => :'kernel_version', :'kubernetes_version' => :'kubernetes_version', :'labels' => :'labels', @@ -138,6 +149,7 @@ def self.attribute_map :'pod_cidr' => :'pod_cidr', :'pod_count' => :'pod_count', :'provider_id' => :'provider_id', + :'resource_status' => :'resource_status', :'storage' => :'storage', :'uid' => :'uid' } @@ -161,16 +173,19 @@ def self.openapi_types :'cloud_instance_type' => :'String', :'cloud_name' => :'String', :'cloud_region' => :'String', + :'cloud_service' => :'String', :'cluster_id' => :'String', :'cluster_name' => :'String', :'container_count' => :'Integer', :'container_runtime_version' => :'String', :'cpu' => :'String', :'created_at' => :'String', + :'deleted_at' => :'String', :'external_ip' => :'String', :'first_seen' => :'String', :'ipv4' => :'String', :'ipv6' => :'String', + :'kac_agent_id' => :'String', :'kernel_version' => :'String', :'kubernetes_version' => :'String', :'labels' => :'Hash', @@ -184,6 +199,7 @@ def self.openapi_types :'pod_cidr' => :'String', :'pod_count' => :'Integer', :'provider_id' => :'String', + :'resource_status' => :'String', :'storage' => :'String', :'uid' => :'String' } @@ -254,6 +270,10 @@ def initialize(attributes = {}) self.cloud_region = attributes[:'cloud_region'] end + if attributes.key?(:'cloud_service') + self.cloud_service = attributes[:'cloud_service'] + end + if attributes.key?(:'cluster_id') self.cluster_id = attributes[:'cluster_id'] end @@ -278,6 +298,10 @@ def initialize(attributes = {}) self.created_at = attributes[:'created_at'] end + if attributes.key?(:'deleted_at') + self.deleted_at = attributes[:'deleted_at'] + end + if attributes.key?(:'external_ip') self.external_ip = attributes[:'external_ip'] end @@ -294,6 +318,10 @@ def initialize(attributes = {}) self.ipv6 = attributes[:'ipv6'] end + if attributes.key?(:'kac_agent_id') + self.kac_agent_id = attributes[:'kac_agent_id'] + end + if attributes.key?(:'kernel_version') self.kernel_version = attributes[:'kernel_version'] end @@ -350,6 +378,10 @@ def initialize(attributes = {}) self.provider_id = attributes[:'provider_id'] end + if attributes.key?(:'resource_status') + self.resource_status = attributes[:'resource_status'] + end + if attributes.key?(:'storage') self.storage = attributes[:'storage'] end @@ -403,6 +435,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "cloud_region", cloud_region cannot be nil.') end + if @cloud_service.nil? + invalid_properties.push('invalid value for "cloud_service", cloud_service cannot be nil.') + end + if @cluster_id.nil? invalid_properties.push('invalid value for "cluster_id", cluster_id cannot be nil.') end @@ -443,6 +479,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "ipv6", ipv6 cannot be nil.') end + if @kac_agent_id.nil? + invalid_properties.push('invalid value for "kac_agent_id", kac_agent_id cannot be nil.') + end + if @kernel_version.nil? invalid_properties.push('invalid value for "kernel_version", kernel_version cannot be nil.') end @@ -495,6 +535,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "provider_id", provider_id cannot be nil.') end + if @resource_status.nil? + invalid_properties.push('invalid value for "resource_status", resource_status cannot be nil.') + end + if @storage.nil? invalid_properties.push('invalid value for "storage", storage cannot be nil.') end @@ -519,6 +563,7 @@ def valid? return false if @cloud_instance_type.nil? return false if @cloud_name.nil? return false if @cloud_region.nil? + return false if @cloud_service.nil? return false if @cluster_id.nil? return false if @cluster_name.nil? return false if @container_count.nil? @@ -529,6 +574,7 @@ def valid? return false if @first_seen.nil? return false if @ipv4.nil? return false if @ipv6.nil? + return false if @kac_agent_id.nil? return false if @kernel_version.nil? return false if @kubernetes_version.nil? return false if @labels.nil? @@ -542,6 +588,7 @@ def valid? return false if @pod_cidr.nil? return false if @pod_count.nil? return false if @provider_id.nil? + return false if @resource_status.nil? return false if @storage.nil? return false if @uid.nil? true @@ -562,16 +609,19 @@ def ==(o) cloud_instance_type == o.cloud_instance_type && cloud_name == o.cloud_name && cloud_region == o.cloud_region && + cloud_service == o.cloud_service && cluster_id == o.cluster_id && cluster_name == o.cluster_name && container_count == o.container_count && container_runtime_version == o.container_runtime_version && cpu == o.cpu && created_at == o.created_at && + deleted_at == o.deleted_at && external_ip == o.external_ip && first_seen == o.first_seen && ipv4 == o.ipv4 && ipv6 == o.ipv6 && + kac_agent_id == o.kac_agent_id && kernel_version == o.kernel_version && kubernetes_version == o.kubernetes_version && labels == o.labels && @@ -585,6 +635,7 @@ def ==(o) pod_cidr == o.pod_cidr && pod_count == o.pod_count && provider_id == o.provider_id && + resource_status == o.resource_status && storage == o.storage && uid == o.uid end @@ -598,7 +649,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [agents, annotations_list, architecture, base_image, cid, cloud_account_id, cloud_instance_id, cloud_instance_type, cloud_name, cloud_region, cluster_id, cluster_name, container_count, container_runtime_version, cpu, created_at, external_ip, first_seen, ipv4, ipv6, kernel_version, kubernetes_version, labels, labels_list, last_seen, linux_sensor_coverage, memory, node_id, node_name, os, pod_cidr, pod_count, provider_id, storage, uid].hash + [agents, annotations_list, architecture, base_image, cid, cloud_account_id, cloud_instance_id, cloud_instance_type, cloud_name, cloud_region, cloud_service, cluster_id, cluster_name, container_count, container_runtime_version, cpu, created_at, deleted_at, external_ip, first_seen, ipv4, ipv6, kac_agent_id, kernel_version, kubernetes_version, labels, labels_list, last_seen, linux_sensor_coverage, memory, node_id, node_name, os, pod_cidr, pod_count, provider_id, resource_status, storage, uid].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_node_entity_response.rb b/lib/crimson-falcon/models/models_node_entity_response.rb index 20e87824..dacab981 100644 --- a/lib/crimson-falcon/models/models_node_entity_response.rb +++ b/lib/crimson-falcon/models/models_node_entity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_non_compliant_assets_by_severity.rb b/lib/crimson-falcon/models/models_non_compliant_assets_by_severity.rb new file mode 100644 index 00000000..34f34a7f --- /dev/null +++ b/lib/crimson-falcon/models/models_non_compliant_assets_by_severity.rb @@ -0,0 +1,295 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsNonCompliantAssetsBySeverity + attr_accessor :_1 + + attr_accessor :_2 + + attr_accessor :_3 + + attr_accessor :_4 + + attr_accessor :not_applicable_filters + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_1' => :'1', + :'_2' => :'2', + :'_3' => :'3', + :'_4' => :'4', + :'not_applicable_filters' => :'not_applicable_filters' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_1' => :'Integer', + :'_2' => :'Integer', + :'_3' => :'Integer', + :'_4' => :'Integer', + :'not_applicable_filters' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsNonCompliantAssetsBySeverity` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsNonCompliantAssetsBySeverity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_1') + self._1 = attributes[:'_1'] + end + + if attributes.key?(:'_2') + self._2 = attributes[:'_2'] + end + + if attributes.key?(:'_3') + self._3 = attributes[:'_3'] + end + + if attributes.key?(:'_4') + self._4 = attributes[:'_4'] + end + + if attributes.key?(:'not_applicable_filters') + self.not_applicable_filters = attributes[:'not_applicable_filters'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @_1.nil? + invalid_properties.push('invalid value for "_1", _1 cannot be nil.') + end + + if @_2.nil? + invalid_properties.push('invalid value for "_2", _2 cannot be nil.') + end + + if @_3.nil? + invalid_properties.push('invalid value for "_3", _3 cannot be nil.') + end + + if @_4.nil? + invalid_properties.push('invalid value for "_4", _4 cannot be nil.') + end + + if @not_applicable_filters.nil? + invalid_properties.push('invalid value for "not_applicable_filters", not_applicable_filters cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @_1.nil? + return false if @_2.nil? + return false if @_3.nil? + return false if @_4.nil? + return false if @not_applicable_filters.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _1 == o._1 && + _2 == o._2 && + _3 == o._3 && + _4 == o._4 && + not_applicable_filters == o.not_applicable_filters + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_1, _2, _3, _4, not_applicable_filters].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_os_info_type.rb b/lib/crimson-falcon/models/models_os_info_type.rb new file mode 100644 index 00000000..2484b732 --- /dev/null +++ b/lib/crimson-falcon/models/models_os_info_type.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsOSInfoType + attr_accessor :name + + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'Name', + :'version' => :'Version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsOSInfoType` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsOSInfoType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @version.nil? + invalid_properties.push('invalid value for "version", version cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @name.nil? + return false if @version.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_package_vulnerability_type.rb b/lib/crimson-falcon/models/models_package_vulnerability_type.rb new file mode 100644 index 00000000..3d0221b0 --- /dev/null +++ b/lib/crimson-falcon/models/models_package_vulnerability_type.rb @@ -0,0 +1,239 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsPackageVulnerabilityType + attr_accessor :vulnerability + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'vulnerability' => :'Vulnerability' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'vulnerability' => :'ModelsVulnerabilityType' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsPackageVulnerabilityType` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsPackageVulnerabilityType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'vulnerability') + self.vulnerability = attributes[:'vulnerability'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @vulnerability.nil? + invalid_properties.push('invalid value for "vulnerability", vulnerability cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @vulnerability.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + vulnerability == o.vulnerability + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [vulnerability].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_pod.rb b/lib/crimson-falcon/models/models_pod.rb index 1f26b0ce..c95e12be 100644 --- a/lib/crimson-falcon/models/models_pod.rb +++ b/lib/crimson-falcon/models/models_pod.rb @@ -48,6 +48,8 @@ class ModelsPod attr_accessor :cloud_region + attr_accessor :cloud_service + attr_accessor :cluster_id attr_accessor :cluster_name @@ -58,6 +60,8 @@ class ModelsPod attr_accessor :created_at + attr_accessor :deleted_at + attr_accessor :first_seen attr_accessor :host_ipc @@ -72,6 +76,8 @@ class ModelsPod attr_accessor :ipv6 + attr_accessor :kac_agent_id + attr_accessor :labels attr_accessor :labels_list @@ -102,6 +108,8 @@ class ModelsPod attr_accessor :privileged + attr_accessor :resource_status + attr_accessor :root_write_access attr_accessor :run_as_root_group @@ -127,11 +135,13 @@ def self.attribute_map :'cloud_account_id' => :'cloud_account_id', :'cloud_name' => :'cloud_name', :'cloud_region' => :'cloud_region', + :'cloud_service' => :'cloud_service', :'cluster_id' => :'cluster_id', :'cluster_name' => :'cluster_name', :'container_count' => :'container_count', :'containers' => :'containers', :'created_at' => :'created_at', + :'deleted_at' => :'deleted_at', :'first_seen' => :'first_seen', :'host_ipc' => :'host_ipc', :'host_network' => :'host_network', @@ -139,6 +149,7 @@ def self.attribute_map :'image_pull_secrets' => :'image_pull_secrets', :'ipv4' => :'ipv4', :'ipv6' => :'ipv6', + :'kac_agent_id' => :'kac_agent_id', :'labels' => :'labels', :'labels_list' => :'labels_list', :'last_seen' => :'last_seen', @@ -154,6 +165,7 @@ def self.attribute_map :'pod_name' => :'pod_name', :'ports' => :'ports', :'privileged' => :'privileged', + :'resource_status' => :'resource_status', :'root_write_access' => :'root_write_access', :'run_as_root_group' => :'run_as_root_group', :'run_as_root_user' => :'run_as_root_user', @@ -180,11 +192,13 @@ def self.openapi_types :'cloud_account_id' => :'String', :'cloud_name' => :'String', :'cloud_region' => :'String', + :'cloud_service' => :'String', :'cluster_id' => :'String', :'cluster_name' => :'String', :'container_count' => :'Integer', :'containers' => :'Array', :'created_at' => :'String', + :'deleted_at' => :'String', :'first_seen' => :'String', :'host_ipc' => :'Boolean', :'host_network' => :'Boolean', @@ -192,6 +206,7 @@ def self.openapi_types :'image_pull_secrets' => :'Array', :'ipv4' => :'String', :'ipv6' => :'String', + :'kac_agent_id' => :'String', :'labels' => :'Hash', :'labels_list' => :'Array', :'last_seen' => :'String', @@ -207,6 +222,7 @@ def self.openapi_types :'pod_name' => :'String', :'ports' => :'Array', :'privileged' => :'Boolean', + :'resource_status' => :'String', :'root_write_access' => :'Boolean', :'run_as_root_group' => :'Boolean', :'run_as_root_user' => :'Boolean', @@ -274,6 +290,10 @@ def initialize(attributes = {}) self.cloud_region = attributes[:'cloud_region'] end + if attributes.key?(:'cloud_service') + self.cloud_service = attributes[:'cloud_service'] + end + if attributes.key?(:'cluster_id') self.cluster_id = attributes[:'cluster_id'] end @@ -296,6 +316,10 @@ def initialize(attributes = {}) self.created_at = attributes[:'created_at'] end + if attributes.key?(:'deleted_at') + self.deleted_at = attributes[:'deleted_at'] + end + if attributes.key?(:'first_seen') self.first_seen = attributes[:'first_seen'] end @@ -326,6 +350,10 @@ def initialize(attributes = {}) self.ipv6 = attributes[:'ipv6'] end + if attributes.key?(:'kac_agent_id') + self.kac_agent_id = attributes[:'kac_agent_id'] + end + if attributes.key?(:'labels') if (value = attributes[:'labels']).is_a?(Hash) self.labels = value @@ -392,6 +420,10 @@ def initialize(attributes = {}) self.privileged = attributes[:'privileged'] end + if attributes.key?(:'resource_status') + self.resource_status = attributes[:'resource_status'] + end + if attributes.key?(:'root_write_access') self.root_write_access = attributes[:'root_write_access'] end @@ -457,6 +489,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "cloud_region", cloud_region cannot be nil.') end + if @cloud_service.nil? + invalid_properties.push('invalid value for "cloud_service", cloud_service cannot be nil.') + end + if @cluster_id.nil? invalid_properties.push('invalid value for "cluster_id", cluster_id cannot be nil.') end @@ -505,6 +541,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "ipv6", ipv6 cannot be nil.') end + if @kac_agent_id.nil? + invalid_properties.push('invalid value for "kac_agent_id", kac_agent_id cannot be nil.') + end + if @labels.nil? invalid_properties.push('invalid value for "labels", labels cannot be nil.') end @@ -565,6 +605,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "privileged", privileged cannot be nil.') end + if @resource_status.nil? + invalid_properties.push('invalid value for "resource_status", resource_status cannot be nil.') + end + if @root_write_access.nil? invalid_properties.push('invalid value for "root_write_access", root_write_access cannot be nil.') end @@ -607,6 +651,7 @@ def valid? return false if @cloud_account_id.nil? return false if @cloud_name.nil? return false if @cloud_region.nil? + return false if @cloud_service.nil? return false if @cluster_id.nil? return false if @cluster_name.nil? return false if @container_count.nil? @@ -619,6 +664,7 @@ def valid? return false if @image_pull_secrets.nil? return false if @ipv4.nil? return false if @ipv6.nil? + return false if @kac_agent_id.nil? return false if @labels.nil? return false if @labels_list.nil? return false if @last_seen.nil? @@ -634,6 +680,7 @@ def valid? return false if @pod_name.nil? return false if @ports.nil? return false if @privileged.nil? + return false if @resource_status.nil? return false if @root_write_access.nil? return false if @run_as_root_group.nil? return false if @run_as_root_user.nil? @@ -657,11 +704,13 @@ def ==(o) cloud_account_id == o.cloud_account_id && cloud_name == o.cloud_name && cloud_region == o.cloud_region && + cloud_service == o.cloud_service && cluster_id == o.cluster_id && cluster_name == o.cluster_name && container_count == o.container_count && containers == o.containers && created_at == o.created_at && + deleted_at == o.deleted_at && first_seen == o.first_seen && host_ipc == o.host_ipc && host_network == o.host_network && @@ -669,6 +718,7 @@ def ==(o) image_pull_secrets == o.image_pull_secrets && ipv4 == o.ipv4 && ipv6 == o.ipv6 && + kac_agent_id == o.kac_agent_id && labels == o.labels && labels_list == o.labels_list && last_seen == o.last_seen && @@ -684,6 +734,7 @@ def ==(o) pod_name == o.pod_name && ports == o.ports && privileged == o.privileged && + resource_status == o.resource_status && root_write_access == o.root_write_access && run_as_root_group == o.run_as_root_group && run_as_root_user == o.run_as_root_user && @@ -702,7 +753,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [agents, allow_privilege_escalation, annotations_list, automount_service_token, cid, cloud_account_id, cloud_name, cloud_region, cluster_id, cluster_name, container_count, containers, created_at, first_seen, host_ipc, host_network, host_pid, image_pull_secrets, ipv4, ipv6, labels, labels_list, last_seen, namespace, node_ipv4, node_name, node_selector, node_uid, owner_id, owner_type, pod_external_id, pod_id, pod_name, ports, privileged, root_write_access, run_as_root_group, run_as_root_user, scheduler_name, service_account_name, share_process_namespace, volume_mounts].hash + [agents, allow_privilege_escalation, annotations_list, automount_service_token, cid, cloud_account_id, cloud_name, cloud_region, cloud_service, cluster_id, cluster_name, container_count, containers, created_at, deleted_at, first_seen, host_ipc, host_network, host_pid, image_pull_secrets, ipv4, ipv6, kac_agent_id, labels, labels_list, last_seen, namespace, node_ipv4, node_name, node_selector, node_uid, owner_id, owner_type, pod_external_id, pod_id, pod_name, ports, privileged, resource_status, root_write_access, run_as_root_group, run_as_root_user, scheduler_name, service_account_name, share_process_namespace, volume_mounts].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_pod_entity_response.rb b/lib/crimson-falcon/models/models_pod_entity_response.rb index 8448281c..ebb89128 100644 --- a/lib/crimson-falcon/models/models_pod_entity_response.rb +++ b/lib/crimson-falcon/models/models_pod_entity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_policy_entity_response.rb b/lib/crimson-falcon/models/models_policy_entity_response.rb index 8b49b028..2ea4fc9d 100644 --- a/lib/crimson-falcon/models/models_policy_entity_response.rb +++ b/lib/crimson-falcon/models/models_policy_entity_response.rb @@ -32,18 +32,18 @@ module Falcon class ModelsPolicyEntityResponse - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_policy_exclusion_entity_response.rb b/lib/crimson-falcon/models/models_policy_exclusion_entity_response.rb index d1548acb..f6ef722f 100644 --- a/lib/crimson-falcon/models/models_policy_exclusion_entity_response.rb +++ b/lib/crimson-falcon/models/models_policy_exclusion_entity_response.rb @@ -32,18 +32,18 @@ module Falcon class ModelsPolicyExclusionEntityResponse - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_policy_group_entity_response.rb b/lib/crimson-falcon/models/models_policy_group_entity_response.rb index 15f89873..765017cb 100644 --- a/lib/crimson-falcon/models/models_policy_group_entity_response.rb +++ b/lib/crimson-falcon/models/models_policy_group_entity_response.rb @@ -32,18 +32,18 @@ module Falcon class ModelsPolicyGroupEntityResponse - attr_accessor :resources - attr_accessor :errors attr_accessor :meta + attr_accessor :resources + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'resources' => :'Resources', :'errors' => :'errors', - :'meta' => :'meta' + :'meta' => :'meta', + :'resources' => :'resources' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -82,12 +82,6 @@ def initialize(attributes = {}) h[k.to_sym] = v } - if attributes.key?(:'resources') - if (value = attributes[:'resources']).is_a?(Array) - self.resources = value - end - end - if attributes.key?(:'errors') if (value = attributes[:'errors']).is_a?(Array) self.errors = value @@ -97,28 +91,34 @@ def initialize(attributes = {}) if attributes.key?(:'meta') self.meta = attributes[:'meta'] end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @resources.nil? - invalid_properties.push('invalid value for "resources", resources cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @resources.nil? return false if @meta.nil? + return false if @resources.nil? true end @@ -127,9 +127,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - resources == o.resources && errors == o.errors && - meta == o.meta + meta == o.meta && + resources == o.resources end # @see the `==` method @@ -141,7 +141,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [resources, errors, meta].hash + [errors, meta, resources].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_registry_credentials_response.rb b/lib/crimson-falcon/models/models_registry_credentials_response.rb index 73f6f2da..6b770305 100644 --- a/lib/crimson-falcon/models/models_registry_credentials_response.rb +++ b/lib/crimson-falcon/models/models_registry_credentials_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_rule_status.rb b/lib/crimson-falcon/models/models_rule_status.rb new file mode 100644 index 00000000..55f1569f --- /dev/null +++ b/lib/crimson-falcon/models/models_rule_status.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsRuleStatus + attr_accessor :name + + attr_accessor :recommendation_id + + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'recommendation_id' => :'recommendation_id', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'recommendation_id' => :'String', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsRuleStatus` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsRuleStatus`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'recommendation_id') + self.recommendation_id = attributes[:'recommendation_id'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @recommendation_id.nil? + invalid_properties.push('invalid value for "recommendation_id", recommendation_id cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @name.nil? + return false if @recommendation_id.nil? + return false if @status.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + recommendation_id == o.recommendation_id && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, recommendation_id, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_rule_with_non_compliant_assets.rb b/lib/crimson-falcon/models/models_rule_with_non_compliant_assets.rb new file mode 100644 index 00000000..3b371dc8 --- /dev/null +++ b/lib/crimson-falcon/models/models_rule_with_non_compliant_assets.rb @@ -0,0 +1,281 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsRuleWithNonCompliantAssets + attr_accessor :asset_count + + attr_accessor :name + + attr_accessor :recommendation_id + + attr_accessor :severity + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'asset_count' => :'asset_count', + :'name' => :'name', + :'recommendation_id' => :'recommendation_id', + :'severity' => :'severity' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'asset_count' => :'Integer', + :'name' => :'String', + :'recommendation_id' => :'String', + :'severity' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsRuleWithNonCompliantAssets` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsRuleWithNonCompliantAssets`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'asset_count') + self.asset_count = attributes[:'asset_count'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'recommendation_id') + self.recommendation_id = attributes[:'recommendation_id'] + end + + if attributes.key?(:'severity') + self.severity = attributes[:'severity'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @asset_count.nil? + invalid_properties.push('invalid value for "asset_count", asset_count cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @recommendation_id.nil? + invalid_properties.push('invalid value for "recommendation_id", recommendation_id cannot be nil.') + end + + if @severity.nil? + invalid_properties.push('invalid value for "severity", severity cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @asset_count.nil? + return false if @name.nil? + return false if @recommendation_id.nil? + return false if @severity.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + asset_count == o.asset_count && + name == o.name && + recommendation_id == o.recommendation_id && + severity == o.severity + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [asset_count, name, recommendation_id, severity].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_rules_failed_by_severity.rb b/lib/crimson-falcon/models/models_rules_failed_by_severity.rb new file mode 100644 index 00000000..c933ecb2 --- /dev/null +++ b/lib/crimson-falcon/models/models_rules_failed_by_severity.rb @@ -0,0 +1,281 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsRulesFailedBySeverity + attr_accessor :_1 + + attr_accessor :_2 + + attr_accessor :_3 + + attr_accessor :_4 + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'_1' => :'1', + :'_2' => :'2', + :'_3' => :'3', + :'_4' => :'4' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'_1' => :'Integer', + :'_2' => :'Integer', + :'_3' => :'Integer', + :'_4' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsRulesFailedBySeverity` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsRulesFailedBySeverity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'_1') + self._1 = attributes[:'_1'] + end + + if attributes.key?(:'_2') + self._2 = attributes[:'_2'] + end + + if attributes.key?(:'_3') + self._3 = attributes[:'_3'] + end + + if attributes.key?(:'_4') + self._4 = attributes[:'_4'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @_1.nil? + invalid_properties.push('invalid value for "_1", _1 cannot be nil.') + end + + if @_2.nil? + invalid_properties.push('invalid value for "_2", _2 cannot be nil.') + end + + if @_3.nil? + invalid_properties.push('invalid value for "_3", _3 cannot be nil.') + end + + if @_4.nil? + invalid_properties.push('invalid value for "_4", _4 cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @_1.nil? + return false if @_2.nil? + return false if @_3.nil? + return false if @_4.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + _1 == o._1 && + _2 == o._2 && + _3 == o._3 && + _4 == o._4 + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [_1, _2, _3, _4].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_rules_with_non_compliant_assets.rb b/lib/crimson-falcon/models/models_rules_with_non_compliant_assets.rb new file mode 100644 index 00000000..9946eba4 --- /dev/null +++ b/lib/crimson-falcon/models/models_rules_with_non_compliant_assets.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsRulesWithNonCompliantAssets + attr_accessor :not_applicable_filters + + attr_accessor :rules + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'not_applicable_filters' => :'not_applicable_filters', + :'rules' => :'rules' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'not_applicable_filters' => :'String', + :'rules' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsRulesWithNonCompliantAssets` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsRulesWithNonCompliantAssets`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'not_applicable_filters') + self.not_applicable_filters = attributes[:'not_applicable_filters'] + end + + if attributes.key?(:'rules') + if (value = attributes[:'rules']).is_a?(Array) + self.rules = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @not_applicable_filters.nil? + invalid_properties.push('invalid value for "not_applicable_filters", not_applicable_filters cannot be nil.') + end + + if @rules.nil? + invalid_properties.push('invalid value for "rules", rules cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @not_applicable_filters.nil? + return false if @rules.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + not_applicable_filters == o.not_applicable_filters && + rules == o.rules + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [not_applicable_filters, rules].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_scan_report_type.rb b/lib/crimson-falcon/models/models_scan_report_type.rb new file mode 100644 index 00000000..05e83266 --- /dev/null +++ b/lib/crimson-falcon/models/models_scan_report_type.rb @@ -0,0 +1,333 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsScanReportType + attr_accessor :application_packages + + attr_accessor :detection_engine_info + + attr_accessor :detections + + attr_accessor :vulnerabilities + + attr_accessor :vulnerabilities_truncated + + attr_accessor :job_metadata + + attr_accessor :os_info + + attr_accessor :results + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'application_packages' => :'ApplicationPackages', + :'detection_engine_info' => :'DetectionEngineInfo', + :'detections' => :'Detections', + :'vulnerabilities' => :'Vulnerabilities', + :'vulnerabilities_truncated' => :'VulnerabilitiesTruncated', + :'job_metadata' => :'job_metadata', + :'os_info' => :'os_info', + :'results' => :'results' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'application_packages' => :'Array', + :'detection_engine_info' => :'ModelsDetectionEngineInfoType', + :'detections' => :'Array', + :'vulnerabilities' => :'Array', + :'vulnerabilities_truncated' => :'ModelsVulnerabilitiesType', + :'job_metadata' => :'ModelsJobMetaData', + :'os_info' => :'ModelsOSInfoType', + :'results' => :'ModelsScanResults' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsScanReportType` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsScanReportType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'application_packages') + if (value = attributes[:'application_packages']).is_a?(Array) + self.application_packages = value + end + end + + if attributes.key?(:'detection_engine_info') + self.detection_engine_info = attributes[:'detection_engine_info'] + end + + if attributes.key?(:'detections') + if (value = attributes[:'detections']).is_a?(Array) + self.detections = value + end + end + + if attributes.key?(:'vulnerabilities') + if (value = attributes[:'vulnerabilities']).is_a?(Array) + self.vulnerabilities = value + end + end + + if attributes.key?(:'vulnerabilities_truncated') + self.vulnerabilities_truncated = attributes[:'vulnerabilities_truncated'] + end + + if attributes.key?(:'job_metadata') + self.job_metadata = attributes[:'job_metadata'] + end + + if attributes.key?(:'os_info') + self.os_info = attributes[:'os_info'] + end + + if attributes.key?(:'results') + self.results = attributes[:'results'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @detection_engine_info.nil? + invalid_properties.push('invalid value for "detection_engine_info", detection_engine_info cannot be nil.') + end + + if @detections.nil? + invalid_properties.push('invalid value for "detections", detections cannot be nil.') + end + + if @vulnerabilities.nil? + invalid_properties.push('invalid value for "vulnerabilities", vulnerabilities cannot be nil.') + end + + if @job_metadata.nil? + invalid_properties.push('invalid value for "job_metadata", job_metadata cannot be nil.') + end + + if @os_info.nil? + invalid_properties.push('invalid value for "os_info", os_info cannot be nil.') + end + + if @results.nil? + invalid_properties.push('invalid value for "results", results cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @detection_engine_info.nil? + return false if @detections.nil? + return false if @vulnerabilities.nil? + return false if @job_metadata.nil? + return false if @os_info.nil? + return false if @results.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + application_packages == o.application_packages && + detection_engine_info == o.detection_engine_info && + detections == o.detections && + vulnerabilities == o.vulnerabilities && + vulnerabilities_truncated == o.vulnerabilities_truncated && + job_metadata == o.job_metadata && + os_info == o.os_info && + results == o.results + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [application_packages, detection_engine_info, detections, vulnerabilities, vulnerabilities_truncated, job_metadata, os_info, results].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_tweet_source.rb b/lib/crimson-falcon/models/models_scan_results.rb similarity index 76% rename from lib/crimson-falcon/models/domain_tweet_source.rb rename to lib/crimson-falcon/models/models_scan_results.rb index c6f718a3..50e8e2b7 100644 --- a/lib/crimson-falcon/models/domain_tweet_source.rb +++ b/lib/crimson-falcon/models/models_scan_results.rb @@ -31,29 +31,22 @@ require 'time' module Falcon - class DomainTweetSource - # The username of the tweet's author - attr_accessor :author_name + class ModelsScanResults + attr_accessor :applications - # The language of the tweet - attr_accessor :language + attr_accessor :containers - attr_accessor :legacy_source + attr_accessor :elf_binaries - # The link to the tweet - attr_accessor :source_link - - # The tweet ID - attr_accessor :tweet_id + attr_accessor :os_version # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'author_name' => :'author_name', - :'language' => :'language', - :'legacy_source' => :'legacy_source', - :'source_link' => :'source_link', - :'tweet_id' => :'tweet_id' + :'applications' => :'applications', + :'containers' => :'containers', + :'elf_binaries' => :'elf_binaries', + :'os_version' => :'os_version' } end @@ -65,11 +58,10 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'author_name' => :'String', - :'language' => :'String', - :'legacy_source' => :'Object', - :'source_link' => :'String', - :'tweet_id' => :'Integer' + :'applications' => :'Array', + :'containers' => :'Array', + :'elf_binaries' => :'Array', + :'os_version' => :'String' } end @@ -83,35 +75,37 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainTweetSource` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsScanResults` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainTweetSource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsScanResults`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'author_name') - self.author_name = attributes[:'author_name'] - end - - if attributes.key?(:'language') - self.language = attributes[:'language'] + if attributes.key?(:'applications') + if (value = attributes[:'applications']).is_a?(Array) + self.applications = value + end end - if attributes.key?(:'legacy_source') - self.legacy_source = attributes[:'legacy_source'] + if attributes.key?(:'containers') + if (value = attributes[:'containers']).is_a?(Array) + self.containers = value + end end - if attributes.key?(:'source_link') - self.source_link = attributes[:'source_link'] + if attributes.key?(:'elf_binaries') + if (value = attributes[:'elf_binaries']).is_a?(Array) + self.elf_binaries = value + end end - if attributes.key?(:'tweet_id') - self.tweet_id = attributes[:'tweet_id'] + if attributes.key?(:'os_version') + self.os_version = attributes[:'os_version'] end end @@ -119,20 +113,20 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @author_name.nil? - invalid_properties.push('invalid value for "author_name", author_name cannot be nil.') + if @applications.nil? + invalid_properties.push('invalid value for "applications", applications cannot be nil.') end - if @language.nil? - invalid_properties.push('invalid value for "language", language cannot be nil.') + if @containers.nil? + invalid_properties.push('invalid value for "containers", containers cannot be nil.') end - if @source_link.nil? - invalid_properties.push('invalid value for "source_link", source_link cannot be nil.') + if @elf_binaries.nil? + invalid_properties.push('invalid value for "elf_binaries", elf_binaries cannot be nil.') end - if @tweet_id.nil? - invalid_properties.push('invalid value for "tweet_id", tweet_id cannot be nil.') + if @os_version.nil? + invalid_properties.push('invalid value for "os_version", os_version cannot be nil.') end invalid_properties @@ -141,10 +135,10 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @author_name.nil? - return false if @language.nil? - return false if @source_link.nil? - return false if @tweet_id.nil? + return false if @applications.nil? + return false if @containers.nil? + return false if @elf_binaries.nil? + return false if @os_version.nil? true end @@ -153,11 +147,10 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - author_name == o.author_name && - language == o.language && - legacy_source == o.legacy_source && - source_link == o.source_link && - tweet_id == o.tweet_id + applications == o.applications && + containers == o.containers && + elf_binaries == o.elf_binaries && + os_version == o.os_version end # @see the `==` method @@ -169,7 +162,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [author_name, language, legacy_source, source_link, tweet_id].hash + [applications, containers, elf_binaries, os_version].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/models_snapshot_inventory_application.rb b/lib/crimson-falcon/models/models_snapshot_inventory_application.rb new file mode 100644 index 00000000..e4c2a5c2 --- /dev/null +++ b/lib/crimson-falcon/models/models_snapshot_inventory_application.rb @@ -0,0 +1,351 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsSnapshotInventoryApplication + attr_accessor :major_version + + attr_accessor :package_hash + + attr_accessor :package_provider + + attr_accessor :package_source + + attr_accessor :path + + attr_accessor :product + + attr_accessor :software_architecture + + attr_accessor :type + + attr_accessor :vendor + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'major_version' => :'major_version', + :'package_hash' => :'package_hash', + :'package_provider' => :'package_provider', + :'package_source' => :'package_source', + :'path' => :'path', + :'product' => :'product', + :'software_architecture' => :'software_architecture', + :'type' => :'type', + :'vendor' => :'vendor' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'major_version' => :'String', + :'package_hash' => :'String', + :'package_provider' => :'String', + :'package_source' => :'String', + :'path' => :'String', + :'product' => :'String', + :'software_architecture' => :'String', + :'type' => :'String', + :'vendor' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsSnapshotInventoryApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsSnapshotInventoryApplication`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'major_version') + self.major_version = attributes[:'major_version'] + end + + if attributes.key?(:'package_hash') + self.package_hash = attributes[:'package_hash'] + end + + if attributes.key?(:'package_provider') + self.package_provider = attributes[:'package_provider'] + end + + if attributes.key?(:'package_source') + self.package_source = attributes[:'package_source'] + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + end + + if attributes.key?(:'product') + self.product = attributes[:'product'] + end + + if attributes.key?(:'software_architecture') + self.software_architecture = attributes[:'software_architecture'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'vendor') + self.vendor = attributes[:'vendor'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @major_version.nil? + invalid_properties.push('invalid value for "major_version", major_version cannot be nil.') + end + + if @package_hash.nil? + invalid_properties.push('invalid value for "package_hash", package_hash cannot be nil.') + end + + if @package_provider.nil? + invalid_properties.push('invalid value for "package_provider", package_provider cannot be nil.') + end + + if @package_source.nil? + invalid_properties.push('invalid value for "package_source", package_source cannot be nil.') + end + + if @path.nil? + invalid_properties.push('invalid value for "path", path cannot be nil.') + end + + if @product.nil? + invalid_properties.push('invalid value for "product", product cannot be nil.') + end + + if @software_architecture.nil? + invalid_properties.push('invalid value for "software_architecture", software_architecture cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @vendor.nil? + invalid_properties.push('invalid value for "vendor", vendor cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @major_version.nil? + return false if @package_hash.nil? + return false if @package_provider.nil? + return false if @package_source.nil? + return false if @path.nil? + return false if @product.nil? + return false if @software_architecture.nil? + return false if @type.nil? + return false if @vendor.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + major_version == o.major_version && + package_hash == o.package_hash && + package_provider == o.package_provider && + package_source == o.package_source && + path == o.path && + product == o.product && + software_architecture == o.software_architecture && + type == o.type && + vendor == o.vendor + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [major_version, package_hash, package_provider, package_source, path, product, software_architecture, type, vendor].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_verify_access_response_v1.rb b/lib/crimson-falcon/models/models_verify_access_response_v1.rb index acd1cd42..ebdea407 100644 --- a/lib/crimson-falcon/models/models_verify_access_response_v1.rb +++ b/lib/crimson-falcon/models/models_verify_access_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/models_vulnerabilities_type.rb b/lib/crimson-falcon/models/models_vulnerabilities_type.rb new file mode 100644 index 00000000..a1909ce0 --- /dev/null +++ b/lib/crimson-falcon/models/models_vulnerabilities_type.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsVulnerabilitiesType + attr_accessor :cve_mapping + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cve_mapping' => :'CVEMapping' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cve_mapping' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsVulnerabilitiesType` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsVulnerabilitiesType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cve_mapping') + if (value = attributes[:'cve_mapping']).is_a?(Array) + self.cve_mapping = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cve_mapping.nil? + invalid_properties.push('invalid value for "cve_mapping", cve_mapping cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cve_mapping.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cve_mapping == o.cve_mapping + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cve_mapping].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_vulnerability_product.rb b/lib/crimson-falcon/models/models_vulnerability_product.rb new file mode 100644 index 00000000..8deddf37 --- /dev/null +++ b/lib/crimson-falcon/models/models_vulnerability_product.rb @@ -0,0 +1,344 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsVulnerabilityProduct + attr_accessor :major_version + + attr_accessor :package_hash + + attr_accessor :package_provider + + attr_accessor :package_source + + attr_accessor :package_type + + attr_accessor :path + + attr_accessor :platform_type + + attr_accessor :product + + attr_accessor :product_normalized + + attr_accessor :software_architecture + + attr_accessor :vendor + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'major_version' => :'MajorVersion', + :'package_hash' => :'PackageHash', + :'package_provider' => :'PackageProvider', + :'package_source' => :'PackageSource', + :'package_type' => :'PackageType', + :'path' => :'Path', + :'platform_type' => :'PlatformType', + :'product' => :'Product', + :'product_normalized' => :'ProductNormalized', + :'software_architecture' => :'SoftwareArchitecture', + :'vendor' => :'Vendor' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'major_version' => :'String', + :'package_hash' => :'String', + :'package_provider' => :'String', + :'package_source' => :'String', + :'package_type' => :'String', + :'path' => :'String', + :'platform_type' => :'String', + :'product' => :'String', + :'product_normalized' => :'String', + :'software_architecture' => :'String', + :'vendor' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsVulnerabilityProduct` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsVulnerabilityProduct`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'major_version') + self.major_version = attributes[:'major_version'] + end + + if attributes.key?(:'package_hash') + self.package_hash = attributes[:'package_hash'] + end + + if attributes.key?(:'package_provider') + self.package_provider = attributes[:'package_provider'] + end + + if attributes.key?(:'package_source') + self.package_source = attributes[:'package_source'] + end + + if attributes.key?(:'package_type') + self.package_type = attributes[:'package_type'] + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + end + + if attributes.key?(:'platform_type') + self.platform_type = attributes[:'platform_type'] + end + + if attributes.key?(:'product') + self.product = attributes[:'product'] + end + + if attributes.key?(:'product_normalized') + self.product_normalized = attributes[:'product_normalized'] + end + + if attributes.key?(:'software_architecture') + self.software_architecture = attributes[:'software_architecture'] + end + + if attributes.key?(:'vendor') + self.vendor = attributes[:'vendor'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @major_version.nil? + invalid_properties.push('invalid value for "major_version", major_version cannot be nil.') + end + + if @package_source.nil? + invalid_properties.push('invalid value for "package_source", package_source cannot be nil.') + end + + if @product.nil? + invalid_properties.push('invalid value for "product", product cannot be nil.') + end + + if @software_architecture.nil? + invalid_properties.push('invalid value for "software_architecture", software_architecture cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @major_version.nil? + return false if @package_source.nil? + return false if @product.nil? + return false if @software_architecture.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + major_version == o.major_version && + package_hash == o.package_hash && + package_provider == o.package_provider && + package_source == o.package_source && + package_type == o.package_type && + path == o.path && + platform_type == o.platform_type && + product == o.product && + product_normalized == o.product_normalized && + software_architecture == o.software_architecture && + vendor == o.vendor + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [major_version, package_hash, package_provider, package_source, package_type, path, platform_type, product, product_normalized, software_architecture, vendor].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/models_vulnerability_type.rb b/lib/crimson-falcon/models/models_vulnerability_type.rb new file mode 100644 index 00000000..97ca5f71 --- /dev/null +++ b/lib/crimson-falcon/models/models_vulnerability_type.rb @@ -0,0 +1,317 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ModelsVulnerabilityType + attr_accessor :cveid + + attr_accessor :content_data_hash + + attr_accessor :details + + attr_accessor :exploit_details + + attr_accessor :fixed_versions + + attr_accessor :product + + attr_accessor :remediation + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cveid' => :'CVEID', + :'content_data_hash' => :'ContentDataHash', + :'details' => :'Details', + :'exploit_details' => :'ExploitDetails', + :'fixed_versions' => :'FixedVersions', + :'product' => :'Product', + :'remediation' => :'Remediation' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cveid' => :'String', + :'content_data_hash' => :'Integer', + :'details' => :'DomainCVE', + :'exploit_details' => :'VulncheckExploitDetails', + :'fixed_versions' => :'Array', + :'product' => :'ModelsVulnerabilityProduct', + :'remediation' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ModelsVulnerabilityType` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ModelsVulnerabilityType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cveid') + self.cveid = attributes[:'cveid'] + end + + if attributes.key?(:'content_data_hash') + self.content_data_hash = attributes[:'content_data_hash'] + end + + if attributes.key?(:'details') + self.details = attributes[:'details'] + end + + if attributes.key?(:'exploit_details') + self.exploit_details = attributes[:'exploit_details'] + end + + if attributes.key?(:'fixed_versions') + if (value = attributes[:'fixed_versions']).is_a?(Array) + self.fixed_versions = value + end + end + + if attributes.key?(:'product') + self.product = attributes[:'product'] + end + + if attributes.key?(:'remediation') + if (value = attributes[:'remediation']).is_a?(Array) + self.remediation = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cveid.nil? + invalid_properties.push('invalid value for "cveid", cveid cannot be nil.') + end + + if @content_data_hash.nil? + invalid_properties.push('invalid value for "content_data_hash", content_data_hash cannot be nil.') + end + + if @details.nil? + invalid_properties.push('invalid value for "details", details cannot be nil.') + end + + if @product.nil? + invalid_properties.push('invalid value for "product", product cannot be nil.') + end + + if @remediation.nil? + invalid_properties.push('invalid value for "remediation", remediation cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cveid.nil? + return false if @content_data_hash.nil? + return false if @details.nil? + return false if @product.nil? + return false if @remediation.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cveid == o.cveid && + content_data_hash == o.content_data_hash && + details == o.details && + exploit_details == o.exploit_details && + fixed_versions == o.fixed_versions && + product == o.product && + remediation == o.remediation + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cveid, content_data_hash, details, exploit_details, fixed_versions, product, remediation].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/msa_aggregate_query_request.rb b/lib/crimson-falcon/models/msa_aggregate_query_request.rb index 40e6bc7d..8d42f93d 100644 --- a/lib/crimson-falcon/models/msa_aggregate_query_request.rb +++ b/lib/crimson-falcon/models/msa_aggregate_query_request.rb @@ -36,6 +36,8 @@ class MsaAggregateQueryRequest attr_accessor :exclude + attr_accessor :extended_bounds + attr_accessor :field attr_accessor :filter @@ -73,6 +75,7 @@ def self.attribute_map { :'date_ranges' => :'date_ranges', :'exclude' => :'exclude', + :'extended_bounds' => :'extended_bounds', :'field' => :'field', :'filter' => :'filter', :'from' => :'from', @@ -102,6 +105,7 @@ def self.openapi_types { :'date_ranges' => :'Array', :'exclude' => :'String', + :'extended_bounds' => :'MsaExtendedBoundsSpec', :'field' => :'String', :'filter' => :'String', :'from' => :'Integer', @@ -152,6 +156,10 @@ def initialize(attributes = {}) self.exclude = attributes[:'exclude'] end + if attributes.key?(:'extended_bounds') + self.extended_bounds = attributes[:'extended_bounds'] + end + if attributes.key?(:'field') self.field = attributes[:'field'] end @@ -321,6 +329,7 @@ def ==(o) self.class == o.class && date_ranges == o.date_ranges && exclude == o.exclude && + extended_bounds == o.extended_bounds && field == o.field && filter == o.filter && from == o.from && @@ -348,7 +357,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [date_ranges, exclude, field, filter, from, include, interval, max_doc_count, min_doc_count, missing, name, q, ranges, size, sort, sub_aggregates, time_zone, type].hash + [date_ranges, exclude, extended_bounds, field, filter, from, include, interval, max_doc_count, min_doc_count, missing, name, q, ranges, size, sort, sub_aggregates, time_zone, type].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/msa_aggregates_response.rb b/lib/crimson-falcon/models/msa_aggregates_response.rb index 5ad5b84a..1957f0e7 100644 --- a/lib/crimson-falcon/models/msa_aggregates_response.rb +++ b/lib/crimson-falcon/models/msa_aggregates_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/msa_base_entities_response.rb b/lib/crimson-falcon/models/msa_base_entities_response.rb index ec2ee4b9..22859c40 100644 --- a/lib/crimson-falcon/models/msa_base_entities_response.rb +++ b/lib/crimson-falcon/models/msa_base_entities_response.rb @@ -52,8 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/msa_entities_response.rb b/lib/crimson-falcon/models/msa_entities_response.rb index 620550c3..886df06f 100644 --- a/lib/crimson-falcon/models/msa_entities_response.rb +++ b/lib/crimson-falcon/models/msa_entities_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Object' } end diff --git a/lib/crimson-falcon/models/msa_entity_action_request_v3.rb b/lib/crimson-falcon/models/msa_entity_action_request_v3.rb new file mode 100644 index 00000000..7d544851 --- /dev/null +++ b/lib/crimson-falcon/models/msa_entity_action_request_v3.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class MsaEntityActionRequestV3 + attr_accessor :action_parameters + + attr_accessor :filter + + attr_accessor :ids + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'action_parameters' => :'action_parameters', + :'filter' => :'filter', + :'ids' => :'ids' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'action_parameters' => :'Array', + :'filter' => :'String', + :'ids' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::MsaEntityActionRequestV3` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::MsaEntityActionRequestV3`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'action_parameters') + if (value = attributes[:'action_parameters']).is_a?(Array) + self.action_parameters = value + end + end + + if attributes.key?(:'filter') + self.filter = attributes[:'filter'] + end + + if attributes.key?(:'ids') + if (value = attributes[:'ids']).is_a?(Array) + self.ids = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @filter.nil? + invalid_properties.push('invalid value for "filter", filter cannot be nil.') + end + + if @ids.nil? + invalid_properties.push('invalid value for "ids", ids cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @filter.nil? + return false if @ids.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + action_parameters == o.action_parameters && + filter == o.filter && + ids == o.ids + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [action_parameters, filter, ids].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/msa_errors_only.rb b/lib/crimson-falcon/models/msa_errors_only.rb index a296298b..ac06ab28 100644 --- a/lib/crimson-falcon/models/msa_errors_only.rb +++ b/lib/crimson-falcon/models/msa_errors_only.rb @@ -52,8 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/msa_extended_bounds_spec.rb b/lib/crimson-falcon/models/msa_extended_bounds_spec.rb new file mode 100644 index 00000000..cd87749d --- /dev/null +++ b/lib/crimson-falcon/models/msa_extended_bounds_spec.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class MsaExtendedBoundsSpec + attr_accessor :max + + attr_accessor :min + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'max' => :'max', + :'min' => :'min' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'max' => :'String', + :'min' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::MsaExtendedBoundsSpec` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::MsaExtendedBoundsSpec`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'max') + self.max = attributes[:'max'] + end + + if attributes.key?(:'min') + self.min = attributes[:'min'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @max.nil? + invalid_properties.push('invalid value for "max", max cannot be nil.') + end + + if @min.nil? + invalid_properties.push('invalid value for "min", min cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @max.nil? + return false if @min.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + max == o.max && + min == o.min + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [max, min].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/msa_facets_response.rb b/lib/crimson-falcon/models/msa_facets_response.rb index ad3eb604..0e30aebc 100644 --- a/lib/crimson-falcon/models/msa_facets_response.rb +++ b/lib/crimson-falcon/models/msa_facets_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/msa_query_response.rb b/lib/crimson-falcon/models/msa_query_response.rb index ac1960cf..7c4528af 100644 --- a/lib/crimson-falcon/models/msa_query_response.rb +++ b/lib/crimson-falcon/models/msa_query_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/msa_reply_affected_entities.rb b/lib/crimson-falcon/models/msa_reply_affected_entities.rb index 7a2dff7c..e2aa3ea6 100644 --- a/lib/crimson-falcon/models/msa_reply_affected_entities.rb +++ b/lib/crimson-falcon/models/msa_reply_affected_entities.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/msaspec_query_response.rb b/lib/crimson-falcon/models/msaspec_query_response.rb index cca6701c..9c8c689d 100644 --- a/lib/crimson-falcon/models/msaspec_query_response.rb +++ b/lib/crimson-falcon/models/msaspec_query_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/msaspec_response_fields.rb b/lib/crimson-falcon/models/msaspec_response_fields.rb index 6826961e..d010d700 100644 --- a/lib/crimson-falcon/models/msaspec_response_fields.rb +++ b/lib/crimson-falcon/models/msaspec_response_fields.rb @@ -52,8 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/packages_api_combined_package.rb b/lib/crimson-falcon/models/packages_api_combined_package.rb index 8b98f990..f0aa0b4a 100644 --- a/lib/crimson-falcon/models/packages_api_combined_package.rb +++ b/lib/crimson-falcon/models/packages_api_combined_package.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/packages_api_combined_package_export.rb b/lib/crimson-falcon/models/packages_api_combined_package_export.rb index de860c1f..8a06fc83 100644 --- a/lib/crimson-falcon/models/packages_api_combined_package_export.rb +++ b/lib/crimson-falcon/models/packages_api_combined_package_export.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/packages_api_packages_by_vuln_count.rb b/lib/crimson-falcon/models/packages_api_packages_by_vuln_count.rb index 704941b3..02c936c1 100644 --- a/lib/crimson-falcon/models/packages_api_packages_by_vuln_count.rb +++ b/lib/crimson-falcon/models/packages_api_packages_by_vuln_count.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes def self.openapi_types { :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/parameter_activity_config_parameter_value.rb b/lib/crimson-falcon/models/parameter_activity_config_parameter_value.rb index 50644fc6..ea130d98 100644 --- a/lib/crimson-falcon/models/parameter_activity_config_parameter_value.rb +++ b/lib/crimson-falcon/models/parameter_activity_config_parameter_value.rb @@ -37,6 +37,9 @@ class ParameterActivityConfigParameterValue # Specifies whether the given activity configuration property can be overridden at provisioning time. attr_accessor :deny_override + # Optional text/description which can be used to provide differentiation for parameterized fields during app installation. + attr_accessor :helper_text + # Indication of whether the property must be specified as a parameter during template provisioning. attr_accessor :required @@ -45,6 +48,7 @@ def self.attribute_map { :'default_value' => :'default_value', :'deny_override' => :'deny_override', + :'helper_text' => :'helperText', :'required' => :'required' } end @@ -59,6 +63,7 @@ def self.openapi_types { :'default_value' => :'Object', :'deny_override' => :'Boolean', + :'helper_text' => :'String', :'required' => :'Boolean' } end @@ -92,6 +97,10 @@ def initialize(attributes = {}) self.deny_override = attributes[:'deny_override'] end + if attributes.key?(:'helper_text') + self.helper_text = attributes[:'helper_text'] + end + if attributes.key?(:'required') self.required = attributes[:'required'] end @@ -122,6 +131,7 @@ def ==(o) self.class == o.class && default_value == o.default_value && deny_override == o.deny_override && + helper_text == o.helper_text && required == o.required end @@ -134,7 +144,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [default_value, deny_override, required].hash + [default_value, deny_override, helper_text, required].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/parameter_condition_field_parameter.rb b/lib/crimson-falcon/models/parameter_condition_field_parameter.rb index d5db8e0e..373e1f0a 100644 --- a/lib/crimson-falcon/models/parameter_condition_field_parameter.rb +++ b/lib/crimson-falcon/models/parameter_condition_field_parameter.rb @@ -37,6 +37,9 @@ class ParameterConditionFieldParameter attr_accessor :default_value + # Optional text/description which can be used to provide differentiation for parameterized fields during app installation. + attr_accessor :helper_text + # Whether the field can be specified multiple times as provisioning parameter. When true, all values or combined via an OR operator. attr_accessor :multiple @@ -51,6 +54,7 @@ def self.attribute_map { :'default_operator' => :'default_operator', :'default_value' => :'default_value', + :'helper_text' => :'helperText', :'multiple' => :'multiple', :'operator' => :'operator', :'required' => :'required' @@ -67,6 +71,7 @@ def self.openapi_types { :'default_operator' => :'String', :'default_value' => :'Object', + :'helper_text' => :'String', :'multiple' => :'Boolean', :'operator' => :'String', :'required' => :'Boolean' @@ -102,6 +107,10 @@ def initialize(attributes = {}) self.default_value = attributes[:'default_value'] end + if attributes.key?(:'helper_text') + self.helper_text = attributes[:'helper_text'] + end + if attributes.key?(:'multiple') self.multiple = attributes[:'multiple'] end @@ -145,6 +154,7 @@ def ==(o) self.class == o.class && default_operator == o.default_operator && default_value == o.default_value && + helper_text == o.helper_text && multiple == o.multiple && operator == o.operator && required == o.required @@ -159,7 +169,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [default_operator, default_value, multiple, operator, required].hash + [default_operator, default_value, helper_text, multiple, operator, required].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/parameter_condition_field_provision_parameter.rb b/lib/crimson-falcon/models/parameter_condition_field_provision_parameter.rb index 712dbe9d..b77ca8a7 100644 --- a/lib/crimson-falcon/models/parameter_condition_field_provision_parameter.rb +++ b/lib/crimson-falcon/models/parameter_condition_field_provision_parameter.rb @@ -32,6 +32,9 @@ module Falcon class ParameterConditionFieldProvisionParameter + # specifies the conditin group id inside the flow node. This is needed since with or support now we can have multiple instances of the same variable + attr_accessor :condition_group_id + # Fully qualified name of the field attr_accessor :name @@ -43,6 +46,7 @@ class ParameterConditionFieldProvisionParameter # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'condition_group_id' => :'condition_group_id', :'name' => :'name', :'operator' => :'operator', :'value' => :'value' @@ -57,6 +61,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'condition_group_id' => :'String', :'name' => :'String', :'operator' => :'String', :'value' => :'Object' @@ -84,6 +89,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'condition_group_id') + self.condition_group_id = attributes[:'condition_group_id'] + end + if attributes.key?(:'name') self.name = attributes[:'name'] end @@ -101,6 +110,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @condition_group_id.nil? + invalid_properties.push('invalid value for "condition_group_id", condition_group_id cannot be nil.') + end + if @name.nil? invalid_properties.push('invalid value for "name", name cannot be nil.') end @@ -119,6 +132,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @condition_group_id.nil? return false if @name.nil? return false if @operator.nil? return false if @value.nil? @@ -130,6 +144,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + condition_group_id == o.condition_group_id && name == o.name && operator == o.operator && value == o.value @@ -144,7 +159,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [name, operator, value].hash + [condition_group_id, name, operator, value].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/patterndisposition_pattern_disposition.rb b/lib/crimson-falcon/models/patterndisposition_pattern_disposition.rb index eb3bdff8..c24611eb 100644 --- a/lib/crimson-falcon/models/patterndisposition_pattern_disposition.rb +++ b/lib/crimson-falcon/models/patterndisposition_pattern_disposition.rb @@ -36,6 +36,8 @@ class PatterndispositionPatternDisposition attr_accessor :bootup_safeguard_enabled + attr_accessor :containment_file_system + attr_accessor :critical_process_disabled attr_accessor :detect @@ -56,10 +58,14 @@ class PatterndispositionPatternDisposition attr_accessor :kill_subprocess + attr_accessor :mfa_required + attr_accessor :operation_blocked attr_accessor :policy_disabled + attr_accessor :prevention_provisioning_enabled + attr_accessor :process_blocked attr_accessor :quarantine_file @@ -68,6 +74,12 @@ class PatterndispositionPatternDisposition attr_accessor :registry_operation_blocked + attr_accessor :response_action_already_applied + + attr_accessor :response_action_failed + + attr_accessor :response_action_triggered + attr_accessor :rooting attr_accessor :sensor_only @@ -81,6 +93,7 @@ def self.attribute_map { :'blocking_unsupported_or_disabled' => :'blocking_unsupported_or_disabled', :'bootup_safeguard_enabled' => :'bootup_safeguard_enabled', + :'containment_file_system' => :'containment_file_system', :'critical_process_disabled' => :'critical_process_disabled', :'detect' => :'detect', :'fs_operation_blocked' => :'fs_operation_blocked', @@ -91,12 +104,17 @@ def self.attribute_map :'kill_parent' => :'kill_parent', :'kill_process' => :'kill_process', :'kill_subprocess' => :'kill_subprocess', + :'mfa_required' => :'mfa_required', :'operation_blocked' => :'operation_blocked', :'policy_disabled' => :'policy_disabled', + :'prevention_provisioning_enabled' => :'prevention_provisioning_enabled', :'process_blocked' => :'process_blocked', :'quarantine_file' => :'quarantine_file', :'quarantine_machine' => :'quarantine_machine', :'registry_operation_blocked' => :'registry_operation_blocked', + :'response_action_already_applied' => :'response_action_already_applied', + :'response_action_failed' => :'response_action_failed', + :'response_action_triggered' => :'response_action_triggered', :'rooting' => :'rooting', :'sensor_only' => :'sensor_only', :'suspend_parent' => :'suspend_parent', @@ -114,6 +132,7 @@ def self.openapi_types { :'blocking_unsupported_or_disabled' => :'Boolean', :'bootup_safeguard_enabled' => :'Boolean', + :'containment_file_system' => :'Boolean', :'critical_process_disabled' => :'Boolean', :'detect' => :'Boolean', :'fs_operation_blocked' => :'Boolean', @@ -124,12 +143,17 @@ def self.openapi_types :'kill_parent' => :'Boolean', :'kill_process' => :'Boolean', :'kill_subprocess' => :'Boolean', + :'mfa_required' => :'Boolean', :'operation_blocked' => :'Boolean', :'policy_disabled' => :'Boolean', + :'prevention_provisioning_enabled' => :'Boolean', :'process_blocked' => :'Boolean', :'quarantine_file' => :'Boolean', :'quarantine_machine' => :'Boolean', :'registry_operation_blocked' => :'Boolean', + :'response_action_already_applied' => :'Boolean', + :'response_action_failed' => :'Boolean', + :'response_action_triggered' => :'Boolean', :'rooting' => :'Boolean', :'sensor_only' => :'Boolean', :'suspend_parent' => :'Boolean', @@ -166,6 +190,10 @@ def initialize(attributes = {}) self.bootup_safeguard_enabled = attributes[:'bootup_safeguard_enabled'] end + if attributes.key?(:'containment_file_system') + self.containment_file_system = attributes[:'containment_file_system'] + end + if attributes.key?(:'critical_process_disabled') self.critical_process_disabled = attributes[:'critical_process_disabled'] end @@ -206,6 +234,10 @@ def initialize(attributes = {}) self.kill_subprocess = attributes[:'kill_subprocess'] end + if attributes.key?(:'mfa_required') + self.mfa_required = attributes[:'mfa_required'] + end + if attributes.key?(:'operation_blocked') self.operation_blocked = attributes[:'operation_blocked'] end @@ -214,6 +246,10 @@ def initialize(attributes = {}) self.policy_disabled = attributes[:'policy_disabled'] end + if attributes.key?(:'prevention_provisioning_enabled') + self.prevention_provisioning_enabled = attributes[:'prevention_provisioning_enabled'] + end + if attributes.key?(:'process_blocked') self.process_blocked = attributes[:'process_blocked'] end @@ -230,6 +266,18 @@ def initialize(attributes = {}) self.registry_operation_blocked = attributes[:'registry_operation_blocked'] end + if attributes.key?(:'response_action_already_applied') + self.response_action_already_applied = attributes[:'response_action_already_applied'] + end + + if attributes.key?(:'response_action_failed') + self.response_action_failed = attributes[:'response_action_failed'] + end + + if attributes.key?(:'response_action_triggered') + self.response_action_triggered = attributes[:'response_action_triggered'] + end + if attributes.key?(:'rooting') self.rooting = attributes[:'rooting'] end @@ -259,6 +307,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "bootup_safeguard_enabled", bootup_safeguard_enabled cannot be nil.') end + if @containment_file_system.nil? + invalid_properties.push('invalid value for "containment_file_system", containment_file_system cannot be nil.') + end + if @critical_process_disabled.nil? invalid_properties.push('invalid value for "critical_process_disabled", critical_process_disabled cannot be nil.') end @@ -299,6 +351,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "kill_subprocess", kill_subprocess cannot be nil.') end + if @mfa_required.nil? + invalid_properties.push('invalid value for "mfa_required", mfa_required cannot be nil.') + end + if @operation_blocked.nil? invalid_properties.push('invalid value for "operation_blocked", operation_blocked cannot be nil.') end @@ -307,6 +363,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "policy_disabled", policy_disabled cannot be nil.') end + if @prevention_provisioning_enabled.nil? + invalid_properties.push('invalid value for "prevention_provisioning_enabled", prevention_provisioning_enabled cannot be nil.') + end + if @process_blocked.nil? invalid_properties.push('invalid value for "process_blocked", process_blocked cannot be nil.') end @@ -323,6 +383,18 @@ def list_invalid_properties invalid_properties.push('invalid value for "registry_operation_blocked", registry_operation_blocked cannot be nil.') end + if @response_action_already_applied.nil? + invalid_properties.push('invalid value for "response_action_already_applied", response_action_already_applied cannot be nil.') + end + + if @response_action_failed.nil? + invalid_properties.push('invalid value for "response_action_failed", response_action_failed cannot be nil.') + end + + if @response_action_triggered.nil? + invalid_properties.push('invalid value for "response_action_triggered", response_action_triggered cannot be nil.') + end + if @rooting.nil? invalid_properties.push('invalid value for "rooting", rooting cannot be nil.') end @@ -347,6 +419,7 @@ def list_invalid_properties def valid? return false if @blocking_unsupported_or_disabled.nil? return false if @bootup_safeguard_enabled.nil? + return false if @containment_file_system.nil? return false if @critical_process_disabled.nil? return false if @detect.nil? return false if @fs_operation_blocked.nil? @@ -357,12 +430,17 @@ def valid? return false if @kill_parent.nil? return false if @kill_process.nil? return false if @kill_subprocess.nil? + return false if @mfa_required.nil? return false if @operation_blocked.nil? return false if @policy_disabled.nil? + return false if @prevention_provisioning_enabled.nil? return false if @process_blocked.nil? return false if @quarantine_file.nil? return false if @quarantine_machine.nil? return false if @registry_operation_blocked.nil? + return false if @response_action_already_applied.nil? + return false if @response_action_failed.nil? + return false if @response_action_triggered.nil? return false if @rooting.nil? return false if @sensor_only.nil? return false if @suspend_parent.nil? @@ -377,6 +455,7 @@ def ==(o) self.class == o.class && blocking_unsupported_or_disabled == o.blocking_unsupported_or_disabled && bootup_safeguard_enabled == o.bootup_safeguard_enabled && + containment_file_system == o.containment_file_system && critical_process_disabled == o.critical_process_disabled && detect == o.detect && fs_operation_blocked == o.fs_operation_blocked && @@ -387,12 +466,17 @@ def ==(o) kill_parent == o.kill_parent && kill_process == o.kill_process && kill_subprocess == o.kill_subprocess && + mfa_required == o.mfa_required && operation_blocked == o.operation_blocked && policy_disabled == o.policy_disabled && + prevention_provisioning_enabled == o.prevention_provisioning_enabled && process_blocked == o.process_blocked && quarantine_file == o.quarantine_file && quarantine_machine == o.quarantine_machine && registry_operation_blocked == o.registry_operation_blocked && + response_action_already_applied == o.response_action_already_applied && + response_action_failed == o.response_action_failed && + response_action_triggered == o.response_action_triggered && rooting == o.rooting && sensor_only == o.sensor_only && suspend_parent == o.suspend_parent && @@ -408,7 +492,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [blocking_unsupported_or_disabled, bootup_safeguard_enabled, critical_process_disabled, detect, fs_operation_blocked, handle_operation_downgraded, inddet_mask, indicator, kill_action_failed, kill_parent, kill_process, kill_subprocess, operation_blocked, policy_disabled, process_blocked, quarantine_file, quarantine_machine, registry_operation_blocked, rooting, sensor_only, suspend_parent, suspend_process].hash + [blocking_unsupported_or_disabled, bootup_safeguard_enabled, containment_file_system, critical_process_disabled, detect, fs_operation_blocked, handle_operation_downgraded, inddet_mask, indicator, kill_action_failed, kill_parent, kill_process, kill_subprocess, mfa_required, operation_blocked, policy_disabled, prevention_provisioning_enabled, process_blocked, quarantine_file, quarantine_machine, registry_operation_blocked, response_action_already_applied, response_action_failed, response_action_triggered, rooting, sensor_only, suspend_parent, suspend_process].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/policies_delete_response.rb b/lib/crimson-falcon/models/policies_delete_response.rb index a6e2a3e5..4a26ed1f 100644 --- a/lib/crimson-falcon/models/policies_delete_response.rb +++ b/lib/crimson-falcon/models/policies_delete_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/policies_policy.rb b/lib/crimson-falcon/models/policies_policy.rb index e53a1b93..9cd3d2bf 100644 --- a/lib/crimson-falcon/models/policies_policy.rb +++ b/lib/crimson-falcon/models/policies_policy.rb @@ -32,6 +32,8 @@ module Falcon class PoliciesPolicy + attr_accessor :cid + attr_accessor :created_by attr_accessor :created_timestamp @@ -59,6 +61,7 @@ class PoliciesPolicy # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'cid' => :'cid', :'created_by' => :'created_by', :'created_timestamp' => :'created_timestamp', :'description' => :'description', @@ -82,6 +85,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'cid' => :'String', :'created_by' => :'String', :'created_timestamp' => :'String', :'description' => :'String', @@ -118,6 +122,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'cid') + self.cid = attributes[:'cid'] + end + if attributes.key?(:'created_by') self.created_by = attributes[:'created_by'] end @@ -175,6 +183,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @cid.nil? + invalid_properties.push('invalid value for "cid", cid cannot be nil.') + end + if @created_timestamp.nil? invalid_properties.push('invalid value for "created_timestamp", created_timestamp cannot be nil.') end @@ -201,6 +213,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @cid.nil? return false if @created_timestamp.nil? return false if @enabled.nil? return false if @id.nil? @@ -214,6 +227,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + cid == o.cid && created_by == o.created_by && created_timestamp == o.created_timestamp && description == o.description && @@ -237,7 +251,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [created_by, created_timestamp, description, enabled, host_groups, id, modified_by, modified_timestamp, name, platform, precedence, rule_groups].hash + [cid, created_by, created_timestamp, description, enabled, host_groups, id, modified_by, modified_timestamp, name, platform, precedence, rule_groups].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/policies_precedence_response.rb b/lib/crimson-falcon/models/policies_precedence_response.rb index 49d4edea..2539402a 100644 --- a/lib/crimson-falcon/models/policies_precedence_response.rb +++ b/lib/crimson-falcon/models/policies_precedence_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/policies_response.rb b/lib/crimson-falcon/models/policies_response.rb index 7c1e9ce4..f3eb9e91 100644 --- a/lib/crimson-falcon/models/policies_response.rb +++ b/lib/crimson-falcon/models/policies_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/prevention_resp_v1.rb b/lib/crimson-falcon/models/prevention_resp_v1.rb index e3ea7b40..ef0a4dad 100644 --- a/lib/crimson-falcon/models/prevention_resp_v1.rb +++ b/lib/crimson-falcon/models/prevention_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/processesapi_msa_process_detail_response.rb b/lib/crimson-falcon/models/processesapi_msa_process_detail_response.rb index 01d84092..d6974f7d 100644 --- a/lib/crimson-falcon/models/processesapi_msa_process_detail_response.rb +++ b/lib/crimson-falcon/models/processesapi_msa_process_detail_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/public_get_changes_response.rb b/lib/crimson-falcon/models/public_get_changes_response.rb new file mode 100644 index 00000000..a606e6da --- /dev/null +++ b/lib/crimson-falcon/models/public_get_changes_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class PublicGetChangesResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::PublicGetChangesResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::PublicGetChangesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_delete_file_response.rb b/lib/crimson-falcon/models/quickscanpro_delete_file_response.rb new file mode 100644 index 00000000..0032eab3 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_delete_file_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproDeleteFileResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproDeleteFileResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproDeleteFileResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_file_result.rb b/lib/crimson-falcon/models/quickscanpro_file_result.rb new file mode 100644 index 00000000..64f99842 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_file_result.rb @@ -0,0 +1,305 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproFileResult + attr_accessor :filename + + attr_accessor :sha256 + + attr_accessor :verdict + + attr_accessor :verdict_reason + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'filename' => :'filename', + :'sha256' => :'sha256', + :'verdict' => :'verdict', + :'verdict_reason' => :'verdict_reason' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'filename' => :'String', + :'sha256' => :'String', + :'verdict' => :'String', + :'verdict_reason' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproFileResult` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproFileResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'filename') + self.filename = attributes[:'filename'] + end + + if attributes.key?(:'sha256') + self.sha256 = attributes[:'sha256'] + end + + if attributes.key?(:'verdict') + self.verdict = attributes[:'verdict'] + end + + if attributes.key?(:'verdict_reason') + self.verdict_reason = attributes[:'verdict_reason'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @sha256.nil? + invalid_properties.push('invalid value for "sha256", sha256 cannot be nil.') + end + + if @verdict.nil? + invalid_properties.push('invalid value for "verdict", verdict cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @sha256.nil? + return false if @verdict.nil? + verdict_validator = EnumAttributeValidator.new('String', ["clean", "suspicious", "malicious", "unknown"]) + return false unless verdict_validator.valid?(@verdict) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] verdict Object to be assigned + def verdict=(verdict) + validator = EnumAttributeValidator.new('String', ["clean", "suspicious", "malicious", "unknown"]) + unless validator.valid?(verdict) + fail ArgumentError, "invalid value for \"verdict\", must be one of #{validator.allowable_values}." + end + @verdict = verdict + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + filename == o.filename && + sha256 == o.sha256 && + verdict == o.verdict && + verdict_reason == o.verdict_reason + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [filename, sha256, verdict, verdict_reason].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_vulnerability_affected_product.rb b/lib/crimson-falcon/models/quickscanpro_file_upload_resource.rb similarity index 89% rename from lib/crimson-falcon/models/domain_vulnerability_affected_product.rb rename to lib/crimson-falcon/models/quickscanpro_file_upload_resource.rb index d3d44710..8efbecd5 100644 --- a/lib/crimson-falcon/models/domain_vulnerability_affected_product.rb +++ b/lib/crimson-falcon/models/quickscanpro_file_upload_resource.rb @@ -31,18 +31,16 @@ require 'time' module Falcon - class DomainVulnerabilityAffectedProduct - # Lowercase product name that vulnerability affects - attr_accessor :product + class QuickscanproFileUploadResource + attr_accessor :scan_id - # Lowercase vendor name that develops or provides the affected product - attr_accessor :vendor + attr_accessor :sha256 # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'product' => :'product', - :'vendor' => :'vendor' + :'scan_id' => :'scan_id', + :'sha256' => :'sha256' } end @@ -54,8 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'product' => :'String', - :'vendor' => :'String' + :'scan_id' => :'String', + :'sha256' => :'String' } end @@ -69,23 +67,23 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainVulnerabilityAffectedProduct` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproFileUploadResource` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainVulnerabilityAffectedProduct`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproFileUploadResource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'product') - self.product = attributes[:'product'] + if attributes.key?(:'scan_id') + self.scan_id = attributes[:'scan_id'] end - if attributes.key?(:'vendor') - self.vendor = attributes[:'vendor'] + if attributes.key?(:'sha256') + self.sha256 = attributes[:'sha256'] end end @@ -93,12 +91,17 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @sha256.nil? + invalid_properties.push('invalid value for "sha256", sha256 cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @sha256.nil? true end @@ -107,8 +110,8 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - product == o.product && - vendor == o.vendor + scan_id == o.scan_id && + sha256 == o.sha256 end # @see the `==` method @@ -120,7 +123,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [product, vendor].hash + [scan_id, sha256].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/quickscanpro_file_upload_response.rb b/lib/crimson-falcon/models/quickscanpro_file_upload_response.rb new file mode 100644 index 00000000..3912d51d --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_file_upload_response.rb @@ -0,0 +1,275 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproFileUploadResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :quota + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'quota' => :'quota', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'quota' => :'QuickscanproQuotaResource', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproFileUploadResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproFileUploadResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'quota') + self.quota = attributes[:'quota'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + quota == o.quota && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, quota, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_get_scan_result_resource.rb b/lib/crimson-falcon/models/quickscanpro_get_scan_result_resource.rb new file mode 100644 index 00000000..0473d87a --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_get_scan_result_resource.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproGetScanResultResource + attr_accessor :id + + attr_accessor :result + + attr_accessor :scan + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'result' => :'result', + :'scan' => :'scan' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'result' => :'QuickscanproScanResult', + :'scan' => :'QuickscanproScanMetadata' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproGetScanResultResource` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproGetScanResultResource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'result') + self.result = attributes[:'result'] + end + + if attributes.key?(:'scan') + self.scan = attributes[:'scan'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @result.nil? + invalid_properties.push('invalid value for "result", result cannot be nil.') + end + + if @scan.nil? + invalid_properties.push('invalid value for "scan", scan cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + return false if @result.nil? + return false if @scan.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + result == o.result && + scan == o.scan + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, result, scan].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_get_scan_result_response.rb b/lib/crimson-falcon/models/quickscanpro_get_scan_result_response.rb new file mode 100644 index 00000000..457aff11 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_get_scan_result_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproGetScanResultResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproGetScanResultResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproGetScanResultResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_launch_scan_request.rb b/lib/crimson-falcon/models/quickscanpro_launch_scan_request.rb new file mode 100644 index 00000000..441fd3b2 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_launch_scan_request.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproLaunchScanRequest + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproLaunchScanRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproLaunchScanRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_launch_scan_request_resource.rb b/lib/crimson-falcon/models/quickscanpro_launch_scan_request_resource.rb new file mode 100644 index 00000000..546fe83e --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_launch_scan_request_resource.rb @@ -0,0 +1,239 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproLaunchScanRequestResource + attr_accessor :sha256 + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'sha256' => :'sha256' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'sha256' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproLaunchScanRequestResource` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproLaunchScanRequestResource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'sha256') + self.sha256 = attributes[:'sha256'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @sha256.nil? + invalid_properties.push('invalid value for "sha256", sha256 cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @sha256.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + sha256 == o.sha256 + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [sha256].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_launch_scan_resource.rb b/lib/crimson-falcon/models/quickscanpro_launch_scan_resource.rb new file mode 100644 index 00000000..31914d15 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_launch_scan_resource.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproLaunchScanResource + attr_accessor :created_timestamp + + attr_accessor :id + + attr_accessor :sha256 + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'created_timestamp' => :'created_timestamp', + :'id' => :'id', + :'sha256' => :'sha256' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'created_timestamp' => :'Time', + :'id' => :'String', + :'sha256' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproLaunchScanResource` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproLaunchScanResource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'created_timestamp') + self.created_timestamp = attributes[:'created_timestamp'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'sha256') + self.sha256 = attributes[:'sha256'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @created_timestamp.nil? + invalid_properties.push('invalid value for "created_timestamp", created_timestamp cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @sha256.nil? + invalid_properties.push('invalid value for "sha256", sha256 cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @created_timestamp.nil? + return false if @id.nil? + return false if @sha256.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + created_timestamp == o.created_timestamp && + id == o.id && + sha256 == o.sha256 + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [created_timestamp, id, sha256].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_launch_scan_response.rb b/lib/crimson-falcon/models/quickscanpro_launch_scan_response.rb new file mode 100644 index 00000000..c238c649 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_launch_scan_response.rb @@ -0,0 +1,275 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproLaunchScanResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :quota + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'quota' => :'quota', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'quota' => :'QuickscanproQuotaResource', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproLaunchScanResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproLaunchScanResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'quota') + self.quota = attributes[:'quota'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + quota == o.quota && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, quota, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_mitre_attack.rb b/lib/crimson-falcon/models/quickscanpro_mitre_attack.rb new file mode 100644 index 00000000..5758aedb --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_mitre_attack.rb @@ -0,0 +1,288 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproMITREAttack + attr_accessor :attack_id + + attr_accessor :attack_id_wiki + + attr_accessor :capec_id + + attr_accessor :description + + attr_accessor :parent + + attr_accessor :tactic + + attr_accessor :technique + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'attack_id' => :'attack_id', + :'attack_id_wiki' => :'attack_id_wiki', + :'capec_id' => :'capec_id', + :'description' => :'description', + :'parent' => :'parent', + :'tactic' => :'tactic', + :'technique' => :'technique' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'attack_id' => :'String', + :'attack_id_wiki' => :'String', + :'capec_id' => :'String', + :'description' => :'String', + :'parent' => :'QuickscanproMITREAttackParent', + :'tactic' => :'String', + :'technique' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproMITREAttack` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproMITREAttack`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'attack_id') + self.attack_id = attributes[:'attack_id'] + end + + if attributes.key?(:'attack_id_wiki') + self.attack_id_wiki = attributes[:'attack_id_wiki'] + end + + if attributes.key?(:'capec_id') + self.capec_id = attributes[:'capec_id'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'parent') + self.parent = attributes[:'parent'] + end + + if attributes.key?(:'tactic') + self.tactic = attributes[:'tactic'] + end + + if attributes.key?(:'technique') + self.technique = attributes[:'technique'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attack_id == o.attack_id && + attack_id_wiki == o.attack_id_wiki && + capec_id == o.capec_id && + description == o.description && + parent == o.parent && + tactic == o.tactic && + technique == o.technique + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [attack_id, attack_id_wiki, capec_id, description, parent, tactic, technique].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_mitre_attack_parent.rb b/lib/crimson-falcon/models/quickscanpro_mitre_attack_parent.rb new file mode 100644 index 00000000..52da1621 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_mitre_attack_parent.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproMITREAttackParent + attr_accessor :attack_id + + attr_accessor :attack_id_wiki + + attr_accessor :technique + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'attack_id' => :'attack_id', + :'attack_id_wiki' => :'attack_id_wiki', + :'technique' => :'technique' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'attack_id' => :'String', + :'attack_id_wiki' => :'String', + :'technique' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproMITREAttackParent` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproMITREAttackParent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'attack_id') + self.attack_id = attributes[:'attack_id'] + end + + if attributes.key?(:'attack_id_wiki') + self.attack_id_wiki = attributes[:'attack_id_wiki'] + end + + if attributes.key?(:'technique') + self.technique = attributes[:'technique'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + attack_id == o.attack_id && + attack_id_wiki == o.attack_id_wiki && + technique == o.technique + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [attack_id, attack_id_wiki, technique].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_query_scan_results_response.rb b/lib/crimson-falcon/models/quickscanpro_query_scan_results_response.rb new file mode 100644 index 00000000..b0547dd9 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_query_scan_results_response.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproQueryScanResultsResponse + attr_accessor :errors + + attr_accessor :meta + + # scan IDs + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproQueryScanResultsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproQueryScanResultsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_quota_resource.rb b/lib/crimson-falcon/models/quickscanpro_quota_resource.rb new file mode 100644 index 00000000..a674f337 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_quota_resource.rb @@ -0,0 +1,262 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproQuotaResource + attr_accessor :in_progress + + attr_accessor :total + + attr_accessor :used + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'in_progress' => :'in_progress', + :'total' => :'total', + :'used' => :'used' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'in_progress' => :'Integer', + :'total' => :'Integer', + :'used' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproQuotaResource` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproQuotaResource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'in_progress') + self.in_progress = attributes[:'in_progress'] + end + + if attributes.key?(:'total') + self.total = attributes[:'total'] + end + + if attributes.key?(:'used') + self.used = attributes[:'used'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @total.nil? + invalid_properties.push('invalid value for "total", total cannot be nil.') + end + + if @used.nil? + invalid_properties.push('invalid value for "used", used cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @total.nil? + return false if @used.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + in_progress == o.in_progress && + total == o.total && + used == o.used + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [in_progress, total, used].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/quickscanpro_scan_metadata.rb b/lib/crimson-falcon/models/quickscanpro_scan_metadata.rb new file mode 100644 index 00000000..c039bf2f --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_scan_metadata.rb @@ -0,0 +1,281 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproScanMetadata + attr_accessor :created_timestamp + + attr_accessor :sha256 + + attr_accessor :status + + attr_accessor :updated_timestamp + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'created_timestamp' => :'created_timestamp', + :'sha256' => :'sha256', + :'status' => :'status', + :'updated_timestamp' => :'updated_timestamp' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'created_timestamp' => :'Time', + :'sha256' => :'String', + :'status' => :'String', + :'updated_timestamp' => :'Time' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproScanMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproScanMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'created_timestamp') + self.created_timestamp = attributes[:'created_timestamp'] + end + + if attributes.key?(:'sha256') + self.sha256 = attributes[:'sha256'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + + if attributes.key?(:'updated_timestamp') + self.updated_timestamp = attributes[:'updated_timestamp'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @created_timestamp.nil? + invalid_properties.push('invalid value for "created_timestamp", created_timestamp cannot be nil.') + end + + if @sha256.nil? + invalid_properties.push('invalid value for "sha256", sha256 cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + if @updated_timestamp.nil? + invalid_properties.push('invalid value for "updated_timestamp", updated_timestamp cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @created_timestamp.nil? + return false if @sha256.nil? + return false if @status.nil? + return false if @updated_timestamp.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + created_timestamp == o.created_timestamp && + sha256 == o.sha256 && + status == o.status && + updated_timestamp == o.updated_timestamp + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [created_timestamp, sha256, status, updated_timestamp].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_botnet_config_source.rb b/lib/crimson-falcon/models/quickscanpro_scan_result.rb similarity index 62% rename from lib/crimson-falcon/models/domain_botnet_config_source.rb rename to lib/crimson-falcon/models/quickscanpro_scan_result.rb index 5e1a26eb..c6826ea8 100644 --- a/lib/crimson-falcon/models/domain_botnet_config_source.rb +++ b/lib/crimson-falcon/models/quickscanpro_scan_result.rb @@ -31,42 +31,53 @@ require 'time' module Falcon - class DomainBotnetConfigSource - # Populated for action botnets. List of action key value pairs, defined as the action and its type - attr_accessor :actions + class QuickscanproScanResult + attr_accessor :beta_intelligence_context - # Populated for spam botnets. The body of the spam template. If this contains replaceable variables, keep the variable names in the template as they appear in the raw config - attr_accessor :body + attr_accessor :file_artifacts - # The botnet's name - attr_accessor :botnet + attr_accessor :mitre_attacks - # The type of botnet: `action`, `inject`, or `spam` - attr_accessor :config_type + attr_accessor :url_artifacts - # Populated for inject botnets. List of inject targets and their data - attr_accessor :injects + attr_accessor :verdict - # Optional sub-botnet differentiator - attr_accessor :sub_botnet + attr_accessor :verdict_reason - # Populated for spam botnets. The subject of the spam template. If this contains replaceable variables, keep the variable names in the template as they appear in the raw config - attr_accessor :subject + attr_accessor :verdict_source - # Populated for spam botnets. List of key value pairs for any replaceable variables in the spam template - attr_accessor :variables + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'actions' => :'actions', - :'body' => :'body', - :'botnet' => :'botnet', - :'config_type' => :'config_type', - :'injects' => :'injects', - :'sub_botnet' => :'sub_botnet', - :'subject' => :'subject', - :'variables' => :'variables' + :'beta_intelligence_context' => :'beta_intelligence_context', + :'file_artifacts' => :'file_artifacts', + :'mitre_attacks' => :'mitre_attacks', + :'url_artifacts' => :'url_artifacts', + :'verdict' => :'verdict', + :'verdict_reason' => :'verdict_reason', + :'verdict_source' => :'verdict_source' } end @@ -78,14 +89,13 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'actions' => :'Array', - :'body' => :'String', - :'botnet' => :'String', - :'config_type' => :'String', - :'injects' => :'Array', - :'sub_botnet' => :'String', - :'subject' => :'String', - :'variables' => :'Array' + :'beta_intelligence_context' => :'Object', + :'file_artifacts' => :'Array', + :'mitre_attacks' => :'Array', + :'url_artifacts' => :'Array', + :'verdict' => :'String', + :'verdict_reason' => :'String', + :'verdict_source' => :'Array' } end @@ -99,52 +109,50 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainBotnetConfigSource` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproScanResult` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainBotnetConfigSource`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproScanResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'actions') - if (value = attributes[:'actions']).is_a?(Array) - self.actions = value - end - end - - if attributes.key?(:'body') - self.body = attributes[:'body'] + if attributes.key?(:'beta_intelligence_context') + self.beta_intelligence_context = attributes[:'beta_intelligence_context'] end - if attributes.key?(:'botnet') - self.botnet = attributes[:'botnet'] + if attributes.key?(:'file_artifacts') + if (value = attributes[:'file_artifacts']).is_a?(Array) + self.file_artifacts = value + end end - if attributes.key?(:'config_type') - self.config_type = attributes[:'config_type'] + if attributes.key?(:'mitre_attacks') + if (value = attributes[:'mitre_attacks']).is_a?(Array) + self.mitre_attacks = value + end end - if attributes.key?(:'injects') - if (value = attributes[:'injects']).is_a?(Array) - self.injects = value + if attributes.key?(:'url_artifacts') + if (value = attributes[:'url_artifacts']).is_a?(Array) + self.url_artifacts = value end end - if attributes.key?(:'sub_botnet') - self.sub_botnet = attributes[:'sub_botnet'] + if attributes.key?(:'verdict') + self.verdict = attributes[:'verdict'] end - if attributes.key?(:'subject') - self.subject = attributes[:'subject'] + if attributes.key?(:'verdict_reason') + self.verdict_reason = attributes[:'verdict_reason'] end - if attributes.key?(:'variables') - if (value = attributes[:'variables']).is_a?(Array) - self.variables = value + if attributes.key?(:'verdict_source') + if (value = attributes[:'verdict_source']).is_a?(Array) + self.verdict_source = value end end end @@ -153,36 +161,16 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @actions.nil? - invalid_properties.push('invalid value for "actions", actions cannot be nil.') + if @file_artifacts.nil? + invalid_properties.push('invalid value for "file_artifacts", file_artifacts cannot be nil.') end - if @body.nil? - invalid_properties.push('invalid value for "body", body cannot be nil.') + if @verdict.nil? + invalid_properties.push('invalid value for "verdict", verdict cannot be nil.') end - if @botnet.nil? - invalid_properties.push('invalid value for "botnet", botnet cannot be nil.') - end - - if @config_type.nil? - invalid_properties.push('invalid value for "config_type", config_type cannot be nil.') - end - - if @injects.nil? - invalid_properties.push('invalid value for "injects", injects cannot be nil.') - end - - if @sub_botnet.nil? - invalid_properties.push('invalid value for "sub_botnet", sub_botnet cannot be nil.') - end - - if @subject.nil? - invalid_properties.push('invalid value for "subject", subject cannot be nil.') - end - - if @variables.nil? - invalid_properties.push('invalid value for "variables", variables cannot be nil.') + if @verdict_reason.nil? + invalid_properties.push('invalid value for "verdict_reason", verdict_reason cannot be nil.') end invalid_properties @@ -191,30 +179,36 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @actions.nil? - return false if @body.nil? - return false if @botnet.nil? - return false if @config_type.nil? - return false if @injects.nil? - return false if @sub_botnet.nil? - return false if @subject.nil? - return false if @variables.nil? + return false if @file_artifacts.nil? + return false if @verdict.nil? + verdict_validator = EnumAttributeValidator.new('String', ["clean", "suspicious", "malicious", "unknown"]) + return false unless verdict_validator.valid?(@verdict) + return false if @verdict_reason.nil? true end + # Custom attribute writer method checking allowed values (enum). + # @param [Object] verdict Object to be assigned + def verdict=(verdict) + validator = EnumAttributeValidator.new('String', ["clean", "suspicious", "malicious", "unknown"]) + unless validator.valid?(verdict) + fail ArgumentError, "invalid value for \"verdict\", must be one of #{validator.allowable_values}." + end + @verdict = verdict + end + # Checks equality by comparing each attribute. # @param [Object] Object to be compared def ==(o) return true if self.equal?(o) self.class == o.class && - actions == o.actions && - body == o.body && - botnet == o.botnet && - config_type == o.config_type && - injects == o.injects && - sub_botnet == o.sub_botnet && - subject == o.subject && - variables == o.variables + beta_intelligence_context == o.beta_intelligence_context && + file_artifacts == o.file_artifacts && + mitre_attacks == o.mitre_attacks && + url_artifacts == o.url_artifacts && + verdict == o.verdict && + verdict_reason == o.verdict_reason && + verdict_source == o.verdict_source end # @see the `==` method @@ -226,7 +220,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [actions, body, botnet, config_type, injects, sub_botnet, subject, variables].hash + [beta_intelligence_context, file_artifacts, mitre_attacks, url_artifacts, verdict, verdict_reason, verdict_source].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/quickscanpro_url_result.rb b/lib/crimson-falcon/models/quickscanpro_url_result.rb new file mode 100644 index 00000000..d04b0cf8 --- /dev/null +++ b/lib/crimson-falcon/models/quickscanpro_url_result.rb @@ -0,0 +1,296 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class QuickscanproURLResult + attr_accessor :url + + attr_accessor :verdict + + attr_accessor :verdict_reason + + class EnumAttributeValidator + attr_reader :datatype + attr_reader :allowable_values + + def initialize(datatype, allowable_values) + @allowable_values = allowable_values.map do |value| + case datatype.to_s + when /Integer/i + value.to_i + when /Float/i + value.to_f + else + value + end + end + end + + def valid?(value) + !value || allowable_values.include?(value) + end + end + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'url' => :'url', + :'verdict' => :'verdict', + :'verdict_reason' => :'verdict_reason' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'url' => :'String', + :'verdict' => :'String', + :'verdict_reason' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::QuickscanproURLResult` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::QuickscanproURLResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + + if attributes.key?(:'verdict') + self.verdict = attributes[:'verdict'] + end + + if attributes.key?(:'verdict_reason') + self.verdict_reason = attributes[:'verdict_reason'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + if @verdict.nil? + invalid_properties.push('invalid value for "verdict", verdict cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @url.nil? + return false if @verdict.nil? + verdict_validator = EnumAttributeValidator.new('String', ["clean", "suspicious", "malicious", "unknown"]) + return false unless verdict_validator.valid?(@verdict) + true + end + + # Custom attribute writer method checking allowed values (enum). + # @param [Object] verdict Object to be assigned + def verdict=(verdict) + validator = EnumAttributeValidator.new('String', ["clean", "suspicious", "malicious", "unknown"]) + unless validator.valid?(verdict) + fail ArgumentError, "invalid value for \"verdict\", must be one of #{validator.allowable_values}." + end + @verdict = verdict + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + url == o.url && + verdict == o.verdict && + verdict_reason == o.verdict_reason + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [url, verdict, verdict_reason].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_aws_account_ext_v2.rb b/lib/crimson-falcon/models/registration_aws_account_ext_v2.rb index 6003ec05..209f4307 100644 --- a/lib/crimson-falcon/models/registration_aws_account_ext_v2.rb +++ b/lib/crimson-falcon/models/registration_aws_account_ext_v2.rb @@ -40,6 +40,10 @@ class RegistrationAWSAccountExtV2 attr_accessor :cloudtrail_region + attr_accessor :dspm_enabled + + attr_accessor :dspm_role + attr_accessor :iam_role_arn attr_accessor :is_master @@ -48,6 +52,8 @@ class RegistrationAWSAccountExtV2 attr_accessor :sensor_management_enabled + attr_accessor :target_ous + attr_accessor :use_existing_cloudtrail # Attribute mapping from ruby-style variable name to JSON key. @@ -57,10 +63,13 @@ def self.attribute_map :'account_type' => :'account_type', :'behavior_assessment_enabled' => :'behavior_assessment_enabled', :'cloudtrail_region' => :'cloudtrail_region', + :'dspm_enabled' => :'dspm_enabled', + :'dspm_role' => :'dspm_role', :'iam_role_arn' => :'iam_role_arn', :'is_master' => :'is_master', :'organization_id' => :'organization_id', :'sensor_management_enabled' => :'sensor_management_enabled', + :'target_ous' => :'target_ous', :'use_existing_cloudtrail' => :'use_existing_cloudtrail' } end @@ -77,10 +86,13 @@ def self.openapi_types :'account_type' => :'String', :'behavior_assessment_enabled' => :'Boolean', :'cloudtrail_region' => :'String', + :'dspm_enabled' => :'Boolean', + :'dspm_role' => :'String', :'iam_role_arn' => :'String', :'is_master' => :'Boolean', :'organization_id' => :'String', :'sensor_management_enabled' => :'Boolean', + :'target_ous' => :'Array', :'use_existing_cloudtrail' => :'Boolean' } end @@ -122,6 +134,14 @@ def initialize(attributes = {}) self.cloudtrail_region = attributes[:'cloudtrail_region'] end + if attributes.key?(:'dspm_enabled') + self.dspm_enabled = attributes[:'dspm_enabled'] + end + + if attributes.key?(:'dspm_role') + self.dspm_role = attributes[:'dspm_role'] + end + if attributes.key?(:'iam_role_arn') self.iam_role_arn = attributes[:'iam_role_arn'] end @@ -138,6 +158,12 @@ def initialize(attributes = {}) self.sensor_management_enabled = attributes[:'sensor_management_enabled'] end + if attributes.key?(:'target_ous') + if (value = attributes[:'target_ous']).is_a?(Array) + self.target_ous = value + end + end + if attributes.key?(:'use_existing_cloudtrail') self.use_existing_cloudtrail = attributes[:'use_existing_cloudtrail'] end @@ -185,10 +211,13 @@ def ==(o) account_type == o.account_type && behavior_assessment_enabled == o.behavior_assessment_enabled && cloudtrail_region == o.cloudtrail_region && + dspm_enabled == o.dspm_enabled && + dspm_role == o.dspm_role && iam_role_arn == o.iam_role_arn && is_master == o.is_master && organization_id == o.organization_id && sensor_management_enabled == o.sensor_management_enabled && + target_ous == o.target_ous && use_existing_cloudtrail == o.use_existing_cloudtrail end @@ -201,7 +230,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [account_id, account_type, behavior_assessment_enabled, cloudtrail_region, iam_role_arn, is_master, organization_id, sensor_management_enabled, use_existing_cloudtrail].hash + [account_id, account_type, behavior_assessment_enabled, cloudtrail_region, dspm_enabled, dspm_role, iam_role_arn, is_master, organization_id, sensor_management_enabled, target_ous, use_existing_cloudtrail].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/registration_aws_account_patch.rb b/lib/crimson-falcon/models/registration_aws_account_patch.rb index ef928366..2c61f71c 100644 --- a/lib/crimson-falcon/models/registration_aws_account_patch.rb +++ b/lib/crimson-falcon/models/registration_aws_account_patch.rb @@ -38,6 +38,10 @@ class RegistrationAWSAccountPatch attr_accessor :cloudtrail_region + attr_accessor :dspm_enabled + + attr_accessor :dspm_role + attr_accessor :environment attr_accessor :iam_role_arn @@ -48,17 +52,22 @@ class RegistrationAWSAccountPatch attr_accessor :sensor_management_enabled + attr_accessor :target_ous + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { :'account_id' => :'account_id', :'behavior_assessment_enabled' => :'behavior_assessment_enabled', :'cloudtrail_region' => :'cloudtrail_region', + :'dspm_enabled' => :'dspm_enabled', + :'dspm_role' => :'dspm_role', :'environment' => :'environment', :'iam_role_arn' => :'iam_role_arn', :'remediation_region' => :'remediation_region', :'remediation_tou_accepted' => :'remediation_tou_accepted', - :'sensor_management_enabled' => :'sensor_management_enabled' + :'sensor_management_enabled' => :'sensor_management_enabled', + :'target_ous' => :'target_ous' } end @@ -73,11 +82,14 @@ def self.openapi_types :'account_id' => :'String', :'behavior_assessment_enabled' => :'Boolean', :'cloudtrail_region' => :'String', + :'dspm_enabled' => :'Boolean', + :'dspm_role' => :'String', :'environment' => :'String', :'iam_role_arn' => :'String', :'remediation_region' => :'String', :'remediation_tou_accepted' => :'Time', - :'sensor_management_enabled' => :'Boolean' + :'sensor_management_enabled' => :'Boolean', + :'target_ous' => :'Array' } end @@ -114,6 +126,14 @@ def initialize(attributes = {}) self.cloudtrail_region = attributes[:'cloudtrail_region'] end + if attributes.key?(:'dspm_enabled') + self.dspm_enabled = attributes[:'dspm_enabled'] + end + + if attributes.key?(:'dspm_role') + self.dspm_role = attributes[:'dspm_role'] + end + if attributes.key?(:'environment') self.environment = attributes[:'environment'] end @@ -133,6 +153,12 @@ def initialize(attributes = {}) if attributes.key?(:'sensor_management_enabled') self.sensor_management_enabled = attributes[:'sensor_management_enabled'] end + + if attributes.key?(:'target_ous') + if (value = attributes[:'target_ous']).is_a?(Array) + self.target_ous = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -166,11 +192,14 @@ def ==(o) account_id == o.account_id && behavior_assessment_enabled == o.behavior_assessment_enabled && cloudtrail_region == o.cloudtrail_region && + dspm_enabled == o.dspm_enabled && + dspm_role == o.dspm_role && environment == o.environment && iam_role_arn == o.iam_role_arn && remediation_region == o.remediation_region && remediation_tou_accepted == o.remediation_tou_accepted && - sensor_management_enabled == o.sensor_management_enabled + sensor_management_enabled == o.sensor_management_enabled && + target_ous == o.target_ous end # @see the `==` method @@ -182,7 +211,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [account_id, behavior_assessment_enabled, cloudtrail_region, environment, iam_role_arn, remediation_region, remediation_tou_accepted, sensor_management_enabled].hash + [account_id, behavior_assessment_enabled, cloudtrail_region, dspm_enabled, dspm_role, environment, iam_role_arn, remediation_region, remediation_tou_accepted, sensor_management_enabled, target_ous].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/registration_aws_account_response_v2.rb b/lib/crimson-falcon/models/registration_aws_account_response_v2.rb index 31021128..70cfd363 100644 --- a/lib/crimson-falcon/models/registration_aws_account_response_v2.rb +++ b/lib/crimson-falcon/models/registration_aws_account_response_v2.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_aws_console_url_response_v2.rb b/lib/crimson-falcon/models/registration_aws_console_url_response_v2.rb new file mode 100644 index 00000000..ef96cdb2 --- /dev/null +++ b/lib/crimson-falcon/models/registration_aws_console_url_response_v2.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationAWSConsoleURLResponseV2 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationAWSConsoleURLResponseV2` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationAWSConsoleURLResponseV2`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_aws_provision_get_account_script_response_v2.rb b/lib/crimson-falcon/models/registration_aws_provision_get_account_script_response_v2.rb index 3f8caada..80e615da 100644 --- a/lib/crimson-falcon/models/registration_aws_provision_get_account_script_response_v2.rb +++ b/lib/crimson-falcon/models/registration_aws_provision_get_account_script_response_v2.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_azure_account_response_v1.rb b/lib/crimson-falcon/models/registration_azure_account_response_v1.rb index f52ef682..e357e89c 100644 --- a/lib/crimson-falcon/models/registration_azure_account_response_v1.rb +++ b/lib/crimson-falcon/models/registration_azure_account_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_azure_download_certificate_response_v1.rb b/lib/crimson-falcon/models/registration_azure_download_certificate_response_v1.rb index 99d9bb1e..ec2015f8 100644 --- a/lib/crimson-falcon/models/registration_azure_download_certificate_response_v1.rb +++ b/lib/crimson-falcon/models/registration_azure_download_certificate_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_azure_management_group_response_v1.rb b/lib/crimson-falcon/models/registration_azure_management_group_response_v1.rb index 7a700420..c9621558 100644 --- a/lib/crimson-falcon/models/registration_azure_management_group_response_v1.rb +++ b/lib/crimson-falcon/models/registration_azure_management_group_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_azure_provision_get_user_script_response_v1.rb b/lib/crimson-falcon/models/registration_azure_provision_get_user_script_response_v1.rb index 65c87b11..560b4431 100644 --- a/lib/crimson-falcon/models/registration_azure_provision_get_user_script_response_v1.rb +++ b/lib/crimson-falcon/models/registration_azure_provision_get_user_script_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_azure_tenant_configuration_response_v1.rb b/lib/crimson-falcon/models/registration_azure_tenant_configuration_response_v1.rb index 3126e15b..a3f67764 100644 --- a/lib/crimson-falcon/models/registration_azure_tenant_configuration_response_v1.rb +++ b/lib/crimson-falcon/models/registration_azure_tenant_configuration_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_azure_tenant_default_subscription_id_response_v1.rb b/lib/crimson-falcon/models/registration_azure_tenant_default_subscription_id_response_v1.rb index d4cadb4b..5ba22975 100644 --- a/lib/crimson-falcon/models/registration_azure_tenant_default_subscription_id_response_v1.rb +++ b/lib/crimson-falcon/models/registration_azure_tenant_default_subscription_id_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Resources' } end diff --git a/lib/crimson-falcon/models/registration_azure_tenant_ids_response_v1.rb b/lib/crimson-falcon/models/registration_azure_tenant_ids_response_v1.rb index 24016c77..bb943b0c 100644 --- a/lib/crimson-falcon/models/registration_azure_tenant_ids_response_v1.rb +++ b/lib/crimson-falcon/models/registration_azure_tenant_ids_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_external_ioa_event_response.rb b/lib/crimson-falcon/models/registration_external_ioa_event_response.rb index 6278f887..1518b171 100644 --- a/lib/crimson-falcon/models/registration_external_ioa_event_response.rb +++ b/lib/crimson-falcon/models/registration_external_ioa_event_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'RegistrationMSAMetaInfoExtension', :'resources' => :'RegistrationExternalIOAResources' } diff --git a/lib/crimson-falcon/models/registration_external_iom_event_response.rb b/lib/crimson-falcon/models/registration_external_iom_event_response.rb index bcda2bea..b742ebe8 100644 --- a/lib/crimson-falcon/models/registration_external_iom_event_response.rb +++ b/lib/crimson-falcon/models/registration_external_iom_event_response.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'RegistrationMSAMetaInfoExtension', :'resources' => :'RegistrationIOMResources' } diff --git a/lib/crimson-falcon/models/registration_external_iom_event_response_v2.rb b/lib/crimson-falcon/models/registration_external_iom_event_response_v2.rb index a03f9410..b960f413 100644 --- a/lib/crimson-falcon/models/registration_external_iom_event_response_v2.rb +++ b/lib/crimson-falcon/models/registration_external_iom_event_response_v2.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_gcp_account_patch_request_v1.rb b/lib/crimson-falcon/models/registration_gcp_account_patch_request_v1.rb new file mode 100644 index 00000000..5998fc00 --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_account_patch_request_v1.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPAccountPatchRequestV1 + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPAccountPatchRequestV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPAccountPatchRequestV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_account_patch_v1.rb b/lib/crimson-falcon/models/registration_gcp_account_patch_v1.rb new file mode 100644 index 00000000..6a92e06e --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_account_patch_v1.rb @@ -0,0 +1,262 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPAccountPatchV1 + attr_accessor :environment + + attr_accessor :parent_id + + attr_accessor :service_account + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'environment' => :'environment', + :'parent_id' => :'parent_id', + :'service_account' => :'service_account' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'environment' => :'String', + :'parent_id' => :'String', + :'service_account' => :'RegistrationGCPServiceAccountPatchV1' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPAccountPatchV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPAccountPatchV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'environment') + self.environment = attributes[:'environment'] + end + + if attributes.key?(:'parent_id') + self.parent_id = attributes[:'parent_id'] + end + + if attributes.key?(:'service_account') + self.service_account = attributes[:'service_account'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @parent_id.nil? + invalid_properties.push('invalid value for "parent_id", parent_id cannot be nil.') + end + + if @service_account.nil? + invalid_properties.push('invalid value for "service_account", service_account cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @parent_id.nil? + return false if @service_account.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + environment == o.environment && + parent_id == o.parent_id && + service_account == o.service_account + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [environment, parent_id, service_account].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_account_req_obj_v2.rb b/lib/crimson-falcon/models/registration_gcp_account_req_obj_v2.rb index bd383ce0..3f4b40bc 100644 --- a/lib/crimson-falcon/models/registration_gcp_account_req_obj_v2.rb +++ b/lib/crimson-falcon/models/registration_gcp_account_req_obj_v2.rb @@ -46,6 +46,8 @@ class RegistrationGCPAccountReqObjV2 attr_accessor :project_id + attr_accessor :service_account_conditions + attr_accessor :service_account_id # Attribute mapping from ruby-style variable name to JSON key. @@ -58,6 +60,7 @@ def self.attribute_map :'private_key' => :'private_key', :'private_key_id' => :'private_key_id', :'project_id' => :'project_id', + :'service_account_conditions' => :'service_account_conditions', :'service_account_id' => :'service_account_id' } end @@ -77,6 +80,7 @@ def self.openapi_types :'private_key' => :'String', :'private_key_id' => :'String', :'project_id' => :'String', + :'service_account_conditions' => :'Array', :'service_account_id' => :'Integer' } end @@ -130,6 +134,12 @@ def initialize(attributes = {}) self.project_id = attributes[:'project_id'] end + if attributes.key?(:'service_account_conditions') + if (value = attributes[:'service_account_conditions']).is_a?(Array) + self.service_account_conditions = value + end + end + if attributes.key?(:'service_account_id') self.service_account_id = attributes[:'service_account_id'] end @@ -165,6 +175,7 @@ def ==(o) private_key == o.private_key && private_key_id == o.private_key_id && project_id == o.project_id && + service_account_conditions == o.service_account_conditions && service_account_id == o.service_account_id end @@ -177,7 +188,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [client_email, client_id, parent_id, parent_type, private_key, private_key_id, project_id, service_account_id].hash + [client_email, client_id, parent_id, parent_type, private_key, private_key_id, project_id, service_account_conditions, service_account_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/registration_gcp_account_response_ext_v2.rb b/lib/crimson-falcon/models/registration_gcp_account_response_ext_v2.rb index c2cf5928..1c72967c 100644 --- a/lib/crimson-falcon/models/registration_gcp_account_response_ext_v2.rb +++ b/lib/crimson-falcon/models/registration_gcp_account_response_ext_v2.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_gcp_account_response_v1.rb b/lib/crimson-falcon/models/registration_gcp_account_response_v1.rb index f737782d..7ecf8664 100644 --- a/lib/crimson-falcon/models/registration_gcp_account_response_v1.rb +++ b/lib/crimson-falcon/models/registration_gcp_account_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_gcp_account_rsp_obj_v2.rb b/lib/crimson-falcon/models/registration_gcp_account_rsp_obj_v2.rb index 1f1f56a5..f8288e2f 100644 --- a/lib/crimson-falcon/models/registration_gcp_account_rsp_obj_v2.rb +++ b/lib/crimson-falcon/models/registration_gcp_account_rsp_obj_v2.rb @@ -42,6 +42,8 @@ class RegistrationGCPAccountRspObjV2 attr_accessor :project_id + attr_accessor :service_account_conditions + attr_accessor :service_account_id # Attribute mapping from ruby-style variable name to JSON key. @@ -52,6 +54,7 @@ def self.attribute_map :'parent_id' => :'parent_id', :'parent_type' => :'parent_type', :'project_id' => :'project_id', + :'service_account_conditions' => :'service_account_conditions', :'service_account_id' => :'service_account_id' } end @@ -69,6 +72,7 @@ def self.openapi_types :'parent_id' => :'String', :'parent_type' => :'String', :'project_id' => :'String', + :'service_account_conditions' => :'Array', :'service_account_id' => :'Integer' } end @@ -114,6 +118,12 @@ def initialize(attributes = {}) self.project_id = attributes[:'project_id'] end + if attributes.key?(:'service_account_conditions') + if (value = attributes[:'service_account_conditions']).is_a?(Array) + self.service_account_conditions = value + end + end + if attributes.key?(:'service_account_id') self.service_account_id = attributes[:'service_account_id'] end @@ -147,6 +157,7 @@ def ==(o) parent_id == o.parent_id && parent_type == o.parent_type && project_id == o.project_id && + service_account_conditions == o.service_account_conditions && service_account_id == o.service_account_id end @@ -159,7 +170,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [client_email, client_id, parent_id, parent_type, project_id, service_account_id].hash + [client_email, client_id, parent_id, parent_type, project_id, service_account_conditions, service_account_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/registration_gcp_account_validated_v1.rb b/lib/crimson-falcon/models/registration_gcp_account_validated_v1.rb new file mode 100644 index 00000000..cfae1a35 --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_account_validated_v1.rb @@ -0,0 +1,299 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPAccountValidatedV1 + # Account conditions + attr_accessor :conditions + + # Permissions status + attr_accessor :gcp_permissions_status + + attr_accessor :parent_id + + attr_accessor :service_account_conditions + + # Service account ID + attr_accessor :service_account_id + + # Account registration status + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'conditions' => :'conditions', + :'gcp_permissions_status' => :'gcp_permissions_status', + :'parent_id' => :'parent_id', + :'service_account_conditions' => :'service_account_conditions', + :'service_account_id' => :'service_account_id', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'conditions' => :'Array', + :'gcp_permissions_status' => :'Array', + :'parent_id' => :'String', + :'service_account_conditions' => :'Array', + :'service_account_id' => :'Integer', + :'status' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPAccountValidatedV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPAccountValidatedV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'conditions') + if (value = attributes[:'conditions']).is_a?(Array) + self.conditions = value + end + end + + if attributes.key?(:'gcp_permissions_status') + if (value = attributes[:'gcp_permissions_status']).is_a?(Array) + self.gcp_permissions_status = value + end + end + + if attributes.key?(:'parent_id') + self.parent_id = attributes[:'parent_id'] + end + + if attributes.key?(:'service_account_conditions') + if (value = attributes[:'service_account_conditions']).is_a?(Array) + self.service_account_conditions = value + end + end + + if attributes.key?(:'service_account_id') + self.service_account_id = attributes[:'service_account_id'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @gcp_permissions_status.nil? + invalid_properties.push('invalid value for "gcp_permissions_status", gcp_permissions_status cannot be nil.') + end + + if @parent_id.nil? + invalid_properties.push('invalid value for "parent_id", parent_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @gcp_permissions_status.nil? + return false if @parent_id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + conditions == o.conditions && + gcp_permissions_status == o.gcp_permissions_status && + parent_id == o.parent_id && + service_account_conditions == o.service_account_conditions && + service_account_id == o.service_account_id && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [conditions, gcp_permissions_status, parent_id, service_account_conditions, service_account_id, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_account_patch.rb b/lib/crimson-falcon/models/registration_gcp_account_validation_req_obj_v1.rb similarity index 92% rename from lib/crimson-falcon/models/registration_gcp_account_patch.rb rename to lib/crimson-falcon/models/registration_gcp_account_validation_req_obj_v1.rb index d6ea102e..d5db228f 100644 --- a/lib/crimson-falcon/models/registration_gcp_account_patch.rb +++ b/lib/crimson-falcon/models/registration_gcp_account_validation_req_obj_v1.rb @@ -31,15 +31,12 @@ require 'time' module Falcon - class RegistrationGCPAccountPatch - attr_accessor :environment - + class RegistrationGCPAccountValidationReqObjV1 attr_accessor :parent_id # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'environment' => :'environment', :'parent_id' => :'parent_id' } end @@ -52,7 +49,6 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'environment' => :'String', :'parent_id' => :'String' } end @@ -67,21 +63,17 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPAccountPatch` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPAccountValidationReqObjV1` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPAccountPatch`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPAccountValidationReqObjV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'environment') - self.environment = attributes[:'environment'] - end - if attributes.key?(:'parent_id') self.parent_id = attributes[:'parent_id'] end @@ -110,7 +102,6 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - environment == o.environment && parent_id == o.parent_id end @@ -123,7 +114,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [environment, parent_id].hash + [parent_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/registration_gcp_account_validation_request_v1.rb b/lib/crimson-falcon/models/registration_gcp_account_validation_request_v1.rb new file mode 100644 index 00000000..1ff51248 --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_account_validation_request_v1.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPAccountValidationRequestV1 + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPAccountValidationRequestV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPAccountValidationRequestV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_account_validation_response_v1.rb b/lib/crimson-falcon/models/registration_gcp_account_validation_response_v1.rb new file mode 100644 index 00000000..c8eaf17b --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_account_validation_response_v1.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPAccountValidationResponseV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPAccountValidationResponseV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPAccountValidationResponseV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_provision_get_user_script_response_v1.rb b/lib/crimson-falcon/models/registration_gcp_provision_get_user_script_response_v1.rb index 8b9cf1f0..4e4ed1cc 100644 --- a/lib/crimson-falcon/models/registration_gcp_provision_get_user_script_response_v1.rb +++ b/lib/crimson-falcon/models/registration_gcp_provision_get_user_script_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_gcp_service_account_ext_v1.rb b/lib/crimson-falcon/models/registration_gcp_service_account_ext_v1.rb index e77dd358..636b8c21 100644 --- a/lib/crimson-falcon/models/registration_gcp_service_account_ext_v1.rb +++ b/lib/crimson-falcon/models/registration_gcp_service_account_ext_v1.rb @@ -38,6 +38,8 @@ class RegistrationGCPServiceAccountExtV1 attr_accessor :project_id + attr_accessor :service_account_conditions + attr_accessor :service_account_id # Attribute mapping from ruby-style variable name to JSON key. @@ -46,6 +48,7 @@ def self.attribute_map :'client_email' => :'client_email', :'client_id' => :'client_id', :'project_id' => :'project_id', + :'service_account_conditions' => :'service_account_conditions', :'service_account_id' => :'service_account_id' } end @@ -61,6 +64,7 @@ def self.openapi_types :'client_email' => :'String', :'client_id' => :'String', :'project_id' => :'String', + :'service_account_conditions' => :'Array', :'service_account_id' => :'Integer' } end @@ -98,6 +102,12 @@ def initialize(attributes = {}) self.project_id = attributes[:'project_id'] end + if attributes.key?(:'service_account_conditions') + if (value = attributes[:'service_account_conditions']).is_a?(Array) + self.service_account_conditions = value + end + end + if attributes.key?(:'service_account_id') self.service_account_id = attributes[:'service_account_id'] end @@ -124,6 +134,7 @@ def ==(o) client_email == o.client_email && client_id == o.client_id && project_id == o.project_id && + service_account_conditions == o.service_account_conditions && service_account_id == o.service_account_id end @@ -136,7 +147,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [client_email, client_id, project_id, service_account_id].hash + [client_email, client_id, project_id, service_account_conditions, service_account_id].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/registration_gcp_service_account_patch_request_v1.rb b/lib/crimson-falcon/models/registration_gcp_service_account_patch_request_v1.rb new file mode 100644 index 00000000..90d40e3f --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_service_account_patch_request_v1.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPServiceAccountPatchRequestV1 + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPServiceAccountPatchRequestV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPServiceAccountPatchRequestV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_service_account_patch_v1.rb b/lib/crimson-falcon/models/registration_gcp_service_account_patch_v1.rb new file mode 100644 index 00000000..b3c623c4 --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_service_account_patch_v1.rb @@ -0,0 +1,290 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPServiceAccountPatchV1 + attr_accessor :client_email + + attr_accessor :client_id + + attr_accessor :private_key + + attr_accessor :private_key_id + + attr_accessor :project_id + + attr_accessor :service_account_conditions + + attr_accessor :service_account_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'client_email' => :'client_email', + :'client_id' => :'client_id', + :'private_key' => :'private_key', + :'private_key_id' => :'private_key_id', + :'project_id' => :'project_id', + :'service_account_conditions' => :'service_account_conditions', + :'service_account_id' => :'service_account_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'client_email' => :'String', + :'client_id' => :'String', + :'private_key' => :'String', + :'private_key_id' => :'String', + :'project_id' => :'String', + :'service_account_conditions' => :'Array', + :'service_account_id' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPServiceAccountPatchV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPServiceAccountPatchV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'client_email') + self.client_email = attributes[:'client_email'] + end + + if attributes.key?(:'client_id') + self.client_id = attributes[:'client_id'] + end + + if attributes.key?(:'private_key') + self.private_key = attributes[:'private_key'] + end + + if attributes.key?(:'private_key_id') + self.private_key_id = attributes[:'private_key_id'] + end + + if attributes.key?(:'project_id') + self.project_id = attributes[:'project_id'] + end + + if attributes.key?(:'service_account_conditions') + if (value = attributes[:'service_account_conditions']).is_a?(Array) + self.service_account_conditions = value + end + end + + if attributes.key?(:'service_account_id') + self.service_account_id = attributes[:'service_account_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + client_email == o.client_email && + client_id == o.client_id && + private_key == o.private_key && + private_key_id == o.private_key_id && + project_id == o.project_id && + service_account_conditions == o.service_account_conditions && + service_account_id == o.service_account_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [client_email, client_id, private_key, private_key_id, project_id, service_account_conditions, service_account_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_service_account_response_ext_v1.rb b/lib/crimson-falcon/models/registration_gcp_service_account_response_ext_v1.rb index f7c29aa2..6576dc83 100644 --- a/lib/crimson-falcon/models/registration_gcp_service_account_response_ext_v1.rb +++ b/lib/crimson-falcon/models/registration_gcp_service_account_response_ext_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_gcp_service_account_validation_request_obj_v1.rb b/lib/crimson-falcon/models/registration_gcp_service_account_validation_request_obj_v1.rb new file mode 100644 index 00000000..e887885f --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_service_account_validation_request_obj_v1.rb @@ -0,0 +1,290 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPServiceAccountValidationRequestObjV1 + attr_accessor :client_email + + attr_accessor :client_id + + attr_accessor :private_key + + attr_accessor :private_key_id + + attr_accessor :project_id + + attr_accessor :service_account_conditions + + attr_accessor :service_account_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'client_email' => :'client_email', + :'client_id' => :'client_id', + :'private_key' => :'private_key', + :'private_key_id' => :'private_key_id', + :'project_id' => :'project_id', + :'service_account_conditions' => :'service_account_conditions', + :'service_account_id' => :'service_account_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'client_email' => :'String', + :'client_id' => :'String', + :'private_key' => :'String', + :'private_key_id' => :'String', + :'project_id' => :'String', + :'service_account_conditions' => :'Array', + :'service_account_id' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPServiceAccountValidationRequestObjV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPServiceAccountValidationRequestObjV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'client_email') + self.client_email = attributes[:'client_email'] + end + + if attributes.key?(:'client_id') + self.client_id = attributes[:'client_id'] + end + + if attributes.key?(:'private_key') + self.private_key = attributes[:'private_key'] + end + + if attributes.key?(:'private_key_id') + self.private_key_id = attributes[:'private_key_id'] + end + + if attributes.key?(:'project_id') + self.project_id = attributes[:'project_id'] + end + + if attributes.key?(:'service_account_conditions') + if (value = attributes[:'service_account_conditions']).is_a?(Array) + self.service_account_conditions = value + end + end + + if attributes.key?(:'service_account_id') + self.service_account_id = attributes[:'service_account_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + client_email == o.client_email && + client_id == o.client_id && + private_key == o.private_key && + private_key_id == o.private_key_id && + project_id == o.project_id && + service_account_conditions == o.service_account_conditions && + service_account_id == o.service_account_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [client_email, client_id, private_key, private_key_id, project_id, service_account_conditions, service_account_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_service_account_validation_request_v1.rb b/lib/crimson-falcon/models/registration_gcp_service_account_validation_request_v1.rb new file mode 100644 index 00000000..049f150c --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_service_account_validation_request_v1.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPServiceAccountValidationRequestV1 + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPServiceAccountValidationRequestV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPServiceAccountValidationRequestV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_gcp_service_account_validation_response_v1.rb b/lib/crimson-falcon/models/registration_gcp_service_account_validation_response_v1.rb new file mode 100644 index 00000000..da0b61e3 --- /dev/null +++ b/lib/crimson-falcon/models/registration_gcp_service_account_validation_response_v1.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RegistrationGCPServiceAccountValidationResponseV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RegistrationGCPServiceAccountValidationResponseV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RegistrationGCPServiceAccountValidationResponseV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/registration_iom_event_ids_response_v2.rb b/lib/crimson-falcon/models/registration_iom_event_ids_response_v2.rb index 1fa52db3..d30b437a 100644 --- a/lib/crimson-falcon/models/registration_iom_event_ids_response_v2.rb +++ b/lib/crimson-falcon/models/registration_iom_event_ids_response_v2.rb @@ -55,7 +55,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', + :'errors' => :'Array', :'meta' => :'RegistrationIOMEventIDResponseMeta', :'resources' => :'Array' } diff --git a/lib/crimson-falcon/models/registration_msa_meta_info_extension.rb b/lib/crimson-falcon/models/registration_msa_meta_info_extension.rb index ca81b73d..b7c6b6b3 100644 --- a/lib/crimson-falcon/models/registration_msa_meta_info_extension.rb +++ b/lib/crimson-falcon/models/registration_msa_meta_info_extension.rb @@ -52,7 +52,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'meta_info' => :'MsaspecMetaInfo', + :'meta_info' => :'MsaMetaInfo', :'pagination' => :'RegistrationMSAPagingExtension' } end diff --git a/lib/crimson-falcon/models/registration_msa_paging_extension.rb b/lib/crimson-falcon/models/registration_msa_paging_extension.rb index 93def352..359db465 100644 --- a/lib/crimson-falcon/models/registration_msa_paging_extension.rb +++ b/lib/crimson-falcon/models/registration_msa_paging_extension.rb @@ -52,7 +52,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'paging' => :'MsaspecPaging', + :'paging' => :'MsaPaging', :'next_token' => :'String' } end diff --git a/lib/crimson-falcon/models/registration_policy_response_v1.rb b/lib/crimson-falcon/models/registration_policy_response_v1.rb index 4401abc1..fd5ddeed 100644 --- a/lib/crimson-falcon/models/registration_policy_response_v1.rb +++ b/lib/crimson-falcon/models/registration_policy_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_policy_settings_response_v1.rb b/lib/crimson-falcon/models/registration_policy_settings_response_v1.rb index 66e409d7..c3026cc6 100644 --- a/lib/crimson-falcon/models/registration_policy_settings_response_v1.rb +++ b/lib/crimson-falcon/models/registration_policy_settings_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_scan_schedule_response_v1.rb b/lib/crimson-falcon/models/registration_scan_schedule_response_v1.rb index 312833bb..40205346 100644 --- a/lib/crimson-falcon/models/registration_scan_schedule_response_v1.rb +++ b/lib/crimson-falcon/models/registration_scan_schedule_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/registration_static_scripts_response.rb b/lib/crimson-falcon/models/registration_static_scripts_response.rb index 039681ea..5f1ed1b3 100644 --- a/lib/crimson-falcon/models/registration_static_scripts_response.rb +++ b/lib/crimson-falcon/models/registration_static_scripts_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end @@ -103,10 +103,6 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @errors.nil? - invalid_properties.push('invalid value for "errors", errors cannot be nil.') - end - if @meta.nil? invalid_properties.push('invalid value for "meta", meta cannot be nil.') end @@ -121,7 +117,6 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @errors.nil? return false if @meta.nil? return false if @resources.nil? true diff --git a/lib/crimson-falcon/models/remote_response_resp_v1.rb b/lib/crimson-falcon/models/remote_response_resp_v1.rb index 89d2617a..ec071e60 100644 --- a/lib/crimson-falcon/models/remote_response_resp_v1.rb +++ b/lib/crimson-falcon/models/remote_response_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/rest_account_product_upsert_request_ext_v1.rb b/lib/crimson-falcon/models/rest_account_product_upsert_request_ext_v1.rb new file mode 100644 index 00000000..f04e07c7 --- /dev/null +++ b/lib/crimson-falcon/models/rest_account_product_upsert_request_ext_v1.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RestAccountProductUpsertRequestExtV1 + attr_accessor :features + + attr_accessor :product + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'features' => :'features', + :'product' => :'product' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'features' => :'Array', + :'product' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RestAccountProductUpsertRequestExtV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RestAccountProductUpsertRequestExtV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'features') + if (value = attributes[:'features']).is_a?(Array) + self.features = value + end + end + + if attributes.key?(:'product') + self.product = attributes[:'product'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @features.nil? + invalid_properties.push('invalid value for "features", features cannot be nil.') + end + + if @product.nil? + invalid_properties.push('invalid value for "product", product cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @features.nil? + return false if @product.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + features == o.features && + product == o.product + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [features, product].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/rest_aws_account_create_request_extv1.rb b/lib/crimson-falcon/models/rest_aws_account_create_request_extv1.rb new file mode 100644 index 00000000..9e6a79fc --- /dev/null +++ b/lib/crimson-falcon/models/rest_aws_account_create_request_extv1.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RestAWSAccountCreateRequestExtv1 + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RestAWSAccountCreateRequestExtv1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RestAWSAccountCreateRequestExtv1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/rest_aws_account_create_response_ext_v1.rb b/lib/crimson-falcon/models/rest_aws_account_create_response_ext_v1.rb new file mode 100644 index 00000000..a96111f4 --- /dev/null +++ b/lib/crimson-falcon/models/rest_aws_account_create_response_ext_v1.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RestAWSAccountCreateResponseExtV1 + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RestAWSAccountCreateResponseExtV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RestAWSAccountCreateResponseExtV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/rest_aws_account_validated.rb b/lib/crimson-falcon/models/rest_aws_account_validated.rb new file mode 100644 index 00000000..7778f4d3 --- /dev/null +++ b/lib/crimson-falcon/models/rest_aws_account_validated.rb @@ -0,0 +1,284 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RestAWSAccountValidated + attr_accessor :account_id + + attr_accessor :conditions + + # Permissions status for each product returned via API. + attr_accessor :iam_service_permissions_status + + # Permissions status for each product returned via API. + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'account_id' => :'account_id', + :'conditions' => :'conditions', + :'iam_service_permissions_status' => :'iam_service_permissions_status', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'account_id' => :'String', + :'conditions' => :'Array', + :'iam_service_permissions_status' => :'Array', + :'status' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RestAWSAccountValidated` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RestAWSAccountValidated`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'account_id') + self.account_id = attributes[:'account_id'] + end + + if attributes.key?(:'conditions') + if (value = attributes[:'conditions']).is_a?(Array) + self.conditions = value + end + end + + if attributes.key?(:'iam_service_permissions_status') + if (value = attributes[:'iam_service_permissions_status']).is_a?(Array) + self.iam_service_permissions_status = value + end + end + + if attributes.key?(:'status') + if (value = attributes[:'status']).is_a?(Array) + self.status = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @account_id.nil? + invalid_properties.push('invalid value for "account_id", account_id cannot be nil.') + end + + if @iam_service_permissions_status.nil? + invalid_properties.push('invalid value for "iam_service_permissions_status", iam_service_permissions_status cannot be nil.') + end + + if @status.nil? + invalid_properties.push('invalid value for "status", status cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @account_id.nil? + return false if @iam_service_permissions_status.nil? + return false if @status.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + account_id == o.account_id && + conditions == o.conditions && + iam_service_permissions_status == o.iam_service_permissions_status && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [account_id, conditions, iam_service_permissions_status, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/rest_aws_account_validation_response.rb b/lib/crimson-falcon/models/rest_aws_account_validation_response.rb new file mode 100644 index 00000000..d8b10c4e --- /dev/null +++ b/lib/crimson-falcon/models/rest_aws_account_validation_response.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RestAWSAccountValidationResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RestAWSAccountValidationResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RestAWSAccountValidationResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/rest_cloud_aws_account_create_ext_v1.rb b/lib/crimson-falcon/models/rest_cloud_aws_account_create_ext_v1.rb new file mode 100644 index 00000000..26f51c30 --- /dev/null +++ b/lib/crimson-falcon/models/rest_cloud_aws_account_create_ext_v1.rb @@ -0,0 +1,286 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class RestCloudAWSAccountCreateExtV1 + attr_accessor :account_id + + attr_accessor :account_type + + attr_accessor :csp_events + + attr_accessor :is_master + + attr_accessor :organization_id + + attr_accessor :products + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'account_id' => :'account_id', + :'account_type' => :'account_type', + :'csp_events' => :'csp_events', + :'is_master' => :'is_master', + :'organization_id' => :'organization_id', + :'products' => :'products' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'account_id' => :'String', + :'account_type' => :'String', + :'csp_events' => :'Boolean', + :'is_master' => :'Boolean', + :'organization_id' => :'String', + :'products' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::RestCloudAWSAccountCreateExtV1` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::RestCloudAWSAccountCreateExtV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'account_id') + self.account_id = attributes[:'account_id'] + end + + if attributes.key?(:'account_type') + self.account_type = attributes[:'account_type'] + end + + if attributes.key?(:'csp_events') + self.csp_events = attributes[:'csp_events'] + end + + if attributes.key?(:'is_master') + self.is_master = attributes[:'is_master'] + end + + if attributes.key?(:'organization_id') + self.organization_id = attributes[:'organization_id'] + end + + if attributes.key?(:'products') + if (value = attributes[:'products']).is_a?(Array) + self.products = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @organization_id.nil? + invalid_properties.push('invalid value for "organization_id", organization_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @organization_id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + account_id == o.account_id && + account_type == o.account_type && + csp_events == o.csp_events && + is_master == o.is_master && + organization_id == o.organization_id && + products == o.products + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [account_id, account_type, csp_events, is_master, organization_id, products].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/rulegroups_delete_response.rb b/lib/crimson-falcon/models/rulegroups_delete_response.rb index 7ff29685..de5d0b6b 100644 --- a/lib/crimson-falcon/models/rulegroups_delete_response.rb +++ b/lib/crimson-falcon/models/rulegroups_delete_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/rulegroups_response.rb b/lib/crimson-falcon/models/rulegroups_response.rb index 2fbb0744..26fb3ddc 100644 --- a/lib/crimson-falcon/models/rulegroups_response.rb +++ b/lib/crimson-falcon/models/rulegroups_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/rulegroups_rule.rb b/lib/crimson-falcon/models/rulegroups_rule.rb index bf2bf1ce..cad8c0e4 100644 --- a/lib/crimson-falcon/models/rulegroups_rule.rb +++ b/lib/crimson-falcon/models/rulegroups_rule.rb @@ -44,6 +44,8 @@ class RulegroupsRule attr_accessor :enable_content_capture + attr_accessor :enable_hash_capture + attr_accessor :exclude attr_accessor :exclude_processes @@ -92,6 +94,8 @@ class RulegroupsRule attr_accessor :watch_permissions_file_changes + attr_accessor :watch_permissions_key_changes + attr_accessor :watch_rename_directory_changes attr_accessor :watch_rename_file_changes @@ -111,6 +115,7 @@ def self.attribute_map :'depth' => :'depth', :'description' => :'description', :'enable_content_capture' => :'enable_content_capture', + :'enable_hash_capture' => :'enable_hash_capture', :'exclude' => :'exclude', :'exclude_processes' => :'exclude_processes', :'exclude_users' => :'exclude_users', @@ -135,6 +140,7 @@ def self.attribute_map :'watch_delete_value_changes' => :'watch_delete_value_changes', :'watch_permissions_directory_changes' => :'watch_permissions_directory_changes', :'watch_permissions_file_changes' => :'watch_permissions_file_changes', + :'watch_permissions_key_changes' => :'watch_permissions_key_changes', :'watch_rename_directory_changes' => :'watch_rename_directory_changes', :'watch_rename_file_changes' => :'watch_rename_file_changes', :'watch_rename_key_changes' => :'watch_rename_key_changes', @@ -157,6 +163,7 @@ def self.openapi_types :'depth' => :'String', :'description' => :'String', :'enable_content_capture' => :'Boolean', + :'enable_hash_capture' => :'Boolean', :'exclude' => :'String', :'exclude_processes' => :'String', :'exclude_users' => :'String', @@ -181,6 +188,7 @@ def self.openapi_types :'watch_delete_value_changes' => :'Boolean', :'watch_permissions_directory_changes' => :'Boolean', :'watch_permissions_file_changes' => :'Boolean', + :'watch_permissions_key_changes' => :'Boolean', :'watch_rename_directory_changes' => :'Boolean', :'watch_rename_file_changes' => :'Boolean', :'watch_rename_key_changes' => :'Boolean', @@ -238,6 +246,10 @@ def initialize(attributes = {}) self.enable_content_capture = attributes[:'enable_content_capture'] end + if attributes.key?(:'enable_hash_capture') + self.enable_hash_capture = attributes[:'enable_hash_capture'] + end + if attributes.key?(:'exclude') self.exclude = attributes[:'exclude'] end @@ -334,6 +346,10 @@ def initialize(attributes = {}) self.watch_permissions_file_changes = attributes[:'watch_permissions_file_changes'] end + if attributes.key?(:'watch_permissions_key_changes') + self.watch_permissions_key_changes = attributes[:'watch_permissions_key_changes'] + end + if attributes.key?(:'watch_rename_directory_changes') self.watch_rename_directory_changes = attributes[:'watch_rename_directory_changes'] end @@ -414,6 +430,7 @@ def ==(o) depth == o.depth && description == o.description && enable_content_capture == o.enable_content_capture && + enable_hash_capture == o.enable_hash_capture && exclude == o.exclude && exclude_processes == o.exclude_processes && exclude_users == o.exclude_users && @@ -438,6 +455,7 @@ def ==(o) watch_delete_value_changes == o.watch_delete_value_changes && watch_permissions_directory_changes == o.watch_permissions_directory_changes && watch_permissions_file_changes == o.watch_permissions_file_changes && + watch_permissions_key_changes == o.watch_permissions_key_changes && watch_rename_directory_changes == o.watch_rename_directory_changes && watch_rename_file_changes == o.watch_rename_file_changes && watch_rename_key_changes == o.watch_rename_key_changes && @@ -454,7 +472,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [content_files, content_registry_values, created_timestamp, depth, description, enable_content_capture, exclude, exclude_processes, exclude_users, id, include, include_processes, include_users, modified_timestamp, path, precedence, rule_group_id, severity, type, watch_attributes_directory_changes, watch_attributes_file_changes, watch_create_directory_changes, watch_create_file_changes, watch_create_key_changes, watch_delete_directory_changes, watch_delete_file_changes, watch_delete_key_changes, watch_delete_value_changes, watch_permissions_directory_changes, watch_permissions_file_changes, watch_rename_directory_changes, watch_rename_file_changes, watch_rename_key_changes, watch_set_value_changes, watch_write_file_changes].hash + [content_files, content_registry_values, created_timestamp, depth, description, enable_content_capture, enable_hash_capture, exclude, exclude_processes, exclude_users, id, include, include_processes, include_users, modified_timestamp, path, precedence, rule_group_id, severity, type, watch_attributes_directory_changes, watch_attributes_file_changes, watch_create_directory_changes, watch_create_file_changes, watch_create_key_changes, watch_delete_directory_changes, watch_delete_file_changes, watch_delete_key_changes, watch_delete_value_changes, watch_permissions_directory_changes, watch_permissions_file_changes, watch_permissions_key_changes, watch_rename_directory_changes, watch_rename_file_changes, watch_rename_key_changes, watch_set_value_changes, watch_write_file_changes].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/rulegroups_rules_response.rb b/lib/crimson-falcon/models/rulegroups_rules_response.rb index 99e7d219..accbbbd3 100644 --- a/lib/crimson-falcon/models/rulegroups_rules_response.rb +++ b/lib/crimson-falcon/models/rulegroups_rules_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/runtimedetections_detections_entity_response.rb b/lib/crimson-falcon/models/runtimedetections_detections_entity_response.rb index 36abc31f..bfa9b395 100644 --- a/lib/crimson-falcon/models/runtimedetections_detections_entity_response.rb +++ b/lib/crimson-falcon/models/runtimedetections_detections_entity_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/sadomain_create_rule_request_v1.rb b/lib/crimson-falcon/models/sadomain_create_rule_request_v1.rb index 5c18412b..562f3716 100644 --- a/lib/crimson-falcon/models/sadomain_create_rule_request_v1.rb +++ b/lib/crimson-falcon/models/sadomain_create_rule_request_v1.rb @@ -32,22 +32,31 @@ module Falcon class SadomainCreateRuleRequestV1 + # Monitor only for breach data. Must be accompanied by breach_monitoring_enabled:true. + attr_accessor :breach_monitor_only + # Whether to monitor for breach data. Available only for `Company Domains` and `Email addresses` rule topics. When enabled, ownership of the monitored domains or emails is required attr_accessor :breach_monitoring_enabled # The FQL filter to be used for searching attr_accessor :filter + # Which result types to monitor for. Can be set to only monitor domains or subdomains, as well as both. Only available for the `Typosquatting` rule topic. Possible values: [`basedomains`, `subdomains`] + attr_accessor :match_on_tsq_result_types + # The name of a given rule attr_accessor :name + # If the rule was generated based on a template, the id of the template + attr_accessor :originating_template_id + # The permissions for a given rule which specifies the rule's access by other users. Possible values: [`public`, `private`] attr_accessor :permissions # The priority for a given rule. Possible values: [`low`, `medium`, `high`] attr_accessor :priority - # Whether to monitor for substring matches. Only available for the `Typosquatting` topic. + # Whether to monitor for substring matches. Only available for the `Typosquatting` rule topic. attr_accessor :substring_matching_enabled # The topic of a given rule. Possible values: [`SA_BRAND_PRODUCT`, `SA_VIP`, `SA_THIRD_PARTY`, `SA_IP`, `SA_CVE`, `SA_BIN`, `SA_DOMAIN`, `SA_EMAIL`, `SA_ALIAS`, `SA_AUTHOR`, `SA_CUSTOM`, `SA_TYPOSQUATTING`] @@ -56,9 +65,12 @@ class SadomainCreateRuleRequestV1 # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'breach_monitor_only' => :'breach_monitor_only', :'breach_monitoring_enabled' => :'breach_monitoring_enabled', :'filter' => :'filter', + :'match_on_tsq_result_types' => :'match_on_tsq_result_types', :'name' => :'name', + :'originating_template_id' => :'originating_template_id', :'permissions' => :'permissions', :'priority' => :'priority', :'substring_matching_enabled' => :'substring_matching_enabled', @@ -74,9 +86,12 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'breach_monitor_only' => :'Boolean', :'breach_monitoring_enabled' => :'Boolean', :'filter' => :'String', + :'match_on_tsq_result_types' => :'Array', :'name' => :'String', + :'originating_template_id' => :'String', :'permissions' => :'String', :'priority' => :'String', :'substring_matching_enabled' => :'Boolean', @@ -105,6 +120,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'breach_monitor_only') + self.breach_monitor_only = attributes[:'breach_monitor_only'] + end + if attributes.key?(:'breach_monitoring_enabled') self.breach_monitoring_enabled = attributes[:'breach_monitoring_enabled'] end @@ -113,10 +132,20 @@ def initialize(attributes = {}) self.filter = attributes[:'filter'] end + if attributes.key?(:'match_on_tsq_result_types') + if (value = attributes[:'match_on_tsq_result_types']).is_a?(Array) + self.match_on_tsq_result_types = value + end + end + if attributes.key?(:'name') self.name = attributes[:'name'] end + if attributes.key?(:'originating_template_id') + self.originating_template_id = attributes[:'originating_template_id'] + end + if attributes.key?(:'permissions') self.permissions = attributes[:'permissions'] end @@ -138,6 +167,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @breach_monitor_only.nil? + invalid_properties.push('invalid value for "breach_monitor_only", breach_monitor_only cannot be nil.') + end + if @breach_monitoring_enabled.nil? invalid_properties.push('invalid value for "breach_monitoring_enabled", breach_monitoring_enabled cannot be nil.') end @@ -146,10 +179,18 @@ def list_invalid_properties invalid_properties.push('invalid value for "filter", filter cannot be nil.') end + if @match_on_tsq_result_types.nil? + invalid_properties.push('invalid value for "match_on_tsq_result_types", match_on_tsq_result_types cannot be nil.') + end + if @name.nil? invalid_properties.push('invalid value for "name", name cannot be nil.') end + if @originating_template_id.nil? + invalid_properties.push('invalid value for "originating_template_id", originating_template_id cannot be nil.') + end + if @permissions.nil? invalid_properties.push('invalid value for "permissions", permissions cannot be nil.') end @@ -172,9 +213,12 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @breach_monitor_only.nil? return false if @breach_monitoring_enabled.nil? return false if @filter.nil? + return false if @match_on_tsq_result_types.nil? return false if @name.nil? + return false if @originating_template_id.nil? return false if @permissions.nil? return false if @priority.nil? return false if @substring_matching_enabled.nil? @@ -187,9 +231,12 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + breach_monitor_only == o.breach_monitor_only && breach_monitoring_enabled == o.breach_monitoring_enabled && filter == o.filter && + match_on_tsq_result_types == o.match_on_tsq_result_types && name == o.name && + originating_template_id == o.originating_template_id && permissions == o.permissions && priority == o.priority && substring_matching_enabled == o.substring_matching_enabled && @@ -205,7 +252,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [breach_monitoring_enabled, filter, name, permissions, priority, substring_matching_enabled, topic].hash + [breach_monitor_only, breach_monitoring_enabled, filter, match_on_tsq_result_types, name, originating_template_id, permissions, priority, substring_matching_enabled, topic].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/sadomain_rule.rb b/lib/crimson-falcon/models/sadomain_rule.rb index 7c23ed0e..39b3dc0b 100644 --- a/lib/crimson-falcon/models/sadomain_rule.rb +++ b/lib/crimson-falcon/models/sadomain_rule.rb @@ -32,11 +32,17 @@ module Falcon class SadomainRule + # Weather to monitor exclusively for breach data. breach_monitoring_enabled also needs to be sent as true for this to be enabled. + attr_accessor :breach_monitor_only + # Whether to monitor for breach data. Available only for `Company Domains` and `Email addresses` rule topics. When enabled, ownership of the monitored domains or emails is required attr_accessor :breach_monitoring_enabled attr_accessor :cid + # The UUID of the user that created a given rule or Crowdstrike if the rule was system generated + attr_accessor :created_by + # The creation time for a given rule attr_accessor :created_timestamp @@ -46,9 +52,15 @@ class SadomainRule # The ID of a given rule attr_accessor :id + # Which result types to monitor for. Can be set to only monitor domains or subdomains, as well as both. Only available for the `Typosquatting` rule topic. + attr_accessor :match_on_tsq_result_types + # The name of a given rule attr_accessor :name + # If the rule was generated based on a template, the id of the template + attr_accessor :originating_template_id + attr_accessor :ownership_assets # The permissions of a given rule @@ -66,6 +78,8 @@ class SadomainRule # Whether to monitor for substring matches. Only available for the `Typosquatting` rule topic attr_accessor :substring_matching_enabled + attr_accessor :template_priority + # The topic of a given rule attr_accessor :topic @@ -84,18 +98,23 @@ class SadomainRule # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'breach_monitor_only' => :'breach_monitor_only', :'breach_monitoring_enabled' => :'breach_monitoring_enabled', :'cid' => :'cid', + :'created_by' => :'created_by', :'created_timestamp' => :'created_timestamp', :'filter' => :'filter', :'id' => :'id', + :'match_on_tsq_result_types' => :'match_on_tsq_result_types', :'name' => :'name', + :'originating_template_id' => :'originating_template_id', :'ownership_assets' => :'ownership_assets', :'permissions' => :'permissions', :'priority' => :'priority', :'status' => :'status', :'status_message' => :'status_message', :'substring_matching_enabled' => :'substring_matching_enabled', + :'template_priority' => :'template_priority', :'topic' => :'topic', :'updated_timestamp' => :'updated_timestamp', :'user_id' => :'user_id', @@ -112,18 +131,23 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'breach_monitor_only' => :'Boolean', :'breach_monitoring_enabled' => :'Boolean', :'cid' => :'String', + :'created_by' => :'String', :'created_timestamp' => :'Time', :'filter' => :'String', :'id' => :'String', + :'match_on_tsq_result_types' => :'Array', :'name' => :'String', + :'originating_template_id' => :'String', :'ownership_assets' => :'SadomainCustomerAssets', :'permissions' => :'String', :'priority' => :'String', :'status' => :'String', :'status_message' => :'String', :'substring_matching_enabled' => :'Boolean', + :'template_priority' => :'Integer', :'topic' => :'String', :'updated_timestamp' => :'Time', :'user_id' => :'String', @@ -153,6 +177,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'breach_monitor_only') + self.breach_monitor_only = attributes[:'breach_monitor_only'] + end + if attributes.key?(:'breach_monitoring_enabled') self.breach_monitoring_enabled = attributes[:'breach_monitoring_enabled'] end @@ -161,6 +189,10 @@ def initialize(attributes = {}) self.cid = attributes[:'cid'] end + if attributes.key?(:'created_by') + self.created_by = attributes[:'created_by'] + end + if attributes.key?(:'created_timestamp') self.created_timestamp = attributes[:'created_timestamp'] end @@ -173,10 +205,20 @@ def initialize(attributes = {}) self.id = attributes[:'id'] end + if attributes.key?(:'match_on_tsq_result_types') + if (value = attributes[:'match_on_tsq_result_types']).is_a?(Array) + self.match_on_tsq_result_types = value + end + end + if attributes.key?(:'name') self.name = attributes[:'name'] end + if attributes.key?(:'originating_template_id') + self.originating_template_id = attributes[:'originating_template_id'] + end + if attributes.key?(:'ownership_assets') self.ownership_assets = attributes[:'ownership_assets'] end @@ -201,6 +243,10 @@ def initialize(attributes = {}) self.substring_matching_enabled = attributes[:'substring_matching_enabled'] end + if attributes.key?(:'template_priority') + self.template_priority = attributes[:'template_priority'] + end + if attributes.key?(:'topic') self.topic = attributes[:'topic'] end @@ -226,6 +272,10 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @breach_monitor_only.nil? + invalid_properties.push('invalid value for "breach_monitor_only", breach_monitor_only cannot be nil.') + end + if @breach_monitoring_enabled.nil? invalid_properties.push('invalid value for "breach_monitoring_enabled", breach_monitoring_enabled cannot be nil.') end @@ -246,6 +296,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "id", id cannot be nil.') end + if @match_on_tsq_result_types.nil? + invalid_properties.push('invalid value for "match_on_tsq_result_types", match_on_tsq_result_types cannot be nil.') + end + if @name.nil? invalid_properties.push('invalid value for "name", name cannot be nil.') end @@ -284,11 +338,13 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @breach_monitor_only.nil? return false if @breach_monitoring_enabled.nil? return false if @cid.nil? return false if @created_timestamp.nil? return false if @filter.nil? return false if @id.nil? + return false if @match_on_tsq_result_types.nil? return false if @name.nil? return false if @permissions.nil? return false if @priority.nil? @@ -305,18 +361,23 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + breach_monitor_only == o.breach_monitor_only && breach_monitoring_enabled == o.breach_monitoring_enabled && cid == o.cid && + created_by == o.created_by && created_timestamp == o.created_timestamp && filter == o.filter && id == o.id && + match_on_tsq_result_types == o.match_on_tsq_result_types && name == o.name && + originating_template_id == o.originating_template_id && ownership_assets == o.ownership_assets && permissions == o.permissions && priority == o.priority && status == o.status && status_message == o.status_message && substring_matching_enabled == o.substring_matching_enabled && + template_priority == o.template_priority && topic == o.topic && updated_timestamp == o.updated_timestamp && user_id == o.user_id && @@ -333,7 +394,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [breach_monitoring_enabled, cid, created_timestamp, filter, id, name, ownership_assets, permissions, priority, status, status_message, substring_matching_enabled, topic, updated_timestamp, user_id, user_name, user_uuid].hash + [breach_monitor_only, breach_monitoring_enabled, cid, created_by, created_timestamp, filter, id, match_on_tsq_result_types, name, originating_template_id, ownership_assets, permissions, priority, status, status_message, substring_matching_enabled, template_priority, topic, updated_timestamp, user_id, user_name, user_uuid].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/sadomain_typosquatting_component.rb b/lib/crimson-falcon/models/sadomain_typosquatting_component.rb index 840bc320..9e9504d6 100644 --- a/lib/crimson-falcon/models/sadomain_typosquatting_component.rb +++ b/lib/crimson-falcon/models/sadomain_typosquatting_component.rb @@ -42,6 +42,8 @@ class SadomainTyposquattingComponent # The Punycode representation of the infrastructure component, i.e. starting with `xn--` attr_accessor :punycode_format + attr_accessor :subdomain + attr_accessor :submit_for_blocking_info attr_accessor :submit_for_takedown_info @@ -56,6 +58,7 @@ def self.attribute_map :'id' => :'id', :'parent_domain' => :'parent_domain', :'punycode_format' => :'punycode_format', + :'subdomain' => :'subdomain', :'submit_for_blocking_info' => :'submit_for_blocking_info', :'submit_for_takedown_info' => :'submit_for_takedown_info', :'unicode_format' => :'unicode_format' @@ -74,6 +77,7 @@ def self.openapi_types :'id' => :'String', :'parent_domain' => :'SadomainTyposquattingParentDomain', :'punycode_format' => :'String', + :'subdomain' => :'SadomainTyposquattingSubdomain', :'submit_for_blocking_info' => :'SadomainSubmissionInformation', :'submit_for_takedown_info' => :'SadomainSubmissionInformation', :'unicode_format' => :'String' @@ -117,6 +121,10 @@ def initialize(attributes = {}) self.punycode_format = attributes[:'punycode_format'] end + if attributes.key?(:'subdomain') + self.subdomain = attributes[:'subdomain'] + end + if attributes.key?(:'submit_for_blocking_info') self.submit_for_blocking_info = attributes[:'submit_for_blocking_info'] end @@ -177,6 +185,7 @@ def ==(o) id == o.id && parent_domain == o.parent_domain && punycode_format == o.punycode_format && + subdomain == o.subdomain && submit_for_blocking_info == o.submit_for_blocking_info && submit_for_takedown_info == o.submit_for_takedown_info && unicode_format == o.unicode_format @@ -191,7 +200,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [base_domain, id, parent_domain, punycode_format, submit_for_blocking_info, submit_for_takedown_info, unicode_format].hash + [base_domain, id, parent_domain, punycode_format, subdomain, submit_for_blocking_info, submit_for_takedown_info, unicode_format].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/sadomain_typosquatting_subdomain.rb b/lib/crimson-falcon/models/sadomain_typosquatting_subdomain.rb new file mode 100644 index 00000000..fee39c19 --- /dev/null +++ b/lib/crimson-falcon/models/sadomain_typosquatting_subdomain.rb @@ -0,0 +1,299 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class SadomainTyposquattingSubdomain + attr_accessor :first_seen + + attr_accessor :id + + attr_accessor :is_registered + + attr_accessor :last_seen + + attr_accessor :punycode_format + + attr_accessor :unicode_format + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'first_seen' => :'first_seen', + :'id' => :'id', + :'is_registered' => :'is_registered', + :'last_seen' => :'last_seen', + :'punycode_format' => :'punycode_format', + :'unicode_format' => :'unicode_format' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'first_seen' => :'Time', + :'id' => :'String', + :'is_registered' => :'Boolean', + :'last_seen' => :'Time', + :'punycode_format' => :'String', + :'unicode_format' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::SadomainTyposquattingSubdomain` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::SadomainTyposquattingSubdomain`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'first_seen') + self.first_seen = attributes[:'first_seen'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'is_registered') + self.is_registered = attributes[:'is_registered'] + end + + if attributes.key?(:'last_seen') + self.last_seen = attributes[:'last_seen'] + end + + if attributes.key?(:'punycode_format') + self.punycode_format = attributes[:'punycode_format'] + end + + if attributes.key?(:'unicode_format') + self.unicode_format = attributes[:'unicode_format'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @is_registered.nil? + invalid_properties.push('invalid value for "is_registered", is_registered cannot be nil.') + end + + if @punycode_format.nil? + invalid_properties.push('invalid value for "punycode_format", punycode_format cannot be nil.') + end + + if @unicode_format.nil? + invalid_properties.push('invalid value for "unicode_format", unicode_format cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @id.nil? + return false if @is_registered.nil? + return false if @punycode_format.nil? + return false if @unicode_format.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + first_seen == o.first_seen && + id == o.id && + is_registered == o.is_registered && + last_seen == o.last_seen && + punycode_format == o.punycode_format && + unicode_format == o.unicode_format + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [first_seen, id, is_registered, last_seen, punycode_format, unicode_format].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_event_entities_response.rb b/lib/crimson-falcon/models/scanreports_entities_response.rb similarity index 96% rename from lib/crimson-falcon/models/domain_event_entities_response.rb rename to lib/crimson-falcon/models/scanreports_entities_response.rb index 2c0aa64a..78d8facb 100644 --- a/lib/crimson-falcon/models/domain_event_entities_response.rb +++ b/lib/crimson-falcon/models/scanreports_entities_response.rb @@ -31,7 +31,7 @@ require 'time' module Falcon - class DomainEventEntitiesResponse + class ScanreportsEntitiesResponse attr_accessor :errors attr_accessor :meta @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', - :'resources' => :'Array' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' } end @@ -71,13 +71,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainEventEntitiesResponse` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ScanreportsEntitiesResponse` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainEventEntitiesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ScanreportsEntitiesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/scheduledexclusions_response.rb b/lib/crimson-falcon/models/scheduledexclusions_response.rb index 17cc0794..61d45eac 100644 --- a/lib/crimson-falcon/models/scheduledexclusions_response.rb +++ b/lib/crimson-falcon/models/scheduledexclusions_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/schema_sensor_event_response_v1.rb b/lib/crimson-falcon/models/schema_sensor_event_response_v1.rb index 7bab4e67..21067f62 100644 --- a/lib/crimson-falcon/models/schema_sensor_event_response_v1.rb +++ b/lib/crimson-falcon/models/schema_sensor_event_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/schema_sensor_field_response_v1.rb b/lib/crimson-falcon/models/schema_sensor_field_response_v1.rb index 975e47c3..927b172b 100644 --- a/lib/crimson-falcon/models/schema_sensor_field_response_v1.rb +++ b/lib/crimson-falcon/models/schema_sensor_field_response_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/sensor_update_builds_resp_v1.rb b/lib/crimson-falcon/models/sensor_update_builds_resp_v1.rb index 46a8e816..75f5fa14 100644 --- a/lib/crimson-falcon/models/sensor_update_builds_resp_v1.rb +++ b/lib/crimson-falcon/models/sensor_update_builds_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/sensor_update_kernels_resp_v1.rb b/lib/crimson-falcon/models/sensor_update_kernels_resp_v1.rb index feebb30c..a3afaafe 100644 --- a/lib/crimson-falcon/models/sensor_update_kernels_resp_v1.rb +++ b/lib/crimson-falcon/models/sensor_update_kernels_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/sensor_update_resp_v1.rb b/lib/crimson-falcon/models/sensor_update_resp_v1.rb index 7cd3fd8e..e5bea36e 100644 --- a/lib/crimson-falcon/models/sensor_update_resp_v1.rb +++ b/lib/crimson-falcon/models/sensor_update_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/sensor_update_resp_v2.rb b/lib/crimson-falcon/models/sensor_update_resp_v2.rb index c8de37bd..742252d4 100644 --- a/lib/crimson-falcon/models/sensor_update_resp_v2.rb +++ b/lib/crimson-falcon/models/sensor_update_resp_v2.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/source_endpoint.rb b/lib/crimson-falcon/models/source_endpoint.rb new file mode 100644 index 00000000..9f40d04b --- /dev/null +++ b/lib/crimson-falcon/models/source_endpoint.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class SourceEndpoint + attr_accessor :entity_id + + attr_accessor :group_membership + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'entity_id' => :'entityId', + :'group_membership' => :'groupMembership' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'entity_id' => :'TypesPolicyRulesCondition', + :'group_membership' => :'TypesPolicyRulesCondition' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::SourceEndpoint` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::SourceEndpoint`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'entity_id') + self.entity_id = attributes[:'entity_id'] + end + + if attributes.key?(:'group_membership') + self.group_membership = attributes[:'group_membership'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + entity_id == o.entity_id && + group_membership == o.group_membership + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [entity_id, group_membership].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/source_user.rb b/lib/crimson-falcon/models/source_user.rb new file mode 100644 index 00000000..6e8bfe5c --- /dev/null +++ b/lib/crimson-falcon/models/source_user.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class SourceUser + attr_accessor :entity_id + + attr_accessor :group_membership + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'entity_id' => :'entityId', + :'group_membership' => :'groupMembership' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'entity_id' => :'TypesPolicyRulesCondition', + :'group_membership' => :'TypesPolicyRulesCondition' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::SourceUser` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::SourceUser`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'entity_id') + self.entity_id = attributes[:'entity_id'] + end + + if attributes.key?(:'group_membership') + self.group_membership = attributes[:'group_membership'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + entity_id == o.entity_id && + group_membership == o.group_membership + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [entity_id, group_membership].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/state_online_state_resp_v1.rb b/lib/crimson-falcon/models/state_online_state_resp_v1.rb index d9b7d19a..2dfedcd1 100644 --- a/lib/crimson-falcon/models/state_online_state_resp_v1.rb +++ b/lib/crimson-falcon/models/state_online_state_resp_v1.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/sv_exclusions_resp_v1.rb b/lib/crimson-falcon/models/sv_exclusions_resp_v1.rb index 09df3845..31b522a7 100644 --- a/lib/crimson-falcon/models/sv_exclusions_resp_v1.rb +++ b/lib/crimson-falcon/models/sv_exclusions_resp_v1.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/threatgraph_meta.rb b/lib/crimson-falcon/models/threatgraph_meta.rb new file mode 100644 index 00000000..fd1a076c --- /dev/null +++ b/lib/crimson-falcon/models/threatgraph_meta.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ThreatgraphMeta + attr_accessor :pagination + + attr_accessor :powered_by + + attr_accessor :query_time + + attr_accessor :trace_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'pagination' => :'pagination', + :'powered_by' => :'powered_by', + :'query_time' => :'query_time', + :'trace_id' => :'trace_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'pagination' => :'ThreatgraphPaging', + :'powered_by' => :'String', + :'query_time' => :'Float', + :'trace_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ThreatgraphMeta` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ThreatgraphMeta`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'pagination') + self.pagination = attributes[:'pagination'] + end + + if attributes.key?(:'powered_by') + self.powered_by = attributes[:'powered_by'] + end + + if attributes.key?(:'query_time') + self.query_time = attributes[:'query_time'] + end + + if attributes.key?(:'trace_id') + self.trace_id = attributes[:'trace_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @query_time.nil? + invalid_properties.push('invalid value for "query_time", query_time cannot be nil.') + end + + if @trace_id.nil? + invalid_properties.push('invalid value for "trace_id", trace_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @query_time.nil? + return false if @trace_id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + pagination == o.pagination && + powered_by == o.powered_by && + query_time == o.query_time && + trace_id == o.trace_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [pagination, powered_by, query_time, trace_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/threatgraph_paging.rb b/lib/crimson-falcon/models/threatgraph_paging.rb new file mode 100644 index 00000000..655cfd6e --- /dev/null +++ b/lib/crimson-falcon/models/threatgraph_paging.rb @@ -0,0 +1,257 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ThreatgraphPaging + attr_accessor :limit + + attr_accessor :next_page + + attr_accessor :offset + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'limit' => :'limit', + :'next_page' => :'next_page', + :'offset' => :'offset' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'limit' => :'Integer', + :'next_page' => :'String', + :'offset' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ThreatgraphPaging` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ThreatgraphPaging`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'limit') + self.limit = attributes[:'limit'] + end + + if attributes.key?(:'next_page') + self.next_page = attributes[:'next_page'] + end + + if attributes.key?(:'offset') + self.offset = attributes[:'offset'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @limit.nil? + invalid_properties.push('invalid value for "limit", limit cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @limit.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + limit == o.limit && + next_page == o.next_page && + offset == o.offset + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [limit, next_page, offset].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/threatgraph_vertex_details.rb b/lib/crimson-falcon/models/threatgraph_vertex_details.rb new file mode 100644 index 00000000..9b7f6d0a --- /dev/null +++ b/lib/crimson-falcon/models/threatgraph_vertex_details.rb @@ -0,0 +1,327 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ThreatgraphVertexDetails + attr_accessor :customer_id + + attr_accessor :device_id + + attr_accessor :id + + attr_accessor :object_id + + attr_accessor :properties + + attr_accessor :scope + + attr_accessor :timestamp + + attr_accessor :vertex_type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'customer_id' => :'customer_id', + :'device_id' => :'device_id', + :'id' => :'id', + :'object_id' => :'object_id', + :'properties' => :'properties', + :'scope' => :'scope', + :'timestamp' => :'timestamp', + :'vertex_type' => :'vertex_type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'customer_id' => :'String', + :'device_id' => :'String', + :'id' => :'String', + :'object_id' => :'String', + :'properties' => :'Object', + :'scope' => :'String', + :'timestamp' => :'String', + :'vertex_type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ThreatgraphVertexDetails` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ThreatgraphVertexDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'customer_id') + self.customer_id = attributes[:'customer_id'] + end + + if attributes.key?(:'device_id') + self.device_id = attributes[:'device_id'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'object_id') + self.object_id = attributes[:'object_id'] + end + + if attributes.key?(:'properties') + self.properties = attributes[:'properties'] + end + + if attributes.key?(:'scope') + self.scope = attributes[:'scope'] + end + + if attributes.key?(:'timestamp') + self.timestamp = attributes[:'timestamp'] + end + + if attributes.key?(:'vertex_type') + self.vertex_type = attributes[:'vertex_type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @customer_id.nil? + invalid_properties.push('invalid value for "customer_id", customer_id cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @properties.nil? + invalid_properties.push('invalid value for "properties", properties cannot be nil.') + end + + if @scope.nil? + invalid_properties.push('invalid value for "scope", scope cannot be nil.') + end + + if @timestamp.nil? + invalid_properties.push('invalid value for "timestamp", timestamp cannot be nil.') + end + + if @vertex_type.nil? + invalid_properties.push('invalid value for "vertex_type", vertex_type cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @customer_id.nil? + return false if @id.nil? + return false if @properties.nil? + return false if @scope.nil? + return false if @timestamp.nil? + return false if @vertex_type.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + customer_id == o.customer_id && + device_id == o.device_id && + id == o.id && + object_id == o.object_id && + properties == o.properties && + scope == o.scope && + timestamp == o.timestamp && + vertex_type == o.vertex_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [customer_id, device_id, id, object_id, properties, scope, timestamp, vertex_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/threatgraph_vertex_details_response.rb b/lib/crimson-falcon/models/threatgraph_vertex_details_response.rb new file mode 100644 index 00000000..66cde219 --- /dev/null +++ b/lib/crimson-falcon/models/threatgraph_vertex_details_response.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class ThreatgraphVertexDetailsResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'ThreatgraphMeta', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::ThreatgraphVertexDetailsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::ThreatgraphVertexDetailsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/triggers_trigger_ext.rb b/lib/crimson-falcon/models/triggers_trigger_ext.rb new file mode 100644 index 00000000..787f014e --- /dev/null +++ b/lib/crimson-falcon/models/triggers_trigger_ext.rb @@ -0,0 +1,322 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TriggersTriggerExt + # Required api scope to use this trigger. + attr_accessor :api_scope + + # Category for the trigger. + attr_accessor :category + + # Description for the trigger. + attr_accessor :description + + # Nested fields of this object, only set when field type is complex + attr_accessor :fields + + # Unique identifier for the trigger. + attr_accessor :id + + # User friendly display name for the trigger, this the fully qualified name that provides the context hierarchy. + attr_accessor :name + + # Version of the trigger. + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'api_scope' => :'api_scope', + :'category' => :'category', + :'description' => :'description', + :'fields' => :'fields', + :'id' => :'id', + :'name' => :'name', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'api_scope' => :'String', + :'category' => :'String', + :'description' => :'String', + :'fields' => :'Array', + :'id' => :'String', + :'name' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TriggersTriggerExt` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TriggersTriggerExt`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'api_scope') + self.api_scope = attributes[:'api_scope'] + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + end + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'fields') + if (value = attributes[:'fields']).is_a?(Array) + self.fields = value + end + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @api_scope.nil? + invalid_properties.push('invalid value for "api_scope", api_scope cannot be nil.') + end + + if @category.nil? + invalid_properties.push('invalid value for "category", category cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @version.nil? + invalid_properties.push('invalid value for "version", version cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @api_scope.nil? + return false if @category.nil? + return false if @id.nil? + return false if @name.nil? + return false if @version.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + api_scope == o.api_scope && + category == o.category && + description == o.description && + fields == o.fields && + id == o.id && + name == o.name && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [api_scope, category, description, fields, id, name, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/triggers_trigger_ext_field.rb b/lib/crimson-falcon/models/triggers_trigger_ext_field.rb new file mode 100644 index 00000000..d7d1a713 --- /dev/null +++ b/lib/crimson-falcon/models/triggers_trigger_ext_field.rb @@ -0,0 +1,305 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TriggersTriggerExtField + # Description for the field. + attr_accessor :description + + # User friendly display name for the field + attr_accessor :display + + attr_accessor :example + + # Nested fields of this object, only set when field type is complex + attr_accessor :fields + + # Name of the field as it should be passed back to the API through conditions or data mapping. + attr_accessor :name + + attr_accessor :source + + # Underlying type for the field, can be a primitive json schema type or signal field type. + attr_accessor :type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'description' => :'description', + :'display' => :'display', + :'example' => :'example', + :'fields' => :'fields', + :'name' => :'name', + :'source' => :'source', + :'type' => :'type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'description' => :'String', + :'display' => :'String', + :'example' => :'Object', + :'fields' => :'Array', + :'name' => :'String', + :'source' => :'FielddataFieldSource', + :'type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TriggersTriggerExtField` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TriggersTriggerExtField`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'description') + self.description = attributes[:'description'] + end + + if attributes.key?(:'display') + self.display = attributes[:'display'] + end + + if attributes.key?(:'example') + self.example = attributes[:'example'] + end + + if attributes.key?(:'fields') + if (value = attributes[:'fields']).is_a?(Array) + self.fields = value + end + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @display.nil? + invalid_properties.push('invalid value for "display", display cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @display.nil? + return false if @name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + description == o.description && + display == o.display && + example == o.example && + fields == o.fields && + name == o.name && + source == o.source && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [description, display, example, fields, name, source, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/triggers_trigger_external_response.rb b/lib/crimson-falcon/models/triggers_trigger_external_response.rb new file mode 100644 index 00000000..e545efa7 --- /dev/null +++ b/lib/crimson-falcon/models/triggers_trigger_external_response.rb @@ -0,0 +1,271 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TriggersTriggerExternalResponse + attr_accessor :errors + + attr_accessor :meta + + attr_accessor :resources + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'errors' => :'errors', + :'meta' => :'meta', + :'resources' => :'resources' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', + :'resources' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TriggersTriggerExternalResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TriggersTriggerExternalResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] + end + + if attributes.key?(:'resources') + if (value = attributes[:'resources']).is_a?(Array) + self.resources = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @errors.nil? + invalid_properties.push('invalid value for "errors", errors cannot be nil.') + end + + if @meta.nil? + invalid_properties.push('invalid value for "meta", meta cannot be nil.') + end + + if @resources.nil? + invalid_properties.push('invalid value for "resources", resources cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @errors.nil? + return false if @meta.nil? + return false if @resources.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + errors == o.errors && + meta == o.meta && + resources == o.resources + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [errors, meta, resources].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_action_run.rb b/lib/crimson-falcon/models/types_action_run.rb new file mode 100644 index 00000000..4c652333 --- /dev/null +++ b/lib/crimson-falcon/models/types_action_run.rb @@ -0,0 +1,299 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesActionRun + attr_accessor :create_time + + attr_accessor :events + + attr_accessor :id + + attr_accessor :latest_event + + attr_accessor :metadata + + attr_accessor :progress + + attr_accessor :scheduled + + attr_accessor :trace_uuid + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'create_time' => :'create_time', + :'events' => :'events', + :'id' => :'id', + :'latest_event' => :'latest_event', + :'metadata' => :'metadata', + :'progress' => :'progress', + :'scheduled' => :'scheduled', + :'trace_uuid' => :'trace_uuid' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'create_time' => :'TypesTimestamp', + :'events' => :'Array', + :'id' => :'Integer', + :'latest_event' => :'TypesActionRunEvent', + :'metadata' => :'TypesActionRunMetadata', + :'progress' => :'Integer', + :'scheduled' => :'Boolean', + :'trace_uuid' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesActionRun` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesActionRun`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'create_time') + self.create_time = attributes[:'create_time'] + end + + if attributes.key?(:'events') + if (value = attributes[:'events']).is_a?(Array) + self.events = value + end + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'latest_event') + self.latest_event = attributes[:'latest_event'] + end + + if attributes.key?(:'metadata') + self.metadata = attributes[:'metadata'] + end + + if attributes.key?(:'progress') + self.progress = attributes[:'progress'] + end + + if attributes.key?(:'scheduled') + self.scheduled = attributes[:'scheduled'] + end + + if attributes.key?(:'trace_uuid') + self.trace_uuid = attributes[:'trace_uuid'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + create_time == o.create_time && + events == o.events && + id == o.id && + latest_event == o.latest_event && + metadata == o.metadata && + progress == o.progress && + scheduled == o.scheduled && + trace_uuid == o.trace_uuid + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [create_time, events, id, latest_event, metadata, progress, scheduled, trace_uuid].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_action_run_event.rb b/lib/crimson-falcon/models/types_action_run_event.rb new file mode 100644 index 00000000..5f95b02c --- /dev/null +++ b/lib/crimson-falcon/models/types_action_run_event.rb @@ -0,0 +1,324 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesActionRunEvent + attr_accessor :flat_data + + attr_accessor :additional_data + + attr_accessor :data + + attr_accessor :flat_fields + + attr_accessor :id + + attr_accessor :message + + attr_accessor :object + + attr_accessor :object_type + + attr_accessor :send_time + + attr_accessor :status + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'flat_data' => :'FlatData', + :'additional_data' => :'additional_data', + :'data' => :'data', + :'flat_fields' => :'flat_fields', + :'id' => :'id', + :'message' => :'message', + :'object' => :'object', + :'object_type' => :'object_type', + :'send_time' => :'send_time', + :'status' => :'status' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'flat_data' => :'Hash', + :'additional_data' => :'String', + :'data' => :'TypesActionRunEventData', + :'flat_fields' => :'Array', + :'id' => :'Integer', + :'message' => :'String', + :'object' => :'String', + :'object_type' => :'String', + :'send_time' => :'TypesTimestamp', + :'status' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesActionRunEvent` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesActionRunEvent`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'flat_data') + if (value = attributes[:'flat_data']).is_a?(Hash) + self.flat_data = value + end + end + + if attributes.key?(:'additional_data') + self.additional_data = attributes[:'additional_data'] + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + + if attributes.key?(:'flat_fields') + if (value = attributes[:'flat_fields']).is_a?(Array) + self.flat_fields = value + end + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'message') + self.message = attributes[:'message'] + end + + if attributes.key?(:'object') + self.object = attributes[:'object'] + end + + if attributes.key?(:'object_type') + self.object_type = attributes[:'object_type'] + end + + if attributes.key?(:'send_time') + self.send_time = attributes[:'send_time'] + end + + if attributes.key?(:'status') + self.status = attributes[:'status'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @flat_data.nil? + invalid_properties.push('invalid value for "flat_data", flat_data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @flat_data.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + flat_data == o.flat_data && + additional_data == o.additional_data && + data == o.data && + flat_fields == o.flat_fields && + id == o.id && + message == o.message && + object == o.object && + object_type == o.object_type && + send_time == o.send_time && + status == o.status + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [flat_data, additional_data, data, flat_fields, id, message, object, object_type, send_time, status].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_action_run_event_data.rb b/lib/crimson-falcon/models/types_action_run_event_data.rb new file mode 100644 index 00000000..6bd85cce --- /dev/null +++ b/lib/crimson-falcon/models/types_action_run_event_data.rb @@ -0,0 +1,360 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesActionRunEventData + attr_accessor :additional_info + + attr_accessor :aws + + attr_accessor :azure_site + + attr_accessor :azure_vm + + attr_accessor :cloud_function + + attr_accessor :crowdstrike_cloud_security + + attr_accessor :ec2 + + attr_accessor :ecs + + attr_accessor :gcp + + attr_accessor :host + + attr_accessor :k8s + + attr_accessor :lambda + + attr_accessor :remedy + + attr_accessor :snyk + + attr_accessor :sonatype + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'additional_info' => :'additional_info', + :'aws' => :'aws', + :'azure_site' => :'azureSite', + :'azure_vm' => :'azureVm', + :'cloud_function' => :'cloud_function', + :'crowdstrike_cloud_security' => :'crowdstrike_cloud_security', + :'ec2' => :'ec2', + :'ecs' => :'ecs', + :'gcp' => :'gcp', + :'host' => :'host', + :'k8s' => :'k8s', + :'lambda' => :'lambda', + :'remedy' => :'remedy', + :'snyk' => :'snyk', + :'sonatype' => :'sonatype' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'additional_info' => :'String', + :'aws' => :'TypesAWSMetadata', + :'azure_site' => :'TypesAzureSiteMetadata', + :'azure_vm' => :'TypesAzureVmMetadata', + :'cloud_function' => :'TypesCloudFunctionMetadata', + :'crowdstrike_cloud_security' => :'TypesCrowdStrikeCloudSecurityMetadata', + :'ec2' => :'TypesEC2Metadata', + :'ecs' => :'TypesECSMetadata', + :'gcp' => :'TypesGCPMetadata', + :'host' => :'TypesHostMetadata', + :'k8s' => :'TypesK8SMetadata', + :'lambda' => :'TypesLambdaMetadata', + :'remedy' => :'TypesRemediation', + :'snyk' => :'TypesSnykMetadata', + :'sonatype' => :'TypesSonatypeMetadata' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesActionRunEventData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesActionRunEventData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'additional_info') + self.additional_info = attributes[:'additional_info'] + end + + if attributes.key?(:'aws') + self.aws = attributes[:'aws'] + end + + if attributes.key?(:'azure_site') + self.azure_site = attributes[:'azure_site'] + end + + if attributes.key?(:'azure_vm') + self.azure_vm = attributes[:'azure_vm'] + end + + if attributes.key?(:'cloud_function') + self.cloud_function = attributes[:'cloud_function'] + end + + if attributes.key?(:'crowdstrike_cloud_security') + self.crowdstrike_cloud_security = attributes[:'crowdstrike_cloud_security'] + end + + if attributes.key?(:'ec2') + self.ec2 = attributes[:'ec2'] + end + + if attributes.key?(:'ecs') + self.ecs = attributes[:'ecs'] + end + + if attributes.key?(:'gcp') + self.gcp = attributes[:'gcp'] + end + + if attributes.key?(:'host') + self.host = attributes[:'host'] + end + + if attributes.key?(:'k8s') + self.k8s = attributes[:'k8s'] + end + + if attributes.key?(:'lambda') + self.lambda = attributes[:'lambda'] + end + + if attributes.key?(:'remedy') + self.remedy = attributes[:'remedy'] + end + + if attributes.key?(:'snyk') + self.snyk = attributes[:'snyk'] + end + + if attributes.key?(:'sonatype') + self.sonatype = attributes[:'sonatype'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + additional_info == o.additional_info && + aws == o.aws && + azure_site == o.azure_site && + azure_vm == o.azure_vm && + cloud_function == o.cloud_function && + crowdstrike_cloud_security == o.crowdstrike_cloud_security && + ec2 == o.ec2 && + ecs == o.ecs && + gcp == o.gcp && + host == o.host && + k8s == o.k8s && + lambda == o.lambda && + remedy == o.remedy && + snyk == o.snyk && + sonatype == o.sonatype + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [additional_info, aws, azure_site, azure_vm, cloud_function, crowdstrike_cloud_security, ec2, ecs, gcp, host, k8s, lambda, remedy, snyk, sonatype].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_action_run_metadata.rb b/lib/crimson-falcon/models/types_action_run_metadata.rb new file mode 100644 index 00000000..1af5e7f4 --- /dev/null +++ b/lib/crimson-falcon/models/types_action_run_metadata.rb @@ -0,0 +1,288 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesActionRunMetadata + attr_accessor :collected_objects + + attr_accessor :end_time + + attr_accessor :integration_task_id + + attr_accessor :integration_task_name + + attr_accessor :integration_task_type + + attr_accessor :start_time + + attr_accessor :total_objects + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'collected_objects' => :'collected_objects', + :'end_time' => :'end_time', + :'integration_task_id' => :'integration_task_id', + :'integration_task_name' => :'integration_task_name', + :'integration_task_type' => :'integration_task_type', + :'start_time' => :'start_time', + :'total_objects' => :'total_objects' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'collected_objects' => :'Integer', + :'end_time' => :'TypesTimestamp', + :'integration_task_id' => :'Integer', + :'integration_task_name' => :'String', + :'integration_task_type' => :'TypesIntegrationTaskType', + :'start_time' => :'TypesTimestamp', + :'total_objects' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesActionRunMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesActionRunMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'collected_objects') + self.collected_objects = attributes[:'collected_objects'] + end + + if attributes.key?(:'end_time') + self.end_time = attributes[:'end_time'] + end + + if attributes.key?(:'integration_task_id') + self.integration_task_id = attributes[:'integration_task_id'] + end + + if attributes.key?(:'integration_task_name') + self.integration_task_name = attributes[:'integration_task_name'] + end + + if attributes.key?(:'integration_task_type') + self.integration_task_type = attributes[:'integration_task_type'] + end + + if attributes.key?(:'start_time') + self.start_time = attributes[:'start_time'] + end + + if attributes.key?(:'total_objects') + self.total_objects = attributes[:'total_objects'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + collected_objects == o.collected_objects && + end_time == o.end_time && + integration_task_id == o.integration_task_id && + integration_task_name == o.integration_task_name && + integration_task_type == o.integration_task_type && + start_time == o.start_time && + total_objects == o.total_objects + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [collected_objects, end_time, integration_task_id, integration_task_name, integration_task_type, start_time, total_objects].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_artifact.rb b/lib/crimson-falcon/models/types_artifact.rb new file mode 100644 index 00000000..a87c5fff --- /dev/null +++ b/lib/crimson-falcon/models/types_artifact.rb @@ -0,0 +1,261 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesArtifact + attr_accessor :full_path + + attr_accessor :hash + + attr_accessor :id + + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'full_path' => :'fullPath', + :'hash' => :'hash', + :'id' => :'id', + :'name' => :'name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'full_path' => :'String', + :'hash' => :'String', + :'id' => :'Integer', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesArtifact` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesArtifact`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'full_path') + self.full_path = attributes[:'full_path'] + end + + if attributes.key?(:'hash') + self.hash = attributes[:'hash'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + full_path == o.full_path && + hash == o.hash && + id == o.id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [full_path, hash, id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_aws_api_gateway_reason_tag.rb b/lib/crimson-falcon/models/types_aws_api_gateway_reason_tag.rb new file mode 100644 index 00000000..e8bbe3df --- /dev/null +++ b/lib/crimson-falcon/models/types_aws_api_gateway_reason_tag.rb @@ -0,0 +1,261 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesAwsApiGatewayReasonTag + attr_accessor :api_type + + attr_accessor :host_type + + attr_accessor :reason + + attr_accessor :url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'api_type' => :'apiType', + :'host_type' => :'hostType', + :'reason' => :'reason', + :'url' => :'url' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'api_type' => :'String', + :'host_type' => :'String', + :'reason' => :'String', + :'url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesAwsApiGatewayReasonTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesAwsApiGatewayReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'api_type') + self.api_type = attributes[:'api_type'] + end + + if attributes.key?(:'host_type') + self.host_type = attributes[:'host_type'] + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + api_type == o.api_type && + host_type == o.host_type && + reason == o.reason && + url == o.url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [api_type, host_type, reason, url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_aws_elastic_ip_reason_tag.rb b/lib/crimson-falcon/models/types_aws_elastic_ip_reason_tag.rb new file mode 100644 index 00000000..b3fe5a3c --- /dev/null +++ b/lib/crimson-falcon/models/types_aws_elastic_ip_reason_tag.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesAwsElasticIpReasonTag + attr_accessor :ec2_instance + + attr_accessor :ip + + attr_accessor :reason + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'ec2_instance' => :'ec2Instance', + :'ip' => :'ip', + :'reason' => :'reason' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'ec2_instance' => :'String', + :'ip' => :'String', + :'reason' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesAwsElasticIpReasonTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesAwsElasticIpReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'ec2_instance') + self.ec2_instance = attributes[:'ec2_instance'] + end + + if attributes.key?(:'ip') + self.ip = attributes[:'ip'] + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + ec2_instance == o.ec2_instance && + ip == o.ip && + reason == o.reason + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [ec2_instance, ip, reason].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_aws_lambda_api_gateway_reason_tag.rb b/lib/crimson-falcon/models/types_aws_lambda_api_gateway_reason_tag.rb new file mode 100644 index 00000000..75e13a12 --- /dev/null +++ b/lib/crimson-falcon/models/types_aws_lambda_api_gateway_reason_tag.rb @@ -0,0 +1,261 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesAwsLambdaApiGatewayReasonTag + attr_accessor :api_type + + attr_accessor :lambda_arn + + attr_accessor :reason + + attr_accessor :rest_url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'api_type' => :'apiType', + :'lambda_arn' => :'lambdaArn', + :'reason' => :'reason', + :'rest_url' => :'restUrl' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'api_type' => :'String', + :'lambda_arn' => :'String', + :'reason' => :'String', + :'rest_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesAwsLambdaApiGatewayReasonTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesAwsLambdaApiGatewayReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'api_type') + self.api_type = attributes[:'api_type'] + end + + if attributes.key?(:'lambda_arn') + self.lambda_arn = attributes[:'lambda_arn'] + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.key?(:'rest_url') + self.rest_url = attributes[:'rest_url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + api_type == o.api_type && + lambda_arn == o.lambda_arn && + reason == o.reason && + rest_url == o.rest_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [api_type, lambda_arn, reason, rest_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_aws_load_balancer_reason_tag.rb b/lib/crimson-falcon/models/types_aws_load_balancer_reason_tag.rb new file mode 100644 index 00000000..ff6db95c --- /dev/null +++ b/lib/crimson-falcon/models/types_aws_load_balancer_reason_tag.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesAwsLoadBalancerReasonTag + attr_accessor :dns_name + + attr_accessor :reason + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'dns_name' => :'dnsName', + :'reason' => :'reason' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'dns_name' => :'String', + :'reason' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesAwsLoadBalancerReasonTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesAwsLoadBalancerReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'dns_name') + self.dns_name = attributes[:'dns_name'] + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + dns_name == o.dns_name && + reason == o.reason + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [dns_name, reason].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_aws_metadata.rb b/lib/crimson-falcon/models/types_aws_metadata.rb new file mode 100644 index 00000000..087f1419 --- /dev/null +++ b/lib/crimson-falcon/models/types_aws_metadata.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesAWSMetadata + attr_accessor :account_arn + + attr_accessor :region + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'account_arn' => :'accountArn', + :'region' => :'region' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'account_arn' => :'String', + :'region' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesAWSMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesAWSMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'account_arn') + self.account_arn = attributes[:'account_arn'] + end + + if attributes.key?(:'region') + self.region = attributes[:'region'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + account_arn == o.account_arn && + region == o.region + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [account_arn, region].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_azure_application_gateway_reason_tag.rb b/lib/crimson-falcon/models/types_azure_application_gateway_reason_tag.rb new file mode 100644 index 00000000..25f4b0ad --- /dev/null +++ b/lib/crimson-falcon/models/types_azure_application_gateway_reason_tag.rb @@ -0,0 +1,272 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesAzureApplicationGatewayReasonTag + attr_accessor :app_gw_address + + attr_accessor :app_gw_name + + attr_accessor :listener_port + + attr_accessor :paths + + attr_accessor :reason + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'app_gw_address' => :'appGwAddress', + :'app_gw_name' => :'appGwName', + :'listener_port' => :'listenerPort', + :'paths' => :'paths', + :'reason' => :'reason' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'app_gw_address' => :'String', + :'app_gw_name' => :'String', + :'listener_port' => :'String', + :'paths' => :'Array', + :'reason' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesAzureApplicationGatewayReasonTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesAzureApplicationGatewayReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'app_gw_address') + self.app_gw_address = attributes[:'app_gw_address'] + end + + if attributes.key?(:'app_gw_name') + self.app_gw_name = attributes[:'app_gw_name'] + end + + if attributes.key?(:'listener_port') + self.listener_port = attributes[:'listener_port'] + end + + if attributes.key?(:'paths') + if (value = attributes[:'paths']).is_a?(Array) + self.paths = value + end + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + app_gw_address == o.app_gw_address && + app_gw_name == o.app_gw_name && + listener_port == o.listener_port && + paths == o.paths && + reason == o.reason + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [app_gw_address, app_gw_name, listener_port, paths, reason].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_azure_load_balancer_reason_tag.rb b/lib/crimson-falcon/models/types_azure_load_balancer_reason_tag.rb new file mode 100644 index 00000000..095e5dcb --- /dev/null +++ b/lib/crimson-falcon/models/types_azure_load_balancer_reason_tag.rb @@ -0,0 +1,261 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesAzureLoadBalancerReasonTag + attr_accessor :name + + attr_accessor :port + + attr_accessor :reason + + attr_accessor :vm_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'port' => :'port', + :'reason' => :'reason', + :'vm_name' => :'vmName' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'port' => :'String', + :'reason' => :'String', + :'vm_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesAzureLoadBalancerReasonTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesAzureLoadBalancerReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'port') + self.port = attributes[:'port'] + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + + if attributes.key?(:'vm_name') + self.vm_name = attributes[:'vm_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + port == o.port && + reason == o.reason && + vm_name == o.vm_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, port, reason, vm_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_azure_site_metadata.rb b/lib/crimson-falcon/models/types_azure_site_metadata.rb new file mode 100644 index 00000000..bbe8ec07 --- /dev/null +++ b/lib/crimson-falcon/models/types_azure_site_metadata.rb @@ -0,0 +1,279 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesAzureSiteMetadata + attr_accessor :location + + attr_accessor :resource_group + + attr_accessor :site_id + + attr_accessor :site_kind + + attr_accessor :site_name + + attr_accessor :subscription_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'location' => :'location', + :'resource_group' => :'resourceGroup', + :'site_id' => :'siteId', + :'site_kind' => :'siteKind', + :'site_name' => :'siteName', + :'subscription_id' => :'subscriptionId' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'location' => :'String', + :'resource_group' => :'String', + :'site_id' => :'String', + :'site_kind' => :'String', + :'site_name' => :'String', + :'subscription_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesAzureSiteMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesAzureSiteMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'location') + self.location = attributes[:'location'] + end + + if attributes.key?(:'resource_group') + self.resource_group = attributes[:'resource_group'] + end + + if attributes.key?(:'site_id') + self.site_id = attributes[:'site_id'] + end + + if attributes.key?(:'site_kind') + self.site_kind = attributes[:'site_kind'] + end + + if attributes.key?(:'site_name') + self.site_name = attributes[:'site_name'] + end + + if attributes.key?(:'subscription_id') + self.subscription_id = attributes[:'subscription_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + location == o.location && + resource_group == o.resource_group && + site_id == o.site_id && + site_kind == o.site_kind && + site_name == o.site_name && + subscription_id == o.subscription_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [location, resource_group, site_id, site_kind, site_name, subscription_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_azure_vm_metadata.rb b/lib/crimson-falcon/models/types_azure_vm_metadata.rb new file mode 100644 index 00000000..0895a63e --- /dev/null +++ b/lib/crimson-falcon/models/types_azure_vm_metadata.rb @@ -0,0 +1,270 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesAzureVmMetadata + attr_accessor :id + + attr_accessor :region + + attr_accessor :resource_group + + attr_accessor :subscription_id + + attr_accessor :vm_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'region' => :'region', + :'resource_group' => :'resourceGroup', + :'subscription_id' => :'subscriptionId', + :'vm_name' => :'vmName' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'String', + :'region' => :'String', + :'resource_group' => :'String', + :'subscription_id' => :'String', + :'vm_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesAzureVmMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesAzureVmMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'region') + self.region = attributes[:'region'] + end + + if attributes.key?(:'resource_group') + self.resource_group = attributes[:'resource_group'] + end + + if attributes.key?(:'subscription_id') + self.subscription_id = attributes[:'subscription_id'] + end + + if attributes.key?(:'vm_name') + self.vm_name = attributes[:'vm_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + region == o.region && + resource_group == o.resource_group && + subscription_id == o.subscription_id && + vm_name == o.vm_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, region, resource_group, subscription_id, vm_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_vulnerability_actor.rb b/lib/crimson-falcon/models/types_business_application.rb similarity index 96% rename from lib/crimson-falcon/models/domain_vulnerability_actor.rb rename to lib/crimson-falcon/models/types_business_application.rb index b2da7872..bca06a46 100644 --- a/lib/crimson-falcon/models/domain_vulnerability_actor.rb +++ b/lib/crimson-falcon/models/types_business_application.rb @@ -31,11 +31,9 @@ require 'time' module Falcon - class DomainVulnerabilityActor - # Actor internal ID, consisting of it's name with spaces removed + class TypesBusinessApplication attr_accessor :id - # Actor name, composed of 2 uppercase words attr_accessor :name # Attribute mapping from ruby-style variable name to JSON key. @@ -54,7 +52,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'id' => :'String', + :'id' => :'Integer', :'name' => :'String' } end @@ -69,13 +67,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainVulnerabilityActor` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesBusinessApplication` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainVulnerabilityActor`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesBusinessApplication`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/types_cloud_function_metadata.rb b/lib/crimson-falcon/models/types_cloud_function_metadata.rb new file mode 100644 index 00000000..89365cb2 --- /dev/null +++ b/lib/crimson-falcon/models/types_cloud_function_metadata.rb @@ -0,0 +1,234 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesCloudFunctionMetadata + attr_accessor :function_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'function_name' => :'function_name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'function_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesCloudFunctionMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesCloudFunctionMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'function_name') + self.function_name = attributes[:'function_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + function_name == o.function_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [function_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_composed_schedule.rb b/lib/crimson-falcon/models/types_composed_schedule.rb new file mode 100644 index 00000000..0c950f37 --- /dev/null +++ b/lib/crimson-falcon/models/types_composed_schedule.rb @@ -0,0 +1,299 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesComposedSchedule + attr_accessor :every + + attr_accessor :every_unit + + attr_accessor :hour + + attr_accessor :minute + + attr_accessor :start_time_timezone_offset_minutes + + attr_accessor :start_time + + attr_accessor :timezone + + attr_accessor :weekdays + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'every' => :'every', + :'every_unit' => :'every_unit', + :'hour' => :'hour', + :'minute' => :'minute', + :'start_time_timezone_offset_minutes' => :'startTimeTimezoneOffsetMinutes', + :'start_time' => :'start_time', + :'timezone' => :'timezone', + :'weekdays' => :'weekdays' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'every' => :'Integer', + :'every_unit' => :'Integer', + :'hour' => :'Integer', + :'minute' => :'Integer', + :'start_time_timezone_offset_minutes' => :'Integer', + :'start_time' => :'TypesTimestamp', + :'timezone' => :'Integer', + :'weekdays' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesComposedSchedule` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesComposedSchedule`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'every') + self.every = attributes[:'every'] + end + + if attributes.key?(:'every_unit') + self.every_unit = attributes[:'every_unit'] + end + + if attributes.key?(:'hour') + self.hour = attributes[:'hour'] + end + + if attributes.key?(:'minute') + self.minute = attributes[:'minute'] + end + + if attributes.key?(:'start_time_timezone_offset_minutes') + self.start_time_timezone_offset_minutes = attributes[:'start_time_timezone_offset_minutes'] + end + + if attributes.key?(:'start_time') + self.start_time = attributes[:'start_time'] + end + + if attributes.key?(:'timezone') + self.timezone = attributes[:'timezone'] + end + + if attributes.key?(:'weekdays') + if (value = attributes[:'weekdays']).is_a?(Array) + self.weekdays = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + every == o.every && + every_unit == o.every_unit && + hour == o.hour && + minute == o.minute && + start_time_timezone_offset_minutes == o.start_time_timezone_offset_minutes && + start_time == o.start_time && + timezone == o.timezone && + weekdays == o.weekdays + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [every, every_unit, hour, minute, start_time_timezone_offset_minutes, start_time, timezone, weekdays].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_configuration.rb b/lib/crimson-falcon/models/types_configuration.rb new file mode 100644 index 00000000..769c6672 --- /dev/null +++ b/lib/crimson-falcon/models/types_configuration.rb @@ -0,0 +1,279 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesConfiguration + attr_accessor :address + + attr_accessor :id + + attr_accessor :key + + attr_accessor :secret_manager + + attr_accessor :type + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'address' => :'address', + :'id' => :'id', + :'key' => :'key', + :'secret_manager' => :'secretManager', + :'type' => :'type', + :'value' => :'value' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'address' => :'String', + :'id' => :'Integer', + :'key' => :'String', + :'secret_manager' => :'String', + :'type' => :'String', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesConfiguration` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesConfiguration`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'address') + self.address = attributes[:'address'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'key') + self.key = attributes[:'key'] + end + + if attributes.key?(:'secret_manager') + self.secret_manager = attributes[:'secret_manager'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + address == o.address && + id == o.id && + key == o.key && + secret_manager == o.secret_manager && + type == o.type && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [address, id, key, secret_manager, type, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_create_integration_request.rb b/lib/crimson-falcon/models/types_create_integration_request.rb new file mode 100644 index 00000000..9a651356 --- /dev/null +++ b/lib/crimson-falcon/models/types_create_integration_request.rb @@ -0,0 +1,234 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesCreateIntegrationRequest + attr_accessor :integration + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration' => :'integration' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration' => :'TypesIntegration' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesCreateIntegrationRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesCreateIntegrationRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration') + self.integration = attributes[:'integration'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration == o.integration + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_create_integration_task_request.rb b/lib/crimson-falcon/models/types_create_integration_task_request.rb new file mode 100644 index 00000000..ce9f5a9d --- /dev/null +++ b/lib/crimson-falcon/models/types_create_integration_task_request.rb @@ -0,0 +1,234 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesCreateIntegrationTaskRequest + attr_accessor :integration_task + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration_task' => :'integration_task' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration_task' => :'TypesIntegrationTask' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesCreateIntegrationTaskRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesCreateIntegrationTaskRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration_task') + self.integration_task = attributes[:'integration_task'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration_task == o.integration_task + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration_task].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_crowd_strike_cloud_security_metadata.rb b/lib/crimson-falcon/models/types_crowd_strike_cloud_security_metadata.rb new file mode 100644 index 00000000..758c180c --- /dev/null +++ b/lib/crimson-falcon/models/types_crowd_strike_cloud_security_metadata.rb @@ -0,0 +1,288 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesCrowdStrikeCloudSecurityMetadata + attr_accessor :base_url + + attr_accessor :client_id + + attr_accessor :cloud_provider + + attr_accessor :iom_id + + attr_accessor :policy_id + + attr_accessor :resource_id + + attr_accessor :resource_type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'base_url' => :'baseUrl', + :'client_id' => :'clientId', + :'cloud_provider' => :'cloudProvider', + :'iom_id' => :'iomID', + :'policy_id' => :'policyId', + :'resource_id' => :'resourceId', + :'resource_type' => :'resourceType' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'base_url' => :'String', + :'client_id' => :'String', + :'cloud_provider' => :'String', + :'iom_id' => :'String', + :'policy_id' => :'Integer', + :'resource_id' => :'String', + :'resource_type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesCrowdStrikeCloudSecurityMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesCrowdStrikeCloudSecurityMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'base_url') + self.base_url = attributes[:'base_url'] + end + + if attributes.key?(:'client_id') + self.client_id = attributes[:'client_id'] + end + + if attributes.key?(:'cloud_provider') + self.cloud_provider = attributes[:'cloud_provider'] + end + + if attributes.key?(:'iom_id') + self.iom_id = attributes[:'iom_id'] + end + + if attributes.key?(:'policy_id') + self.policy_id = attributes[:'policy_id'] + end + + if attributes.key?(:'resource_id') + self.resource_id = attributes[:'resource_id'] + end + + if attributes.key?(:'resource_type') + self.resource_type = attributes[:'resource_type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + base_url == o.base_url && + client_id == o.client_id && + cloud_provider == o.cloud_provider && + iom_id == o.iom_id && + policy_id == o.policy_id && + resource_id == o.resource_id && + resource_type == o.resource_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [base_url, client_id, cloud_provider, iom_id, policy_id, resource_id, resource_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_api_entity_matched_v1.rb b/lib/crimson-falcon/models/types_data_type_db_reason_tag.rb similarity index 87% rename from lib/crimson-falcon/models/domain_api_entity_matched_v1.rb rename to lib/crimson-falcon/models/types_data_type_db_reason_tag.rb index c8be2b24..11af4b08 100644 --- a/lib/crimson-falcon/models/domain_api_entity_matched_v1.rb +++ b/lib/crimson-falcon/models/types_data_type_db_reason_tag.rb @@ -31,19 +31,19 @@ require 'time' module Falcon - class DomainAPIEntityMatchedV1 - attr_accessor :asset_id + class TypesDataTypeDbReasonTag + attr_accessor :column_names - attr_accessor :data_provider + attr_accessor :source - attr_accessor :provider_asset_id + attr_accessor :table_names # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'asset_id' => :'asset_id', - :'data_provider' => :'data_provider', - :'provider_asset_id' => :'provider_asset_id' + :'column_names' => :'columnNames', + :'source' => :'source', + :'table_names' => :'tableNames' } end @@ -55,9 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'asset_id' => :'String', - :'data_provider' => :'String', - :'provider_asset_id' => :'String' + :'column_names' => :'Array', + :'source' => :'String', + :'table_names' => :'Array' } end @@ -71,27 +71,31 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainAPIEntityMatchedV1` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesDataTypeDbReasonTag` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainAPIEntityMatchedV1`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesDataTypeDbReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'asset_id') - self.asset_id = attributes[:'asset_id'] + if attributes.key?(:'column_names') + if (value = attributes[:'column_names']).is_a?(Array) + self.column_names = value + end end - if attributes.key?(:'data_provider') - self.data_provider = attributes[:'data_provider'] + if attributes.key?(:'source') + self.source = attributes[:'source'] end - if attributes.key?(:'provider_asset_id') - self.provider_asset_id = attributes[:'provider_asset_id'] + if attributes.key?(:'table_names') + if (value = attributes[:'table_names']).is_a?(Array) + self.table_names = value + end end end @@ -113,9 +117,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - asset_id == o.asset_id && - data_provider == o.data_provider && - provider_asset_id == o.provider_asset_id + column_names == o.column_names && + source == o.source && + table_names == o.table_names end # @see the `==` method @@ -127,7 +131,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [asset_id, data_provider, provider_asset_id].hash + [column_names, source, table_names].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/types_data_type_mq_reason_tag.rb b/lib/crimson-falcon/models/types_data_type_mq_reason_tag.rb new file mode 100644 index 00000000..7bd86b68 --- /dev/null +++ b/lib/crimson-falcon/models/types_data_type_mq_reason_tag.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesDataTypeMqReasonTag + attr_accessor :source + + attr_accessor :topic_names + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'source' => :'source', + :'topic_names' => :'topicNames' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'source' => :'String', + :'topic_names' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesDataTypeMqReasonTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesDataTypeMqReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'source') + self.source = attributes[:'source'] + end + + if attributes.key?(:'topic_names') + if (value = attributes[:'topic_names']).is_a?(Array) + self.topic_names = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + source == o.source && + topic_names == o.topic_names + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [source, topic_names].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_dependency.rb b/lib/crimson-falcon/models/types_dependency.rb new file mode 100644 index 00000000..6dabcc76 --- /dev/null +++ b/lib/crimson-falcon/models/types_dependency.rb @@ -0,0 +1,306 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesDependency + attr_accessor :connection_type + + attr_accessor :direction + + attr_accessor :id + + attr_accessor :interface_count + + attr_accessor :network_interface_count + + attr_accessor :port + + attr_accessor :real_interface_count + + attr_accessor :service + + attr_accessor :technology_type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'connection_type' => :'connectionType', + :'direction' => :'direction', + :'id' => :'id', + :'interface_count' => :'interfaceCount', + :'network_interface_count' => :'networkInterfaceCount', + :'port' => :'port', + :'real_interface_count' => :'realInterfaceCount', + :'service' => :'service', + :'technology_type' => :'technologyType' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'connection_type' => :'String', + :'direction' => :'String', + :'id' => :'Integer', + :'interface_count' => :'Integer', + :'network_interface_count' => :'Integer', + :'port' => :'Integer', + :'real_interface_count' => :'Integer', + :'service' => :'TypesInterfaceService', + :'technology_type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesDependency` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesDependency`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'connection_type') + self.connection_type = attributes[:'connection_type'] + end + + if attributes.key?(:'direction') + self.direction = attributes[:'direction'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'interface_count') + self.interface_count = attributes[:'interface_count'] + end + + if attributes.key?(:'network_interface_count') + self.network_interface_count = attributes[:'network_interface_count'] + end + + if attributes.key?(:'port') + self.port = attributes[:'port'] + end + + if attributes.key?(:'real_interface_count') + self.real_interface_count = attributes[:'real_interface_count'] + end + + if attributes.key?(:'service') + self.service = attributes[:'service'] + end + + if attributes.key?(:'technology_type') + self.technology_type = attributes[:'technology_type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + connection_type == o.connection_type && + direction == o.direction && + id == o.id && + interface_count == o.interface_count && + network_interface_count == o.network_interface_count && + port == o.port && + real_interface_count == o.real_interface_count && + service == o.service && + technology_type == o.technology_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [connection_type, direction, id, interface_count, network_interface_count, port, real_interface_count, service, technology_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_deployment_unit_descriptor.rb b/lib/crimson-falcon/models/types_deployment_unit_descriptor.rb new file mode 100644 index 00000000..1ab76101 --- /dev/null +++ b/lib/crimson-falcon/models/types_deployment_unit_descriptor.rb @@ -0,0 +1,263 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesDeploymentUnitDescriptor + attr_accessor :data + + attr_accessor :related_services + + attr_accessor :type + + attr_accessor :unique_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'data' => :'data', + :'related_services' => :'relatedServices', + :'type' => :'type', + :'unique_id' => :'unique_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'data' => :'TypesStruct', + :'related_services' => :'Array', + :'type' => :'Integer', + :'unique_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesDeploymentUnitDescriptor` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesDeploymentUnitDescriptor`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + + if attributes.key?(:'related_services') + if (value = attributes[:'related_services']).is_a?(Array) + self.related_services = value + end + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'unique_id') + self.unique_id = attributes[:'unique_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data == o.data && + related_services == o.related_services && + type == o.type && + unique_id == o.unique_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [data, related_services, type, unique_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_deployment_unit_service.rb b/lib/crimson-falcon/models/types_deployment_unit_service.rb new file mode 100644 index 00000000..c28d9b2c --- /dev/null +++ b/lib/crimson-falcon/models/types_deployment_unit_service.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesDeploymentUnitService + attr_accessor :id + + attr_accessor :name + + attr_accessor :persistent_signature + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name', + :'persistent_signature' => :'persistentSignature' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'Integer', + :'name' => :'String', + :'persistent_signature' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesDeploymentUnitService` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesDeploymentUnitService`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'persistent_signature') + self.persistent_signature = attributes[:'persistent_signature'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name && + persistent_signature == o.persistent_signature + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, name, persistent_signature].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_deployment_units_tuple_filters.rb b/lib/crimson-falcon/models/types_deployment_units_tuple_filters.rb new file mode 100644 index 00000000..abe21ef5 --- /dev/null +++ b/lib/crimson-falcon/models/types_deployment_units_tuple_filters.rb @@ -0,0 +1,247 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesDeploymentUnitsTupleFilters + attr_accessor :excludes + + attr_accessor :includes + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'excludes' => :'excludes', + :'includes' => :'includes' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'excludes' => :'Array', + :'includes' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesDeploymentUnitsTupleFilters` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesDeploymentUnitsTupleFilters`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'excludes') + if (value = attributes[:'excludes']).is_a?(Array) + self.excludes = value + end + end + + if attributes.key?(:'includes') + if (value = attributes[:'includes']).is_a?(Array) + self.includes = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + excludes == o.excludes && + includes == o.includes + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [excludes, includes].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_ec2_metadata.rb b/lib/crimson-falcon/models/types_ec2_metadata.rb new file mode 100644 index 00000000..eece98ab --- /dev/null +++ b/lib/crimson-falcon/models/types_ec2_metadata.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesEC2Metadata + attr_accessor :instance_id + + attr_accessor :instance_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'instance_id' => :'instance_id', + :'instance_name' => :'instance_name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'instance_id' => :'String', + :'instance_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesEC2Metadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesEC2Metadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'instance_id') + self.instance_id = attributes[:'instance_id'] + end + + if attributes.key?(:'instance_name') + self.instance_name = attributes[:'instance_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + instance_id == o.instance_id && + instance_name == o.instance_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [instance_id, instance_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_ecs_metadata.rb b/lib/crimson-falcon/models/types_ecs_metadata.rb new file mode 100644 index 00000000..1c436486 --- /dev/null +++ b/lib/crimson-falcon/models/types_ecs_metadata.rb @@ -0,0 +1,270 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesECSMetadata + attr_accessor :cluster_name + + attr_accessor :collection_method + + attr_accessor :resource_arn + + attr_accessor :resource_name + + attr_accessor :resource_type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cluster_name' => :'clusterName', + :'collection_method' => :'collectionMethod', + :'resource_arn' => :'resourceArn', + :'resource_name' => :'resourceName', + :'resource_type' => :'resourceType' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cluster_name' => :'String', + :'collection_method' => :'Integer', + :'resource_arn' => :'String', + :'resource_name' => :'String', + :'resource_type' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesECSMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesECSMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cluster_name') + self.cluster_name = attributes[:'cluster_name'] + end + + if attributes.key?(:'collection_method') + self.collection_method = attributes[:'collection_method'] + end + + if attributes.key?(:'resource_arn') + self.resource_arn = attributes[:'resource_arn'] + end + + if attributes.key?(:'resource_name') + self.resource_name = attributes[:'resource_name'] + end + + if attributes.key?(:'resource_type') + self.resource_type = attributes[:'resource_type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cluster_name == o.cluster_name && + collection_method == o.collection_method && + resource_arn == o.resource_arn && + resource_name == o.resource_name && + resource_type == o.resource_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cluster_name, collection_method, resource_arn, resource_name, resource_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_edit_tag_request.rb b/lib/crimson-falcon/models/types_edit_tag_request.rb new file mode 100644 index 00000000..6c9bfc48 --- /dev/null +++ b/lib/crimson-falcon/models/types_edit_tag_request.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesEditTagRequest + attr_accessor :entries + + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'entries' => :'entries', + :'name' => :'name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'entries' => :'Array', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesEditTagRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesEditTagRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'entries') + if (value = attributes[:'entries']).is_a?(Array) + self.entries = value + end + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @entries.nil? + invalid_properties.push('invalid value for "entries", entries cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @entries.nil? + return false if @name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + entries == o.entries && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [entries, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_edit_unique_tag_request.rb b/lib/crimson-falcon/models/types_edit_unique_tag_request.rb new file mode 100644 index 00000000..c1c666a4 --- /dev/null +++ b/lib/crimson-falcon/models/types_edit_unique_tag_request.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesEditUniqueTagRequest + attr_accessor :entries + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'entries' => :'entries' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'entries' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesEditUniqueTagRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesEditUniqueTagRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'entries') + if (value = attributes[:'entries']).is_a?(Array) + self.entries = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @entries.nil? + invalid_properties.push('invalid value for "entries", entries cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @entries.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + entries == o.entries + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [entries].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_matched_rule.rb b/lib/crimson-falcon/models/types_error_message.rb similarity index 88% rename from lib/crimson-falcon/models/domain_matched_rule.rb rename to lib/crimson-falcon/models/types_error_message.rb index ddc417ab..d72bb987 100644 --- a/lib/crimson-falcon/models/domain_matched_rule.rb +++ b/lib/crimson-falcon/models/types_error_message.rb @@ -31,22 +31,16 @@ require 'time' module Falcon - class DomainMatchedRule - # The customer ID - attr_accessor :customer_id + class TypesErrorMessage + attr_accessor :error - # The matched rule hit ID - attr_accessor :hit_id - - # The matched rule ID - attr_accessor :rule_id + attr_accessor :reason # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'customer_id' => :'customer_id', - :'hit_id' => :'hit_id', - :'rule_id' => :'rule_id' + :'error' => :'error', + :'reason' => :'reason' } end @@ -58,9 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'customer_id' => :'String', - :'hit_id' => :'String', - :'rule_id' => :'String' + :'error' => :'String', + :'reason' => :'String' } end @@ -74,27 +67,23 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainMatchedRule` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesErrorMessage` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainMatchedRule`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesErrorMessage`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'customer_id') - self.customer_id = attributes[:'customer_id'] - end - - if attributes.key?(:'hit_id') - self.hit_id = attributes[:'hit_id'] + if attributes.key?(:'error') + self.error = attributes[:'error'] end - if attributes.key?(:'rule_id') - self.rule_id = attributes[:'rule_id'] + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] end end @@ -102,12 +91,22 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new + if @error.nil? + invalid_properties.push('invalid value for "error", error cannot be nil.') + end + + if @reason.nil? + invalid_properties.push('invalid value for "reason", reason cannot be nil.') + end + invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? + return false if @error.nil? + return false if @reason.nil? true end @@ -116,9 +115,8 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - customer_id == o.customer_id && - hit_id == o.hit_id && - rule_id == o.rule_id + error == o.error && + reason == o.reason end # @see the `==` method @@ -130,7 +128,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [customer_id, hit_id, rule_id].hash + [error, reason].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/types_executor_node.rb b/lib/crimson-falcon/models/types_executor_node.rb new file mode 100644 index 00000000..756763df --- /dev/null +++ b/lib/crimson-falcon/models/types_executor_node.rb @@ -0,0 +1,342 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesExecutorNode + attr_accessor :additional_header + + attr_accessor :current_aws_arn + + attr_accessor :dashboard_url + + attr_accessor :id + + attr_accessor :last_health_check + + attr_accessor :name + + attr_accessor :node_type + + attr_accessor :password + + attr_accessor :pod_settings + + attr_accessor :proxy_address + + attr_accessor :type + + attr_accessor :use_jobs + + attr_accessor :username + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'additional_header' => :'additional_header', + :'current_aws_arn' => :'current_aws_arn', + :'dashboard_url' => :'dashboard_url', + :'id' => :'id', + :'last_health_check' => :'last_health_check', + :'name' => :'name', + :'node_type' => :'node_type', + :'password' => :'password', + :'pod_settings' => :'pod_settings', + :'proxy_address' => :'proxy_address', + :'type' => :'type', + :'use_jobs' => :'useJobs', + :'username' => :'username' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'additional_header' => :'String', + :'current_aws_arn' => :'String', + :'dashboard_url' => :'String', + :'id' => :'Integer', + :'last_health_check' => :'Integer', + :'name' => :'String', + :'node_type' => :'String', + :'password' => :'String', + :'pod_settings' => :'TypesK8SPodSettings', + :'proxy_address' => :'String', + :'type' => :'String', + :'use_jobs' => :'Boolean', + :'username' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesExecutorNode` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesExecutorNode`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'additional_header') + self.additional_header = attributes[:'additional_header'] + end + + if attributes.key?(:'current_aws_arn') + self.current_aws_arn = attributes[:'current_aws_arn'] + end + + if attributes.key?(:'dashboard_url') + self.dashboard_url = attributes[:'dashboard_url'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'last_health_check') + self.last_health_check = attributes[:'last_health_check'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'node_type') + self.node_type = attributes[:'node_type'] + end + + if attributes.key?(:'password') + self.password = attributes[:'password'] + end + + if attributes.key?(:'pod_settings') + self.pod_settings = attributes[:'pod_settings'] + end + + if attributes.key?(:'proxy_address') + self.proxy_address = attributes[:'proxy_address'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'use_jobs') + self.use_jobs = attributes[:'use_jobs'] + end + + if attributes.key?(:'username') + self.username = attributes[:'username'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + additional_header == o.additional_header && + current_aws_arn == o.current_aws_arn && + dashboard_url == o.dashboard_url && + id == o.id && + last_health_check == o.last_health_check && + name == o.name && + node_type == o.node_type && + password == o.password && + pod_settings == o.pod_settings && + proxy_address == o.proxy_address && + type == o.type && + use_jobs == o.use_jobs && + username == o.username + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [additional_header, current_aws_arn, dashboard_url, id, last_health_check, name, node_type, password, pod_settings, proxy_address, type, use_jobs, username].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_framework.rb b/lib/crimson-falcon/models/types_framework.rb new file mode 100644 index 00000000..bfef3d00 --- /dev/null +++ b/lib/crimson-falcon/models/types_framework.rb @@ -0,0 +1,272 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesFramework + attr_accessor :accessing_elements + + attr_accessor :domain + + attr_accessor :id + + attr_accessor :name + + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'accessing_elements' => :'accessingElements', + :'domain' => :'domain', + :'id' => :'id', + :'name' => :'name', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'accessing_elements' => :'Array', + :'domain' => :'String', + :'id' => :'Integer', + :'name' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesFramework` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesFramework`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'accessing_elements') + if (value = attributes[:'accessing_elements']).is_a?(Array) + self.accessing_elements = value + end + end + + if attributes.key?(:'domain') + self.domain = attributes[:'domain'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + accessing_elements == o.accessing_elements && + domain == o.domain && + id == o.id && + name == o.name && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [accessing_elements, domain, id, name, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_gcp_metadata.rb b/lib/crimson-falcon/models/types_gcp_metadata.rb new file mode 100644 index 00000000..db27dd8a --- /dev/null +++ b/lib/crimson-falcon/models/types_gcp_metadata.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesGCPMetadata + attr_accessor :project + + attr_accessor :region + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'project' => :'project', + :'region' => :'region' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'project' => :'String', + :'region' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesGCPMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesGCPMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'project') + self.project = attributes[:'project'] + end + + if attributes.key?(:'region') + self.region = attributes[:'region'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + project == o.project && + region == o.region + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [project, region].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_generic_user_facing_request.rb b/lib/crimson-falcon/models/types_generic_user_facing_request.rb new file mode 100644 index 00000000..828a5cfe --- /dev/null +++ b/lib/crimson-falcon/models/types_generic_user_facing_request.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesGenericUserFacingRequest + attr_accessor :filter + + attr_accessor :optional_time + + attr_accessor :revision_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'filter' => :'filter', + :'optional_time' => :'optionalTime', + :'revision_id' => :'revisionId' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'filter' => :'TypesResultsFilter', + :'optional_time' => :'Integer', + :'revision_id' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesGenericUserFacingRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesGenericUserFacingRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'filter') + self.filter = attributes[:'filter'] + end + + if attributes.key?(:'optional_time') + self.optional_time = attributes[:'optional_time'] + end + + if attributes.key?(:'revision_id') + self.revision_id = attributes[:'revision_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + filter == o.filter && + optional_time == o.optional_time && + revision_id == o.revision_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [filter, optional_time, revision_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_get_services_related_entity.rb b/lib/crimson-falcon/models/types_get_services_related_entity.rb new file mode 100644 index 00000000..43cfdef8 --- /dev/null +++ b/lib/crimson-falcon/models/types_get_services_related_entity.rb @@ -0,0 +1,261 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesGetServicesRelatedEntity + attr_accessor :aggregation_type + + attr_accessor :entity_type + + attr_accessor :filters + + attr_accessor :group_by_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'aggregation_type' => :'aggregation_type', + :'entity_type' => :'entity_type', + :'filters' => :'filters', + :'group_by_fields' => :'groupByFields' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'aggregation_type' => :'Integer', + :'entity_type' => :'Integer', + :'filters' => :'TypesGetServicesRelatedEntityFilters', + :'group_by_fields' => :'TypesGetServicesRelatedEntityGroupByFields' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesGetServicesRelatedEntity` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesGetServicesRelatedEntity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'aggregation_type') + self.aggregation_type = attributes[:'aggregation_type'] + end + + if attributes.key?(:'entity_type') + self.entity_type = attributes[:'entity_type'] + end + + if attributes.key?(:'filters') + self.filters = attributes[:'filters'] + end + + if attributes.key?(:'group_by_fields') + self.group_by_fields = attributes[:'group_by_fields'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + aggregation_type == o.aggregation_type && + entity_type == o.entity_type && + filters == o.filters && + group_by_fields == o.group_by_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [aggregation_type, entity_type, filters, group_by_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_get_services_related_entity_filters.rb b/lib/crimson-falcon/models/types_get_services_related_entity_filters.rb new file mode 100644 index 00000000..0c3473e1 --- /dev/null +++ b/lib/crimson-falcon/models/types_get_services_related_entity_filters.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesGetServicesRelatedEntityFilters + attr_accessor :include_du_services + + attr_accessor :only_du_types + + attr_accessor :only_get_brokers + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'include_du_services' => :'include_du_services', + :'only_du_types' => :'only_du_types', + :'only_get_brokers' => :'only_get_brokers' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'include_du_services' => :'Boolean', + :'only_du_types' => :'Boolean', + :'only_get_brokers' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesGetServicesRelatedEntityFilters` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesGetServicesRelatedEntityFilters`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'include_du_services') + self.include_du_services = attributes[:'include_du_services'] + end + + if attributes.key?(:'only_du_types') + self.only_du_types = attributes[:'only_du_types'] + end + + if attributes.key?(:'only_get_brokers') + self.only_get_brokers = attributes[:'only_get_brokers'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + include_du_services == o.include_du_services && + only_du_types == o.only_du_types && + only_get_brokers == o.only_get_brokers + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [include_du_services, only_du_types, only_get_brokers].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_get_services_related_entity_group_by_fields.rb b/lib/crimson-falcon/models/types_get_services_related_entity_group_by_fields.rb new file mode 100644 index 00000000..fc7c26e3 --- /dev/null +++ b/lib/crimson-falcon/models/types_get_services_related_entity_group_by_fields.rb @@ -0,0 +1,236 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesGetServicesRelatedEntityGroupByFields + attr_accessor :fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'fields' => :'fields' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'fields' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesGetServicesRelatedEntityGroupByFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesGetServicesRelatedEntityGroupByFields`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'fields') + if (value = attributes[:'fields']).is_a?(Array) + self.fields = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + fields == o.fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_get_services_request.rb b/lib/crimson-falcon/models/types_get_services_request.rb new file mode 100644 index 00000000..05b3def4 --- /dev/null +++ b/lib/crimson-falcon/models/types_get_services_request.rb @@ -0,0 +1,321 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesGetServicesRequest + attr_accessor :deployment_tuple_filters + + attr_accessor :nesting_level + + attr_accessor :only_count + + attr_accessor :optional_time + + attr_accessor :pagination + + attr_accessor :persistent_signatures + + attr_accessor :ql_filters + + attr_accessor :related_entities + + attr_accessor :revision_id + + attr_accessor :roles_signature + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'deployment_tuple_filters' => :'deploymentTupleFilters', + :'nesting_level' => :'nestingLevel', + :'only_count' => :'onlyCount', + :'optional_time' => :'optionalTime', + :'pagination' => :'pagination', + :'persistent_signatures' => :'persistentSignatures', + :'ql_filters' => :'qlFilters', + :'related_entities' => :'relatedEntities', + :'revision_id' => :'revisionId', + :'roles_signature' => :'rolesSignature' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'deployment_tuple_filters' => :'Array', + :'nesting_level' => :'Integer', + :'only_count' => :'Boolean', + :'optional_time' => :'Integer', + :'pagination' => :'TypesPagination', + :'persistent_signatures' => :'Array', + :'ql_filters' => :'String', + :'related_entities' => :'Array', + :'revision_id' => :'Integer', + :'roles_signature' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesGetServicesRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesGetServicesRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'deployment_tuple_filters') + if (value = attributes[:'deployment_tuple_filters']).is_a?(Array) + self.deployment_tuple_filters = value + end + end + + if attributes.key?(:'nesting_level') + self.nesting_level = attributes[:'nesting_level'] + end + + if attributes.key?(:'only_count') + self.only_count = attributes[:'only_count'] + end + + if attributes.key?(:'optional_time') + self.optional_time = attributes[:'optional_time'] + end + + if attributes.key?(:'pagination') + self.pagination = attributes[:'pagination'] + end + + if attributes.key?(:'persistent_signatures') + if (value = attributes[:'persistent_signatures']).is_a?(Array) + self.persistent_signatures = value + end + end + + if attributes.key?(:'ql_filters') + self.ql_filters = attributes[:'ql_filters'] + end + + if attributes.key?(:'related_entities') + if (value = attributes[:'related_entities']).is_a?(Array) + self.related_entities = value + end + end + + if attributes.key?(:'revision_id') + self.revision_id = attributes[:'revision_id'] + end + + if attributes.key?(:'roles_signature') + self.roles_signature = attributes[:'roles_signature'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + deployment_tuple_filters == o.deployment_tuple_filters && + nesting_level == o.nesting_level && + only_count == o.only_count && + optional_time == o.optional_time && + pagination == o.pagination && + persistent_signatures == o.persistent_signatures && + ql_filters == o.ql_filters && + related_entities == o.related_entities && + revision_id == o.revision_id && + roles_signature == o.roles_signature + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [deployment_tuple_filters, nesting_level, only_count, optional_time, pagination, persistent_signatures, ql_filters, related_entities, revision_id, roles_signature].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_get_violation_types_response.rb b/lib/crimson-falcon/models/types_get_violation_types_response.rb new file mode 100644 index 00000000..8aa2945f --- /dev/null +++ b/lib/crimson-falcon/models/types_get_violation_types_response.rb @@ -0,0 +1,247 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesGetViolationTypesResponse + attr_accessor :categories + + attr_accessor :violations + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'categories' => :'categories', + :'violations' => :'violations' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'categories' => :'Array', + :'violations' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesGetViolationTypesResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesGetViolationTypesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'categories') + if (value = attributes[:'categories']).is_a?(Array) + self.categories = value + end + end + + if attributes.key?(:'violations') + if (value = attributes[:'violations']).is_a?(Array) + self.violations = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + categories == o.categories && + violations == o.violations + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [categories, violations].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_host_metadata.rb b/lib/crimson-falcon/models/types_host_metadata.rb new file mode 100644 index 00000000..5a541b95 --- /dev/null +++ b/lib/crimson-falcon/models/types_host_metadata.rb @@ -0,0 +1,234 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesHostMetadata + attr_accessor :address + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'address' => :'address' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'address' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesHostMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesHostMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'address') + self.address = attributes[:'address'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + address == o.address + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [address].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_integration.rb b/lib/crimson-falcon/models/types_integration.rb new file mode 100644 index 00000000..58fb0123 --- /dev/null +++ b/lib/crimson-falcon/models/types_integration.rb @@ -0,0 +1,297 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesIntegration + attr_accessor :data + + attr_accessor :enabled + + attr_accessor :id + + attr_accessor :integration_type + + attr_accessor :name + + attr_accessor :node + + attr_accessor :type + + attr_accessor :update_time + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'data' => :'data', + :'enabled' => :'enabled', + :'id' => :'id', + :'integration_type' => :'integration_type', + :'name' => :'name', + :'node' => :'node', + :'type' => :'type', + :'update_time' => :'update_time' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'data' => :'String', + :'enabled' => :'Boolean', + :'id' => :'Integer', + :'integration_type' => :'TypesIntegrationType', + :'name' => :'String', + :'node' => :'TypesExecutorNode', + :'type' => :'TypesIntegrationType', + :'update_time' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesIntegration` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesIntegration`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'integration_type') + self.integration_type = attributes[:'integration_type'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'node') + self.node = attributes[:'node'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'update_time') + self.update_time = attributes[:'update_time'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data == o.data && + enabled == o.enabled && + id == o.id && + integration_type == o.integration_type && + name == o.name && + node == o.node && + type == o.type && + update_time == o.update_time + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [data, enabled, id, integration_type, name, node, type, update_time].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_integration_response.rb b/lib/crimson-falcon/models/types_integration_response.rb new file mode 100644 index 00000000..0de91a01 --- /dev/null +++ b/lib/crimson-falcon/models/types_integration_response.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesIntegrationResponse + attr_accessor :integration + + attr_accessor :new_executor_node + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration' => :'integration', + :'new_executor_node' => :'new_executor_node' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration' => :'TypesIntegration', + :'new_executor_node' => :'TypesExecutorNode' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesIntegrationResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesIntegrationResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration') + self.integration = attributes[:'integration'] + end + + if attributes.key?(:'new_executor_node') + self.new_executor_node = attributes[:'new_executor_node'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration == o.integration && + new_executor_node == o.new_executor_node + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration, new_executor_node].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_integration_task.rb b/lib/crimson-falcon/models/types_integration_task.rb new file mode 100644 index 00000000..5a66c60e --- /dev/null +++ b/lib/crimson-falcon/models/types_integration_task.rb @@ -0,0 +1,369 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesIntegrationTask + attr_accessor :access_token + + attr_accessor :additional_header + + attr_accessor :business_application + + attr_accessor :data + + attr_accessor :enabled + + attr_accessor :id + + attr_accessor :integration + + attr_accessor :integration_task_type + + attr_accessor :latest_task_run + + attr_accessor :name + + attr_accessor :next_run + + attr_accessor :progress + + attr_accessor :schedule + + attr_accessor :schedule_every_unit_display_name + + attr_accessor :trigger + + attr_accessor :type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'access_token' => :'access_token', + :'additional_header' => :'additional_header', + :'business_application' => :'business_application', + :'data' => :'data', + :'enabled' => :'enabled', + :'id' => :'id', + :'integration' => :'integration', + :'integration_task_type' => :'integration_task_type', + :'latest_task_run' => :'latest_task_run', + :'name' => :'name', + :'next_run' => :'next_run', + :'progress' => :'progress', + :'schedule' => :'schedule', + :'schedule_every_unit_display_name' => :'schedule_every_unit_display_name', + :'trigger' => :'trigger', + :'type' => :'type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'access_token' => :'String', + :'additional_header' => :'String', + :'business_application' => :'String', + :'data' => :'String', + :'enabled' => :'Boolean', + :'id' => :'Integer', + :'integration' => :'TypesIntegration', + :'integration_task_type' => :'TypesIntegrationTaskType', + :'latest_task_run' => :'TypesActionRun', + :'name' => :'String', + :'next_run' => :'TypesTimestamp', + :'progress' => :'Integer', + :'schedule' => :'TypesComposedSchedule', + :'schedule_every_unit_display_name' => :'String', + :'trigger' => :'String', + :'type' => :'TypesIntegrationTaskType' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesIntegrationTask` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesIntegrationTask`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'access_token') + self.access_token = attributes[:'access_token'] + end + + if attributes.key?(:'additional_header') + self.additional_header = attributes[:'additional_header'] + end + + if attributes.key?(:'business_application') + self.business_application = attributes[:'business_application'] + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'integration') + self.integration = attributes[:'integration'] + end + + if attributes.key?(:'integration_task_type') + self.integration_task_type = attributes[:'integration_task_type'] + end + + if attributes.key?(:'latest_task_run') + self.latest_task_run = attributes[:'latest_task_run'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'next_run') + self.next_run = attributes[:'next_run'] + end + + if attributes.key?(:'progress') + self.progress = attributes[:'progress'] + end + + if attributes.key?(:'schedule') + self.schedule = attributes[:'schedule'] + end + + if attributes.key?(:'schedule_every_unit_display_name') + self.schedule_every_unit_display_name = attributes[:'schedule_every_unit_display_name'] + end + + if attributes.key?(:'trigger') + self.trigger = attributes[:'trigger'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + access_token == o.access_token && + additional_header == o.additional_header && + business_application == o.business_application && + data == o.data && + enabled == o.enabled && + id == o.id && + integration == o.integration && + integration_task_type == o.integration_task_type && + latest_task_run == o.latest_task_run && + name == o.name && + next_run == o.next_run && + progress == o.progress && + schedule == o.schedule && + schedule_every_unit_display_name == o.schedule_every_unit_display_name && + trigger == o.trigger && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [access_token, additional_header, business_application, data, enabled, id, integration, integration_task_type, latest_task_run, name, next_run, progress, schedule, schedule_every_unit_display_name, trigger, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_integration_task_response.rb b/lib/crimson-falcon/models/types_integration_task_response.rb new file mode 100644 index 00000000..d883e0f0 --- /dev/null +++ b/lib/crimson-falcon/models/types_integration_task_response.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesIntegrationTaskResponse + attr_accessor :integration_task + + attr_accessor :new_executor_node + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration_task' => :'integration_task', + :'new_executor_node' => :'new_executor_node' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration_task' => :'TypesIntegrationTask', + :'new_executor_node' => :'TypesExecutorNode' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesIntegrationTaskResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesIntegrationTaskResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration_task') + self.integration_task = attributes[:'integration_task'] + end + + if attributes.key?(:'new_executor_node') + self.new_executor_node = attributes[:'new_executor_node'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration_task == o.integration_task && + new_executor_node == o.new_executor_node + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration_task, new_executor_node].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_integration_task_test_connection_response.rb b/lib/crimson-falcon/models/types_integration_task_test_connection_response.rb new file mode 100644 index 00000000..0280a6f5 --- /dev/null +++ b/lib/crimson-falcon/models/types_integration_task_test_connection_response.rb @@ -0,0 +1,234 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesIntegrationTaskTestConnectionResponse + attr_accessor :action_run_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'action_run_id' => :'action_run_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'action_run_id' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesIntegrationTaskTestConnectionResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesIntegrationTaskTestConnectionResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'action_run_id') + self.action_run_id = attributes[:'action_run_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + action_run_id == o.action_run_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [action_run_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_integration_task_type.rb b/lib/crimson-falcon/models/types_integration_task_type.rb new file mode 100644 index 00000000..cf5bfa1c --- /dev/null +++ b/lib/crimson-falcon/models/types_integration_task_type.rb @@ -0,0 +1,281 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesIntegrationTaskType + attr_accessor :category + + attr_accessor :display_name + + attr_accessor :enabled + + attr_accessor :id + + attr_accessor :name + + attr_accessor :required_integration_types + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'category' => :'category', + :'display_name' => :'display_name', + :'enabled' => :'enabled', + :'id' => :'id', + :'name' => :'name', + :'required_integration_types' => :'required_integration_types' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'category' => :'String', + :'display_name' => :'String', + :'enabled' => :'Boolean', + :'id' => :'Integer', + :'name' => :'String', + :'required_integration_types' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesIntegrationTaskType` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesIntegrationTaskType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'category') + self.category = attributes[:'category'] + end + + if attributes.key?(:'display_name') + self.display_name = attributes[:'display_name'] + end + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'required_integration_types') + if (value = attributes[:'required_integration_types']).is_a?(Array) + self.required_integration_types = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + category == o.category && + display_name == o.display_name && + enabled == o.enabled && + id == o.id && + name == o.name && + required_integration_types == o.required_integration_types + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [category, display_name, enabled, id, name, required_integration_types].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_integration_type.rb b/lib/crimson-falcon/models/types_integration_type.rb new file mode 100644 index 00000000..608097c1 --- /dev/null +++ b/lib/crimson-falcon/models/types_integration_type.rb @@ -0,0 +1,270 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesIntegrationType + attr_accessor :configured + + attr_accessor :display_name + + attr_accessor :enabled + + attr_accessor :id + + attr_accessor :name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'configured' => :'configured', + :'display_name' => :'display_name', + :'enabled' => :'enabled', + :'id' => :'id', + :'name' => :'name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'configured' => :'Boolean', + :'display_name' => :'String', + :'enabled' => :'Boolean', + :'id' => :'Integer', + :'name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesIntegrationType` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesIntegrationType`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'configured') + self.configured = attributes[:'configured'] + end + + if attributes.key?(:'display_name') + self.display_name = attributes[:'display_name'] + end + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + configured == o.configured && + display_name == o.display_name && + enabled == o.enabled && + id == o.id && + name == o.name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [configured, display_name, enabled, id, name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_interface.rb b/lib/crimson-falcon/models/types_interface.rb new file mode 100644 index 00000000..d2af9afb --- /dev/null +++ b/lib/crimson-falcon/models/types_interface.rb @@ -0,0 +1,548 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesInterface + attr_accessor :properties + + attr_accessor :accessing_methods + + attr_accessor :bean_class_name + + attr_accessor :bean_name + + attr_accessor :broker_host + + attr_accessor :broker_port + + attr_accessor :catalog + + attr_accessor :columns + + attr_accessor :consumes + + attr_accessor :database + + attr_accessor :direction + + attr_accessor :driver + + attr_accessor :durable_subscription + + attr_accessor :ejb_version + + attr_accessor :framework + + attr_accessor :has_password + + attr_accessor :id + + attr_accessor :interface_name + + attr_accessor :method + + attr_accessor :path + + attr_accessor :port + + attr_accessor :port_type + + attr_accessor :produces + + attr_accessor :provider + + attr_accessor :pu_name + + attr_accessor :schema + + attr_accessor :services + + attr_accessor :session_type + + attr_accessor :table + + attr_accessor :technology + + attr_accessor :topic + + attr_accessor :topic_type + + attr_accessor :type + + attr_accessor :username + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'properties' => :'Properties', + :'accessing_methods' => :'accessingMethods', + :'bean_class_name' => :'beanClassName', + :'bean_name' => :'beanName', + :'broker_host' => :'brokerHost', + :'broker_port' => :'brokerPort', + :'catalog' => :'catalog', + :'columns' => :'columns', + :'consumes' => :'consumes', + :'database' => :'database', + :'direction' => :'direction', + :'driver' => :'driver', + :'durable_subscription' => :'durableSubscription', + :'ejb_version' => :'ejbVersion', + :'framework' => :'framework', + :'has_password' => :'hasPassword', + :'id' => :'id', + :'interface_name' => :'interfaceName', + :'method' => :'method', + :'path' => :'path', + :'port' => :'port', + :'port_type' => :'portType', + :'produces' => :'produces', + :'provider' => :'provider', + :'pu_name' => :'puName', + :'schema' => :'schema', + :'services' => :'services', + :'session_type' => :'sessionType', + :'table' => :'table', + :'technology' => :'technology', + :'topic' => :'topic', + :'topic_type' => :'topicType', + :'type' => :'type', + :'username' => :'username' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'properties' => :'Hash', + :'accessing_methods' => :'Array', + :'bean_class_name' => :'String', + :'bean_name' => :'String', + :'broker_host' => :'String', + :'broker_port' => :'Integer', + :'catalog' => :'String', + :'columns' => :'Array', + :'consumes' => :'Array', + :'database' => :'String', + :'direction' => :'String', + :'driver' => :'String', + :'durable_subscription' => :'String', + :'ejb_version' => :'String', + :'framework' => :'String', + :'has_password' => :'Boolean', + :'id' => :'Integer', + :'interface_name' => :'String', + :'method' => :'String', + :'path' => :'String', + :'port' => :'Integer', + :'port_type' => :'String', + :'produces' => :'Array', + :'provider' => :'String', + :'pu_name' => :'String', + :'schema' => :'String', + :'services' => :'Array', + :'session_type' => :'String', + :'table' => :'String', + :'technology' => :'String', + :'topic' => :'String', + :'topic_type' => :'String', + :'type' => :'String', + :'username' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesInterface` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesInterface`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'properties') + if (value = attributes[:'properties']).is_a?(Hash) + self.properties = value + end + end + + if attributes.key?(:'accessing_methods') + if (value = attributes[:'accessing_methods']).is_a?(Array) + self.accessing_methods = value + end + end + + if attributes.key?(:'bean_class_name') + self.bean_class_name = attributes[:'bean_class_name'] + end + + if attributes.key?(:'bean_name') + self.bean_name = attributes[:'bean_name'] + end + + if attributes.key?(:'broker_host') + self.broker_host = attributes[:'broker_host'] + end + + if attributes.key?(:'broker_port') + self.broker_port = attributes[:'broker_port'] + end + + if attributes.key?(:'catalog') + self.catalog = attributes[:'catalog'] + end + + if attributes.key?(:'columns') + if (value = attributes[:'columns']).is_a?(Array) + self.columns = value + end + end + + if attributes.key?(:'consumes') + if (value = attributes[:'consumes']).is_a?(Array) + self.consumes = value + end + end + + if attributes.key?(:'database') + self.database = attributes[:'database'] + end + + if attributes.key?(:'direction') + self.direction = attributes[:'direction'] + end + + if attributes.key?(:'driver') + self.driver = attributes[:'driver'] + end + + if attributes.key?(:'durable_subscription') + self.durable_subscription = attributes[:'durable_subscription'] + end + + if attributes.key?(:'ejb_version') + self.ejb_version = attributes[:'ejb_version'] + end + + if attributes.key?(:'framework') + self.framework = attributes[:'framework'] + end + + if attributes.key?(:'has_password') + self.has_password = attributes[:'has_password'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'interface_name') + self.interface_name = attributes[:'interface_name'] + end + + if attributes.key?(:'method') + self.method = attributes[:'method'] + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + end + + if attributes.key?(:'port') + self.port = attributes[:'port'] + end + + if attributes.key?(:'port_type') + self.port_type = attributes[:'port_type'] + end + + if attributes.key?(:'produces') + if (value = attributes[:'produces']).is_a?(Array) + self.produces = value + end + end + + if attributes.key?(:'provider') + self.provider = attributes[:'provider'] + end + + if attributes.key?(:'pu_name') + self.pu_name = attributes[:'pu_name'] + end + + if attributes.key?(:'schema') + self.schema = attributes[:'schema'] + end + + if attributes.key?(:'services') + if (value = attributes[:'services']).is_a?(Array) + self.services = value + end + end + + if attributes.key?(:'session_type') + self.session_type = attributes[:'session_type'] + end + + if attributes.key?(:'table') + self.table = attributes[:'table'] + end + + if attributes.key?(:'technology') + self.technology = attributes[:'technology'] + end + + if attributes.key?(:'topic') + self.topic = attributes[:'topic'] + end + + if attributes.key?(:'topic_type') + self.topic_type = attributes[:'topic_type'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'username') + self.username = attributes[:'username'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @properties.nil? + invalid_properties.push('invalid value for "properties", properties cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @properties.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + properties == o.properties && + accessing_methods == o.accessing_methods && + bean_class_name == o.bean_class_name && + bean_name == o.bean_name && + broker_host == o.broker_host && + broker_port == o.broker_port && + catalog == o.catalog && + columns == o.columns && + consumes == o.consumes && + database == o.database && + direction == o.direction && + driver == o.driver && + durable_subscription == o.durable_subscription && + ejb_version == o.ejb_version && + framework == o.framework && + has_password == o.has_password && + id == o.id && + interface_name == o.interface_name && + method == o.method && + path == o.path && + port == o.port && + port_type == o.port_type && + produces == o.produces && + provider == o.provider && + pu_name == o.pu_name && + schema == o.schema && + services == o.services && + session_type == o.session_type && + table == o.table && + technology == o.technology && + topic == o.topic && + topic_type == o.topic_type && + type == o.type && + username == o.username + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [properties, accessing_methods, bean_class_name, bean_name, broker_host, broker_port, catalog, columns, consumes, database, direction, driver, durable_subscription, ejb_version, framework, has_password, id, interface_name, method, path, port, port_type, produces, provider, pu_name, schema, services, session_type, table, technology, topic, topic_type, type, username].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_interface_service.rb b/lib/crimson-falcon/models/types_interface_service.rb new file mode 100644 index 00000000..ad3a9fc0 --- /dev/null +++ b/lib/crimson-falcon/models/types_interface_service.rb @@ -0,0 +1,263 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesInterfaceService + attr_accessor :id + + attr_accessor :name + + attr_accessor :persistent_signature + + attr_accessor :tags + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name', + :'persistent_signature' => :'persistentSignature', + :'tags' => :'tags' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'Integer', + :'name' => :'String', + :'persistent_signature' => :'String', + :'tags' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesInterfaceService` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesInterfaceService`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'persistent_signature') + self.persistent_signature = attributes[:'persistent_signature'] + end + + if attributes.key?(:'tags') + if (value = attributes[:'tags']).is_a?(Array) + self.tags = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name && + persistent_signature == o.persistent_signature && + tags == o.tags + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, name, persistent_signature, tags].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_k8_s_load_balancer_reason_tag.rb b/lib/crimson-falcon/models/types_k8_s_load_balancer_reason_tag.rb new file mode 100644 index 00000000..8697294c --- /dev/null +++ b/lib/crimson-falcon/models/types_k8_s_load_balancer_reason_tag.rb @@ -0,0 +1,263 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesK8SLoadBalancerReasonTag + attr_accessor :lb_address + + attr_accessor :path + + attr_accessor :ports + + attr_accessor :reason + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'lb_address' => :'lbAddress', + :'path' => :'path', + :'ports' => :'ports', + :'reason' => :'reason' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'lb_address' => :'String', + :'path' => :'String', + :'ports' => :'Array', + :'reason' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesK8SLoadBalancerReasonTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesK8SLoadBalancerReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'lb_address') + self.lb_address = attributes[:'lb_address'] + end + + if attributes.key?(:'path') + self.path = attributes[:'path'] + end + + if attributes.key?(:'ports') + if (value = attributes[:'ports']).is_a?(Array) + self.ports = value + end + end + + if attributes.key?(:'reason') + self.reason = attributes[:'reason'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + lb_address == o.lb_address && + path == o.path && + ports == o.ports && + reason == o.reason + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [lb_address, path, ports, reason].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_k8_s_metadata.rb b/lib/crimson-falcon/models/types_k8_s_metadata.rb new file mode 100644 index 00000000..6b158cf0 --- /dev/null +++ b/lib/crimson-falcon/models/types_k8_s_metadata.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesK8SMetadata + attr_accessor :container + + attr_accessor :namespace + + attr_accessor :pod_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'container' => :'container', + :'namespace' => :'namespace', + :'pod_name' => :'pod_name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'container' => :'String', + :'namespace' => :'String', + :'pod_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesK8SMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesK8SMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'container') + self.container = attributes[:'container'] + end + + if attributes.key?(:'namespace') + self.namespace = attributes[:'namespace'] + end + + if attributes.key?(:'pod_name') + self.pod_name = attributes[:'pod_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + container == o.container && + namespace == o.namespace && + pod_name == o.pod_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [container, namespace, pod_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_k8_s_pod_settings.rb b/lib/crimson-falcon/models/types_k8_s_pod_settings.rb new file mode 100644 index 00000000..bb6953d9 --- /dev/null +++ b/lib/crimson-falcon/models/types_k8_s_pod_settings.rb @@ -0,0 +1,256 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesK8SPodSettings + attr_accessor :image_address + + attr_accessor :image_pull_secrets + + attr_accessor :pod_labels + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'image_address' => :'imageAddress', + :'image_pull_secrets' => :'imagePullSecrets', + :'pod_labels' => :'podLabels' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'image_address' => :'String', + :'image_pull_secrets' => :'Array', + :'pod_labels' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesK8SPodSettings` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesK8SPodSettings`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'image_address') + self.image_address = attributes[:'image_address'] + end + + if attributes.key?(:'image_pull_secrets') + if (value = attributes[:'image_pull_secrets']).is_a?(Array) + self.image_pull_secrets = value + end + end + + if attributes.key?(:'pod_labels') + if (value = attributes[:'pod_labels']).is_a?(Array) + self.pod_labels = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + image_address == o.image_address && + image_pull_secrets == o.image_pull_secrets && + pod_labels == o.pod_labels + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [image_address, image_pull_secrets, pod_labels].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_key_value.rb b/lib/crimson-falcon/models/types_key_value.rb new file mode 100644 index 00000000..a543c366 --- /dev/null +++ b/lib/crimson-falcon/models/types_key_value.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesKeyValue + attr_accessor :key + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'key' => :'key', + :'value' => :'value' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'key' => :'String', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesKeyValue` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesKeyValue`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'key') + self.key = attributes[:'key'] + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + key == o.key && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [key, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_lambda_metadata.rb b/lib/crimson-falcon/models/types_lambda_metadata.rb new file mode 100644 index 00000000..35de12bc --- /dev/null +++ b/lib/crimson-falcon/models/types_lambda_metadata.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesLambdaMetadata + attr_accessor :lambda_arn + + attr_accessor :lambda_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'lambda_arn' => :'lambdaArn', + :'lambda_name' => :'lambdaName' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'lambda_arn' => :'String', + :'lambda_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesLambdaMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesLambdaMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'lambda_arn') + self.lambda_arn = attributes[:'lambda_arn'] + end + + if attributes.key?(:'lambda_name') + self.lambda_name = attributes[:'lambda_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + lambda_arn == o.lambda_arn && + lambda_name == o.lambda_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [lambda_arn, lambda_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_library.rb b/lib/crimson-falcon/models/types_library.rb new file mode 100644 index 00000000..1a59e593 --- /dev/null +++ b/lib/crimson-falcon/models/types_library.rb @@ -0,0 +1,290 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesLibrary + attr_accessor :full_paths + + attr_accessor :group + + attr_accessor :id + + attr_accessor :is_reachable + + attr_accessor :name + + attr_accessor :usage_level + + attr_accessor :version + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'full_paths' => :'fullPaths', + :'group' => :'group', + :'id' => :'id', + :'is_reachable' => :'isReachable', + :'name' => :'name', + :'usage_level' => :'usageLevel', + :'version' => :'version' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'full_paths' => :'Array', + :'group' => :'String', + :'id' => :'Integer', + :'is_reachable' => :'Boolean', + :'name' => :'String', + :'usage_level' => :'String', + :'version' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesLibrary` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesLibrary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'full_paths') + if (value = attributes[:'full_paths']).is_a?(Array) + self.full_paths = value + end + end + + if attributes.key?(:'group') + self.group = attributes[:'group'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'is_reachable') + self.is_reachable = attributes[:'is_reachable'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'usage_level') + self.usage_level = attributes[:'usage_level'] + end + + if attributes.key?(:'version') + self.version = attributes[:'version'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + full_paths == o.full_paths && + group == o.group && + id == o.id && + is_reachable == o.is_reachable && + name == o.name && + usage_level == o.usage_level && + version == o.version + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [full_paths, group, id, is_reachable, name, usage_level, version].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_list_executor_nodes_response.rb b/lib/crimson-falcon/models/types_list_executor_nodes_response.rb new file mode 100644 index 00000000..a57f0752 --- /dev/null +++ b/lib/crimson-falcon/models/types_list_executor_nodes_response.rb @@ -0,0 +1,236 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesListExecutorNodesResponse + attr_accessor :executor_nodes + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'executor_nodes' => :'executor_nodes' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'executor_nodes' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesListExecutorNodesResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesListExecutorNodesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'executor_nodes') + if (value = attributes[:'executor_nodes']).is_a?(Array) + self.executor_nodes = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + executor_nodes == o.executor_nodes + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [executor_nodes].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_list_integration_tasks_response.rb b/lib/crimson-falcon/models/types_list_integration_tasks_response.rb new file mode 100644 index 00000000..fd805e49 --- /dev/null +++ b/lib/crimson-falcon/models/types_list_integration_tasks_response.rb @@ -0,0 +1,236 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesListIntegrationTasksResponse + attr_accessor :integration_tasks + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration_tasks' => :'integration_tasks' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration_tasks' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesListIntegrationTasksResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesListIntegrationTasksResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration_tasks') + if (value = attributes[:'integration_tasks']).is_a?(Array) + self.integration_tasks = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration_tasks == o.integration_tasks + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration_tasks].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_list_integration_types_response.rb b/lib/crimson-falcon/models/types_list_integration_types_response.rb new file mode 100644 index 00000000..e35eee2d --- /dev/null +++ b/lib/crimson-falcon/models/types_list_integration_types_response.rb @@ -0,0 +1,236 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesListIntegrationTypesResponse + attr_accessor :types + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'types' => :'types' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'types' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesListIntegrationTypesResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesListIntegrationTypesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'types') + if (value = attributes[:'types']).is_a?(Array) + self.types = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + types == o.types + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [types].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_list_integrations_response.rb b/lib/crimson-falcon/models/types_list_integrations_response.rb new file mode 100644 index 00000000..54672a2f --- /dev/null +++ b/lib/crimson-falcon/models/types_list_integrations_response.rb @@ -0,0 +1,236 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesListIntegrationsResponse + attr_accessor :integrations + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integrations' => :'integrations' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integrations' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesListIntegrationsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesListIntegrationsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integrations') + if (value = attributes[:'integrations']).is_a?(Array) + self.integrations = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integrations == o.integrations + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integrations].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_order_by.rb b/lib/crimson-falcon/models/types_order_by.rb new file mode 100644 index 00000000..163d41f1 --- /dev/null +++ b/lib/crimson-falcon/models/types_order_by.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesOrderBy + attr_accessor :by_field + + attr_accessor :direction + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'by_field' => :'by_field', + :'direction' => :'direction' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'by_field' => :'String', + :'direction' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesOrderBy` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesOrderBy`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'by_field') + self.by_field = attributes[:'by_field'] + end + + if attributes.key?(:'direction') + self.direction = attributes[:'direction'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + by_field == o.by_field && + direction == o.direction + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [by_field, direction].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_paginate.rb b/lib/crimson-falcon/models/types_paginate.rb new file mode 100644 index 00000000..c4fd65d6 --- /dev/null +++ b/lib/crimson-falcon/models/types_paginate.rb @@ -0,0 +1,263 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesPaginate + attr_accessor :direction + + attr_accessor :limit + + attr_accessor :offset + + attr_accessor :order_by + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'direction' => :'direction', + :'limit' => :'limit', + :'offset' => :'offset', + :'order_by' => :'orderBy' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'direction' => :'String', + :'limit' => :'Integer', + :'offset' => :'Integer', + :'order_by' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesPaginate` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesPaginate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'direction') + self.direction = attributes[:'direction'] + end + + if attributes.key?(:'limit') + self.limit = attributes[:'limit'] + end + + if attributes.key?(:'offset') + self.offset = attributes[:'offset'] + end + + if attributes.key?(:'order_by') + if (value = attributes[:'order_by']).is_a?(Array) + self.order_by = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + direction == o.direction && + limit == o.limit && + offset == o.offset && + order_by == o.order_by + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [direction, limit, offset, order_by].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_pagination.rb b/lib/crimson-falcon/models/types_pagination.rb new file mode 100644 index 00000000..f9c18e16 --- /dev/null +++ b/lib/crimson-falcon/models/types_pagination.rb @@ -0,0 +1,263 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesPagination + attr_accessor :direction + + attr_accessor :limit + + attr_accessor :offset + + attr_accessor :order_by + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'direction' => :'direction', + :'limit' => :'limit', + :'offset' => :'offset', + :'order_by' => :'order_by' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'direction' => :'String', + :'limit' => :'Integer', + :'offset' => :'Integer', + :'order_by' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesPagination` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesPagination`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'direction') + self.direction = attributes[:'direction'] + end + + if attributes.key?(:'limit') + self.limit = attributes[:'limit'] + end + + if attributes.key?(:'offset') + self.offset = attributes[:'offset'] + end + + if attributes.key?(:'order_by') + if (value = attributes[:'order_by']).is_a?(Array) + self.order_by = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + direction == o.direction && + limit == o.limit && + offset == o.offset && + order_by == o.order_by + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [direction, limit, offset, order_by].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_vulnerability_report.rb b/lib/crimson-falcon/models/types_policy_rules_condition.rb similarity index 90% rename from lib/crimson-falcon/models/domain_vulnerability_report.rb rename to lib/crimson-falcon/models/types_policy_rules_condition.rb index 19d5d140..2fb84b56 100644 --- a/lib/crimson-falcon/models/domain_vulnerability_report.rb +++ b/lib/crimson-falcon/models/types_policy_rules_condition.rb @@ -31,18 +31,16 @@ require 'time' module Falcon - class DomainVulnerabilityReport - # Report serial ID, composed of 2 parts separated with dash, example: CSA-20000, CSIT-220000 - attr_accessor :serial_id + class TypesPolicyRulesCondition + attr_accessor :exclude - # legacy, not populated field - attr_accessor :title + attr_accessor :include # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'serial_id' => :'serial_id', - :'title' => :'title' + :'exclude' => :'exclude', + :'include' => :'include' } end @@ -54,8 +52,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'serial_id' => :'String', - :'title' => :'String' + :'exclude' => :'Array', + :'include' => :'Array' } end @@ -69,23 +67,27 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainVulnerabilityReport` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesPolicyRulesCondition` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainVulnerabilityReport`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesPolicyRulesCondition`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'serial_id') - self.serial_id = attributes[:'serial_id'] + if attributes.key?(:'exclude') + if (value = attributes[:'exclude']).is_a?(Array) + self.exclude = value + end end - if attributes.key?(:'title') - self.title = attributes[:'title'] + if attributes.key?(:'include') + if (value = attributes[:'include']).is_a?(Array) + self.include = value + end end end @@ -107,8 +109,8 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - serial_id == o.serial_id && - title == o.title + exclude == o.exclude && + include == o.include end # @see the `==` method @@ -120,7 +122,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [serial_id, title].hash + [exclude, include].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/types_policy_rules_create_body.rb b/lib/crimson-falcon/models/types_policy_rules_create_body.rb new file mode 100644 index 00000000..7725f6e8 --- /dev/null +++ b/lib/crimson-falcon/models/types_policy_rules_create_body.rb @@ -0,0 +1,331 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesPolicyRulesCreateBody + attr_accessor :action + + attr_accessor :activity + + attr_accessor :destination + + attr_accessor :enabled + + attr_accessor :name + + attr_accessor :simulation_mode + + attr_accessor :source_endpoint + + attr_accessor :source_user + + attr_accessor :trigger + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'action' => :'action', + :'activity' => :'activity', + :'destination' => :'destination', + :'enabled' => :'enabled', + :'name' => :'name', + :'simulation_mode' => :'simulationMode', + :'source_endpoint' => :'sourceEndpoint', + :'source_user' => :'sourceUser', + :'trigger' => :'trigger' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'action' => :'String', + :'activity' => :'Activity', + :'destination' => :'Destination', + :'enabled' => :'Boolean', + :'name' => :'String', + :'simulation_mode' => :'Boolean', + :'source_endpoint' => :'SourceEndpoint', + :'source_user' => :'SourceUser', + :'trigger' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesPolicyRulesCreateBody` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesPolicyRulesCreateBody`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'action') + self.action = attributes[:'action'] + end + + if attributes.key?(:'activity') + self.activity = attributes[:'activity'] + end + + if attributes.key?(:'destination') + self.destination = attributes[:'destination'] + end + + if attributes.key?(:'enabled') + self.enabled = attributes[:'enabled'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'simulation_mode') + self.simulation_mode = attributes[:'simulation_mode'] + end + + if attributes.key?(:'source_endpoint') + self.source_endpoint = attributes[:'source_endpoint'] + end + + if attributes.key?(:'source_user') + self.source_user = attributes[:'source_user'] + end + + if attributes.key?(:'trigger') + self.trigger = attributes[:'trigger'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @action.nil? + invalid_properties.push('invalid value for "action", action cannot be nil.') + end + + if @enabled.nil? + invalid_properties.push('invalid value for "enabled", enabled cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @simulation_mode.nil? + invalid_properties.push('invalid value for "simulation_mode", simulation_mode cannot be nil.') + end + + if @trigger.nil? + invalid_properties.push('invalid value for "trigger", trigger cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @action.nil? + return false if @enabled.nil? + return false if @name.nil? + return false if @simulation_mode.nil? + return false if @trigger.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + action == o.action && + activity == o.activity && + destination == o.destination && + enabled == o.enabled && + name == o.name && + simulation_mode == o.simulation_mode && + source_endpoint == o.source_endpoint && + source_user == o.source_user && + trigger == o.trigger + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [action, activity, destination, enabled, name, simulation_mode, source_endpoint, source_user, trigger].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_query_request.rb b/lib/crimson-falcon/models/types_query_request.rb new file mode 100644 index 00000000..010addc8 --- /dev/null +++ b/lib/crimson-falcon/models/types_query_request.rb @@ -0,0 +1,266 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesQueryRequest + attr_accessor :paginate + + attr_accessor :query + + attr_accessor :select_fields + + attr_accessor :timestamp + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'paginate' => :'paginate', + :'query' => :'query', + :'select_fields' => :'selectFields', + :'timestamp' => :'timestamp' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'paginate' => :'TypesPaginate', + :'query' => :'String', + :'select_fields' => :'TypesQueryRequestSelectFields', + :'timestamp' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesQueryRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesQueryRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'paginate') + self.paginate = attributes[:'paginate'] + end + + if attributes.key?(:'query') + self.query = attributes[:'query'] + end + + if attributes.key?(:'select_fields') + self.select_fields = attributes[:'select_fields'] + end + + if attributes.key?(:'timestamp') + self.timestamp = attributes[:'timestamp'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @query.nil? + invalid_properties.push('invalid value for "query", query cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @query.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + paginate == o.paginate && + query == o.query && + select_fields == o.select_fields && + timestamp == o.timestamp + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [paginate, query, select_fields, timestamp].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_query_request_select_fields.rb b/lib/crimson-falcon/models/types_query_request_select_fields.rb new file mode 100644 index 00000000..6101ac45 --- /dev/null +++ b/lib/crimson-falcon/models/types_query_request_select_fields.rb @@ -0,0 +1,256 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesQueryRequestSelectFields + attr_accessor :fields + + attr_accessor :service_fields + + attr_accessor :without_services + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'fields' => :'fields', + :'service_fields' => :'serviceFields', + :'without_services' => :'withoutServices' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'fields' => :'Array', + :'service_fields' => :'Array', + :'without_services' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesQueryRequestSelectFields` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesQueryRequestSelectFields`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'fields') + if (value = attributes[:'fields']).is_a?(Array) + self.fields = value + end + end + + if attributes.key?(:'service_fields') + if (value = attributes[:'service_fields']).is_a?(Array) + self.service_fields = value + end + end + + if attributes.key?(:'without_services') + self.without_services = attributes[:'without_services'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + fields == o.fields && + service_fields == o.service_fields && + without_services == o.without_services + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [fields, service_fields, without_services].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_query_result.rb b/lib/crimson-falcon/models/types_query_result.rb new file mode 100644 index 00000000..c385f910 --- /dev/null +++ b/lib/crimson-falcon/models/types_query_result.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesQueryResult + attr_accessor :result_json + + attr_accessor :result_type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'result_json' => :'result_json', + :'result_type' => :'result_type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'result_json' => :'String', + :'result_type' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesQueryResult` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesQueryResult`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'result_json') + self.result_json = attributes[:'result_json'] + end + + if attributes.key?(:'result_type') + self.result_type = attributes[:'result_type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + result_json == o.result_json && + result_type == o.result_type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [result_json, result_type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_reason_tag.rb b/lib/crimson-falcon/models/types_reason_tag.rb new file mode 100644 index 00000000..30d2d4d6 --- /dev/null +++ b/lib/crimson-falcon/models/types_reason_tag.rb @@ -0,0 +1,315 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesReasonTag + attr_accessor :aws_api_gateway_type + + attr_accessor :aws_elastic_ip_type + + attr_accessor :aws_lambda_api_gateway_type + + attr_accessor :aws_load_balancer_type + + attr_accessor :azure_application_gateway_type + + attr_accessor :azure_load_balancer_type + + attr_accessor :db_reason_tag + + attr_accessor :k8s_load_balancer_type + + attr_accessor :mq_reason_tag + + attr_accessor :type + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'aws_api_gateway_type' => :'awsApiGatewayType', + :'aws_elastic_ip_type' => :'awsElasticIpType', + :'aws_lambda_api_gateway_type' => :'awsLambdaApiGatewayType', + :'aws_load_balancer_type' => :'awsLoadBalancerType', + :'azure_application_gateway_type' => :'azureApplicationGatewayType', + :'azure_load_balancer_type' => :'azureLoadBalancerType', + :'db_reason_tag' => :'dbReasonTag', + :'k8s_load_balancer_type' => :'k8sLoadBalancerType', + :'mq_reason_tag' => :'mqReasonTag', + :'type' => :'type' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'aws_api_gateway_type' => :'TypesAwsApiGatewayReasonTag', + :'aws_elastic_ip_type' => :'TypesAwsElasticIpReasonTag', + :'aws_lambda_api_gateway_type' => :'TypesAwsLambdaApiGatewayReasonTag', + :'aws_load_balancer_type' => :'TypesAwsLoadBalancerReasonTag', + :'azure_application_gateway_type' => :'TypesAzureApplicationGatewayReasonTag', + :'azure_load_balancer_type' => :'TypesAzureLoadBalancerReasonTag', + :'db_reason_tag' => :'TypesDataTypeDbReasonTag', + :'k8s_load_balancer_type' => :'TypesK8SLoadBalancerReasonTag', + :'mq_reason_tag' => :'TypesDataTypeMqReasonTag', + :'type' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesReasonTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesReasonTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'aws_api_gateway_type') + self.aws_api_gateway_type = attributes[:'aws_api_gateway_type'] + end + + if attributes.key?(:'aws_elastic_ip_type') + self.aws_elastic_ip_type = attributes[:'aws_elastic_ip_type'] + end + + if attributes.key?(:'aws_lambda_api_gateway_type') + self.aws_lambda_api_gateway_type = attributes[:'aws_lambda_api_gateway_type'] + end + + if attributes.key?(:'aws_load_balancer_type') + self.aws_load_balancer_type = attributes[:'aws_load_balancer_type'] + end + + if attributes.key?(:'azure_application_gateway_type') + self.azure_application_gateway_type = attributes[:'azure_application_gateway_type'] + end + + if attributes.key?(:'azure_load_balancer_type') + self.azure_load_balancer_type = attributes[:'azure_load_balancer_type'] + end + + if attributes.key?(:'db_reason_tag') + self.db_reason_tag = attributes[:'db_reason_tag'] + end + + if attributes.key?(:'k8s_load_balancer_type') + self.k8s_load_balancer_type = attributes[:'k8s_load_balancer_type'] + end + + if attributes.key?(:'mq_reason_tag') + self.mq_reason_tag = attributes[:'mq_reason_tag'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + aws_api_gateway_type == o.aws_api_gateway_type && + aws_elastic_ip_type == o.aws_elastic_ip_type && + aws_lambda_api_gateway_type == o.aws_lambda_api_gateway_type && + aws_load_balancer_type == o.aws_load_balancer_type && + azure_application_gateway_type == o.azure_application_gateway_type && + azure_load_balancer_type == o.azure_load_balancer_type && + db_reason_tag == o.db_reason_tag && + k8s_load_balancer_type == o.k8s_load_balancer_type && + mq_reason_tag == o.mq_reason_tag && + type == o.type + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [aws_api_gateway_type, aws_elastic_ip_type, aws_lambda_api_gateway_type, aws_load_balancer_type, azure_application_gateway_type, azure_load_balancer_type, db_reason_tag, k8s_load_balancer_type, mq_reason_tag, type].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_remediation.rb b/lib/crimson-falcon/models/types_remediation.rb new file mode 100644 index 00000000..23e0dc45 --- /dev/null +++ b/lib/crimson-falcon/models/types_remediation.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesRemediation + attr_accessor :content + + attr_accessor :url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'content' => :'content', + :'url' => :'url' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'content' => :'String', + :'url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesRemediation` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesRemediation`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'content') + self.content = attributes[:'content'] + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + content == o.content && + url == o.url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [content, url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_results_filter.rb b/lib/crimson-falcon/models/types_results_filter.rb new file mode 100644 index 00000000..7bdea56c --- /dev/null +++ b/lib/crimson-falcon/models/types_results_filter.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesResultsFilter + attr_accessor :order_by + + attr_accessor :paginate + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'order_by' => :'order_by', + :'paginate' => :'paginate' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'order_by' => :'TypesOrderBy', + :'paginate' => :'TypesPaginate' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesResultsFilter` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesResultsFilter`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'order_by') + self.order_by = attributes[:'order_by'] + end + + if attributes.key?(:'paginate') + self.paginate = attributes[:'paginate'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + order_by == o.order_by && + paginate == o.paginate + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [order_by, paginate].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_run_integration_task_request.rb b/lib/crimson-falcon/models/types_run_integration_task_request.rb new file mode 100644 index 00000000..c5a8f6f5 --- /dev/null +++ b/lib/crimson-falcon/models/types_run_integration_task_request.rb @@ -0,0 +1,279 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesRunIntegrationTaskRequest + attr_accessor :access_token + + attr_accessor :category + + attr_accessor :data + + attr_accessor :override + + attr_accessor :scheduled + + attr_accessor :task_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'access_token' => :'access_token', + :'category' => :'category', + :'data' => :'data', + :'override' => :'override', + :'scheduled' => :'scheduled', + :'task_id' => :'task_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'access_token' => :'String', + :'category' => :'String', + :'data' => :'String', + :'override' => :'Boolean', + :'scheduled' => :'Boolean', + :'task_id' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesRunIntegrationTaskRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesRunIntegrationTaskRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'access_token') + self.access_token = attributes[:'access_token'] + end + + if attributes.key?(:'category') + self.category = attributes[:'category'] + end + + if attributes.key?(:'data') + self.data = attributes[:'data'] + end + + if attributes.key?(:'override') + self.override = attributes[:'override'] + end + + if attributes.key?(:'scheduled') + self.scheduled = attributes[:'scheduled'] + end + + if attributes.key?(:'task_id') + self.task_id = attributes[:'task_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + access_token == o.access_token && + category == o.category && + data == o.data && + override == o.override && + scheduled == o.scheduled && + task_id == o.task_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [access_token, category, data, override, scheduled, task_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_now_deployment.rb b/lib/crimson-falcon/models/types_service_now_deployment.rb new file mode 100644 index 00000000..382f235d --- /dev/null +++ b/lib/crimson-falcon/models/types_service_now_deployment.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceNowDeployment + attr_accessor :deployment_unit_descriptor + + attr_accessor :type_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'deployment_unit_descriptor' => :'DeploymentUnitDescriptor', + :'type_name' => :'type_name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'deployment_unit_descriptor' => :'TypesDeploymentUnitDescriptor', + :'type_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceNowDeployment` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceNowDeployment`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'deployment_unit_descriptor') + self.deployment_unit_descriptor = attributes[:'deployment_unit_descriptor'] + end + + if attributes.key?(:'type_name') + self.type_name = attributes[:'type_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @deployment_unit_descriptor.nil? + invalid_properties.push('invalid value for "deployment_unit_descriptor", deployment_unit_descriptor cannot be nil.') + end + + if @type_name.nil? + invalid_properties.push('invalid value for "type_name", type_name cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @deployment_unit_descriptor.nil? + return false if @type_name.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + deployment_unit_descriptor == o.deployment_unit_descriptor && + type_name == o.type_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [deployment_unit_descriptor, type_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_now_deployments_response.rb b/lib/crimson-falcon/models/types_service_now_deployments_response.rb new file mode 100644 index 00000000..950e39fc --- /dev/null +++ b/lib/crimson-falcon/models/types_service_now_deployments_response.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceNowDeploymentsResponse + attr_accessor :deployment_units + + attr_accessor :error + + attr_accessor :total_deployments + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'deployment_units' => :'deployment_units', + :'error' => :'error', + :'total_deployments' => :'total_deployments' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'deployment_units' => :'Array', + :'error' => :'String', + :'total_deployments' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceNowDeploymentsResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceNowDeploymentsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'deployment_units') + if (value = attributes[:'deployment_units']).is_a?(Array) + self.deployment_units = value + end + end + + if attributes.key?(:'error') + self.error = attributes[:'error'] + end + + if attributes.key?(:'total_deployments') + self.total_deployments = attributes[:'total_deployments'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @deployment_units.nil? + invalid_properties.push('invalid value for "deployment_units", deployment_units cannot be nil.') + end + + if @error.nil? + invalid_properties.push('invalid value for "error", error cannot be nil.') + end + + if @total_deployments.nil? + invalid_properties.push('invalid value for "total_deployments", total_deployments cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @deployment_units.nil? + return false if @error.nil? + return false if @total_deployments.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + deployment_units == o.deployment_units && + error == o.error && + total_deployments == o.total_deployments + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [deployment_units, error, total_deployments].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_now_service.rb b/lib/crimson-falcon/models/types_service_now_service.rb new file mode 100644 index 00000000..ca11de8f --- /dev/null +++ b/lib/crimson-falcon/models/types_service_now_service.rb @@ -0,0 +1,549 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceNowService + attr_accessor :application_server + + attr_accessor :business_applications + + attr_accessor :consumers + + attr_accessor :datasource_count + + attr_accessor :dependencies + + attr_accessor :downstream_count + + attr_accessor :group_by + + attr_accessor :id + + attr_accessor :language_type + + attr_accessor :language_version + + attr_accessor :mom_count + + attr_accessor :name + + attr_accessor :owner_department + + attr_accessor :owner_email + + attr_accessor :owner_name + + attr_accessor :persistent_signature + + attr_accessor :properties + + attr_accessor :service_version + + attr_accessor :tags + + attr_accessor :technology_type + + attr_accessor :type + + attr_accessor :updated_at + + attr_accessor :upstream_count + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'application_server' => :'applicationServer', + :'business_applications' => :'businessApplications', + :'consumers' => :'consumers', + :'datasource_count' => :'datasourceCount', + :'dependencies' => :'dependencies', + :'downstream_count' => :'downstreamCount', + :'group_by' => :'groupBy', + :'id' => :'id', + :'language_type' => :'languageType', + :'language_version' => :'languageVersion', + :'mom_count' => :'momCount', + :'name' => :'name', + :'owner_department' => :'ownerDepartment', + :'owner_email' => :'ownerEmail', + :'owner_name' => :'ownerName', + :'persistent_signature' => :'persistentSignature', + :'properties' => :'properties', + :'service_version' => :'serviceVersion', + :'tags' => :'tags', + :'technology_type' => :'technologyType', + :'type' => :'type', + :'updated_at' => :'updatedAt', + :'upstream_count' => :'upstreamCount' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'application_server' => :'String', + :'business_applications' => :'TypesServiceServiceBusinessApplication', + :'consumers' => :'Integer', + :'datasource_count' => :'Integer', + :'dependencies' => :'Integer', + :'downstream_count' => :'Integer', + :'group_by' => :'Hash', + :'id' => :'Integer', + :'language_type' => :'String', + :'language_version' => :'String', + :'mom_count' => :'Integer', + :'name' => :'String', + :'owner_department' => :'String', + :'owner_email' => :'String', + :'owner_name' => :'String', + :'persistent_signature' => :'String', + :'properties' => :'TypesServiceServiceTraits', + :'service_version' => :'String', + :'tags' => :'TypesServiceServiceTag', + :'technology_type' => :'String', + :'type' => :'String', + :'updated_at' => :'Integer', + :'upstream_count' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceNowService` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceNowService`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'application_server') + self.application_server = attributes[:'application_server'] + end + + if attributes.key?(:'business_applications') + self.business_applications = attributes[:'business_applications'] + end + + if attributes.key?(:'consumers') + self.consumers = attributes[:'consumers'] + end + + if attributes.key?(:'datasource_count') + self.datasource_count = attributes[:'datasource_count'] + end + + if attributes.key?(:'dependencies') + self.dependencies = attributes[:'dependencies'] + end + + if attributes.key?(:'downstream_count') + self.downstream_count = attributes[:'downstream_count'] + end + + if attributes.key?(:'group_by') + if (value = attributes[:'group_by']).is_a?(Hash) + self.group_by = value + end + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'language_type') + self.language_type = attributes[:'language_type'] + end + + if attributes.key?(:'language_version') + self.language_version = attributes[:'language_version'] + end + + if attributes.key?(:'mom_count') + self.mom_count = attributes[:'mom_count'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'owner_department') + self.owner_department = attributes[:'owner_department'] + end + + if attributes.key?(:'owner_email') + self.owner_email = attributes[:'owner_email'] + end + + if attributes.key?(:'owner_name') + self.owner_name = attributes[:'owner_name'] + end + + if attributes.key?(:'persistent_signature') + self.persistent_signature = attributes[:'persistent_signature'] + end + + if attributes.key?(:'properties') + self.properties = attributes[:'properties'] + end + + if attributes.key?(:'service_version') + self.service_version = attributes[:'service_version'] + end + + if attributes.key?(:'tags') + self.tags = attributes[:'tags'] + end + + if attributes.key?(:'technology_type') + self.technology_type = attributes[:'technology_type'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'updated_at') + self.updated_at = attributes[:'updated_at'] + end + + if attributes.key?(:'upstream_count') + self.upstream_count = attributes[:'upstream_count'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @application_server.nil? + invalid_properties.push('invalid value for "application_server", application_server cannot be nil.') + end + + if @business_applications.nil? + invalid_properties.push('invalid value for "business_applications", business_applications cannot be nil.') + end + + if @consumers.nil? + invalid_properties.push('invalid value for "consumers", consumers cannot be nil.') + end + + if @datasource_count.nil? + invalid_properties.push('invalid value for "datasource_count", datasource_count cannot be nil.') + end + + if @dependencies.nil? + invalid_properties.push('invalid value for "dependencies", dependencies cannot be nil.') + end + + if @downstream_count.nil? + invalid_properties.push('invalid value for "downstream_count", downstream_count cannot be nil.') + end + + if @group_by.nil? + invalid_properties.push('invalid value for "group_by", group_by cannot be nil.') + end + + if @id.nil? + invalid_properties.push('invalid value for "id", id cannot be nil.') + end + + if @language_type.nil? + invalid_properties.push('invalid value for "language_type", language_type cannot be nil.') + end + + if @language_version.nil? + invalid_properties.push('invalid value for "language_version", language_version cannot be nil.') + end + + if @mom_count.nil? + invalid_properties.push('invalid value for "mom_count", mom_count cannot be nil.') + end + + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @owner_department.nil? + invalid_properties.push('invalid value for "owner_department", owner_department cannot be nil.') + end + + if @owner_email.nil? + invalid_properties.push('invalid value for "owner_email", owner_email cannot be nil.') + end + + if @owner_name.nil? + invalid_properties.push('invalid value for "owner_name", owner_name cannot be nil.') + end + + if @persistent_signature.nil? + invalid_properties.push('invalid value for "persistent_signature", persistent_signature cannot be nil.') + end + + if @properties.nil? + invalid_properties.push('invalid value for "properties", properties cannot be nil.') + end + + if @service_version.nil? + invalid_properties.push('invalid value for "service_version", service_version cannot be nil.') + end + + if @tags.nil? + invalid_properties.push('invalid value for "tags", tags cannot be nil.') + end + + if @technology_type.nil? + invalid_properties.push('invalid value for "technology_type", technology_type cannot be nil.') + end + + if @type.nil? + invalid_properties.push('invalid value for "type", type cannot be nil.') + end + + if @updated_at.nil? + invalid_properties.push('invalid value for "updated_at", updated_at cannot be nil.') + end + + if @upstream_count.nil? + invalid_properties.push('invalid value for "upstream_count", upstream_count cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @application_server.nil? + return false if @business_applications.nil? + return false if @consumers.nil? + return false if @datasource_count.nil? + return false if @dependencies.nil? + return false if @downstream_count.nil? + return false if @group_by.nil? + return false if @id.nil? + return false if @language_type.nil? + return false if @language_version.nil? + return false if @mom_count.nil? + return false if @name.nil? + return false if @owner_department.nil? + return false if @owner_email.nil? + return false if @owner_name.nil? + return false if @persistent_signature.nil? + return false if @properties.nil? + return false if @service_version.nil? + return false if @tags.nil? + return false if @technology_type.nil? + return false if @type.nil? + return false if @updated_at.nil? + return false if @upstream_count.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + application_server == o.application_server && + business_applications == o.business_applications && + consumers == o.consumers && + datasource_count == o.datasource_count && + dependencies == o.dependencies && + downstream_count == o.downstream_count && + group_by == o.group_by && + id == o.id && + language_type == o.language_type && + language_version == o.language_version && + mom_count == o.mom_count && + name == o.name && + owner_department == o.owner_department && + owner_email == o.owner_email && + owner_name == o.owner_name && + persistent_signature == o.persistent_signature && + properties == o.properties && + service_version == o.service_version && + tags == o.tags && + technology_type == o.technology_type && + type == o.type && + updated_at == o.updated_at && + upstream_count == o.upstream_count + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [application_server, business_applications, consumers, datasource_count, dependencies, downstream_count, group_by, id, language_type, language_version, mom_count, name, owner_department, owner_email, owner_name, persistent_signature, properties, service_version, tags, technology_type, type, updated_at, upstream_count].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_ddos_target_details.rb b/lib/crimson-falcon/models/types_service_now_service_data.rb similarity index 61% rename from lib/crimson-falcon/models/domain_ddos_target_details.rb rename to lib/crimson-falcon/models/types_service_now_service_data.rb index 8ecdb678..71d34e20 100644 --- a/lib/crimson-falcon/models/domain_ddos_target_details.rb +++ b/lib/crimson-falcon/models/types_service_now_service_data.rb @@ -31,49 +31,37 @@ require 'time' module Falcon - class DomainDDOSTargetDetails - # The autonomous system number of the target - attr_accessor :asn + class TypesServiceNowServiceData + attr_accessor :service_now_service - # The autonomous system name of the target - attr_accessor :asn_name + attr_accessor :apis - # The CIDR of the IP address - attr_accessor :cidr + attr_accessor :artifacts - # The target's city - attr_accessor :city + attr_accessor :configurations - # The name of the company who has registered the IP address - attr_accessor :company_name + attr_accessor :dependencies - # The connection type of the target - attr_accessor :connection_type + attr_accessor :deployment_units - # The target's country - attr_accessor :country + attr_accessor :frameworks - attr_accessor :country_code + attr_accessor :libraries - # The passive DNS of the target - attr_accessor :pdns - - # The reverse DNS hostname of the target's IP address - attr_accessor :rdns + attr_accessor :topics_queues # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'asn' => :'asn', - :'asn_name' => :'asn_name', - :'cidr' => :'cidr', - :'city' => :'city', - :'company_name' => :'company_name', - :'connection_type' => :'connection_type', - :'country' => :'country', - :'country_code' => :'country_code', - :'pdns' => :'pdns', - :'rdns' => :'rdns' + :'service_now_service' => :'ServiceNowService', + :'apis' => :'apis', + :'artifacts' => :'artifacts', + :'configurations' => :'configurations', + :'dependencies' => :'dependencies', + :'deployment_units' => :'deployment_units', + :'frameworks' => :'frameworks', + :'libraries' => :'libraries', + :'topics_queues' => :'topics_queues' } end @@ -85,16 +73,15 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'asn' => :'Integer', - :'asn_name' => :'String', - :'cidr' => :'String', - :'city' => :'String', - :'company_name' => :'String', - :'connection_type' => :'String', - :'country' => :'String', - :'country_code' => :'String', - :'pdns' => :'Array', - :'rdns' => :'String' + :'service_now_service' => :'TypesServiceNowService', + :'apis' => :'TypesServiceServiceInterface', + :'artifacts' => :'TypesServiceServiceArtifact', + :'configurations' => :'TypesServiceServiceConfiguration', + :'dependencies' => :'TypesServiceServiceDependency', + :'deployment_units' => :'Array', + :'frameworks' => :'TypesServiceServiceFramework', + :'libraries' => :'TypesServiceServiceLibrary', + :'topics_queues' => :'Array' } end @@ -108,102 +95,96 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainDDOSTargetDetails` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceNowServiceData` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainDDOSTargetDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceNowServiceData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'asn') - self.asn = attributes[:'asn'] + if attributes.key?(:'service_now_service') + self.service_now_service = attributes[:'service_now_service'] end - if attributes.key?(:'asn_name') - self.asn_name = attributes[:'asn_name'] + if attributes.key?(:'apis') + self.apis = attributes[:'apis'] end - if attributes.key?(:'cidr') - self.cidr = attributes[:'cidr'] + if attributes.key?(:'artifacts') + self.artifacts = attributes[:'artifacts'] end - if attributes.key?(:'city') - self.city = attributes[:'city'] + if attributes.key?(:'configurations') + self.configurations = attributes[:'configurations'] end - if attributes.key?(:'company_name') - self.company_name = attributes[:'company_name'] + if attributes.key?(:'dependencies') + self.dependencies = attributes[:'dependencies'] end - if attributes.key?(:'connection_type') - self.connection_type = attributes[:'connection_type'] + if attributes.key?(:'deployment_units') + if (value = attributes[:'deployment_units']).is_a?(Array) + self.deployment_units = value + end end - if attributes.key?(:'country') - self.country = attributes[:'country'] + if attributes.key?(:'frameworks') + self.frameworks = attributes[:'frameworks'] end - if attributes.key?(:'country_code') - self.country_code = attributes[:'country_code'] + if attributes.key?(:'libraries') + self.libraries = attributes[:'libraries'] end - if attributes.key?(:'pdns') - if (value = attributes[:'pdns']).is_a?(Array) - self.pdns = value + if attributes.key?(:'topics_queues') + if (value = attributes[:'topics_queues']).is_a?(Array) + self.topics_queues = value end end - - if attributes.key?(:'rdns') - self.rdns = attributes[:'rdns'] - end end # Show invalid properties with the reasons. Usually used together with valid? # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @asn.nil? - invalid_properties.push('invalid value for "asn", asn cannot be nil.') - end - - if @asn_name.nil? - invalid_properties.push('invalid value for "asn_name", asn_name cannot be nil.') + if @service_now_service.nil? + invalid_properties.push('invalid value for "service_now_service", service_now_service cannot be nil.') end - if @cidr.nil? - invalid_properties.push('invalid value for "cidr", cidr cannot be nil.') + if @apis.nil? + invalid_properties.push('invalid value for "apis", apis cannot be nil.') end - if @city.nil? - invalid_properties.push('invalid value for "city", city cannot be nil.') + if @artifacts.nil? + invalid_properties.push('invalid value for "artifacts", artifacts cannot be nil.') end - if @company_name.nil? - invalid_properties.push('invalid value for "company_name", company_name cannot be nil.') + if @configurations.nil? + invalid_properties.push('invalid value for "configurations", configurations cannot be nil.') end - if @connection_type.nil? - invalid_properties.push('invalid value for "connection_type", connection_type cannot be nil.') + if @dependencies.nil? + invalid_properties.push('invalid value for "dependencies", dependencies cannot be nil.') end - if @country.nil? - invalid_properties.push('invalid value for "country", country cannot be nil.') + if @deployment_units.nil? + invalid_properties.push('invalid value for "deployment_units", deployment_units cannot be nil.') end - if @country_code.nil? - invalid_properties.push('invalid value for "country_code", country_code cannot be nil.') + if @frameworks.nil? + invalid_properties.push('invalid value for "frameworks", frameworks cannot be nil.') end - if @pdns.nil? - invalid_properties.push('invalid value for "pdns", pdns cannot be nil.') + if @libraries.nil? + invalid_properties.push('invalid value for "libraries", libraries cannot be nil.') end - if @rdns.nil? - invalid_properties.push('invalid value for "rdns", rdns cannot be nil.') + if @topics_queues.nil? + invalid_properties.push('invalid value for "topics_queues", topics_queues cannot be nil.') end invalid_properties @@ -212,16 +193,15 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @asn.nil? - return false if @asn_name.nil? - return false if @cidr.nil? - return false if @city.nil? - return false if @company_name.nil? - return false if @connection_type.nil? - return false if @country.nil? - return false if @country_code.nil? - return false if @pdns.nil? - return false if @rdns.nil? + return false if @service_now_service.nil? + return false if @apis.nil? + return false if @artifacts.nil? + return false if @configurations.nil? + return false if @dependencies.nil? + return false if @deployment_units.nil? + return false if @frameworks.nil? + return false if @libraries.nil? + return false if @topics_queues.nil? true end @@ -230,16 +210,15 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - asn == o.asn && - asn_name == o.asn_name && - cidr == o.cidr && - city == o.city && - company_name == o.company_name && - connection_type == o.connection_type && - country == o.country && - country_code == o.country_code && - pdns == o.pdns && - rdns == o.rdns + service_now_service == o.service_now_service && + apis == o.apis && + artifacts == o.artifacts && + configurations == o.configurations && + dependencies == o.dependencies && + deployment_units == o.deployment_units && + frameworks == o.frameworks && + libraries == o.libraries && + topics_queues == o.topics_queues end # @see the `==` method @@ -251,7 +230,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [asn, asn_name, cidr, city, company_name, connection_type, country, country_code, pdns, rdns].hash + [service_now_service, apis, artifacts, configurations, dependencies, deployment_units, frameworks, libraries, topics_queues].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/types_service_now_service_deployments.rb b/lib/crimson-falcon/models/types_service_now_service_deployments.rb new file mode 100644 index 00000000..75ddfcb5 --- /dev/null +++ b/lib/crimson-falcon/models/types_service_now_service_deployments.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceNowServiceDeployments + attr_accessor :deployments + + attr_accessor :service_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'deployments' => :'deployments', + :'service_id' => :'service_id' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'deployments' => :'Array', + :'service_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceNowServiceDeployments` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceNowServiceDeployments`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'deployments') + if (value = attributes[:'deployments']).is_a?(Array) + self.deployments = value + end + end + + if attributes.key?(:'service_id') + self.service_id = attributes[:'service_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @deployments.nil? + invalid_properties.push('invalid value for "deployments", deployments cannot be nil.') + end + + if @service_id.nil? + invalid_properties.push('invalid value for "service_id", service_id cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @deployments.nil? + return false if @service_id.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + deployments == o.deployments && + service_id == o.service_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [deployments, service_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_now_services_response.rb b/lib/crimson-falcon/models/types_service_now_services_response.rb new file mode 100644 index 00000000..60bdb7b6 --- /dev/null +++ b/lib/crimson-falcon/models/types_service_now_services_response.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceNowServicesResponse + attr_accessor :error + + attr_accessor :services + + attr_accessor :total_services + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'error' => :'error', + :'services' => :'services', + :'total_services' => :'total_services' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'error' => :'String', + :'services' => :'Array', + :'total_services' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceNowServicesResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceNowServicesResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'error') + self.error = attributes[:'error'] + end + + if attributes.key?(:'services') + if (value = attributes[:'services']).is_a?(Array) + self.services = value + end + end + + if attributes.key?(:'total_services') + self.total_services = attributes[:'total_services'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @error.nil? + invalid_properties.push('invalid value for "error", error cannot be nil.') + end + + if @services.nil? + invalid_properties.push('invalid value for "services", services cannot be nil.') + end + + if @total_services.nil? + invalid_properties.push('invalid value for "total_services", total_services cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @error.nil? + return false if @services.nil? + return false if @total_services.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + error == o.error && + services == o.services && + total_services == o.total_services + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [error, services, total_services].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_service_artifact.rb b/lib/crimson-falcon/models/types_service_service_artifact.rb new file mode 100644 index 00000000..417debc0 --- /dev/null +++ b/lib/crimson-falcon/models/types_service_service_artifact.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceServiceArtifact + attr_accessor :count + + attr_accessor :items + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'count' => :'count', + :'items' => :'items' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'count' => :'Integer', + :'items' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceServiceArtifact` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceServiceArtifact`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'items') + if (value = attributes[:'items']).is_a?(Array) + self.items = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + items == o.items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [count, items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_service_business_application.rb b/lib/crimson-falcon/models/types_service_service_business_application.rb new file mode 100644 index 00000000..2a375ef5 --- /dev/null +++ b/lib/crimson-falcon/models/types_service_service_business_application.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceServiceBusinessApplication + attr_accessor :count + + attr_accessor :items + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'count' => :'count', + :'items' => :'items' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'count' => :'Integer', + :'items' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceServiceBusinessApplication` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceServiceBusinessApplication`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'items') + if (value = attributes[:'items']).is_a?(Array) + self.items = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + items == o.items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [count, items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_service_configuration.rb b/lib/crimson-falcon/models/types_service_service_configuration.rb new file mode 100644 index 00000000..7bfce618 --- /dev/null +++ b/lib/crimson-falcon/models/types_service_service_configuration.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceServiceConfiguration + attr_accessor :count + + attr_accessor :items + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'count' => :'count', + :'items' => :'items' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'count' => :'Integer', + :'items' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceServiceConfiguration` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceServiceConfiguration`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'items') + if (value = attributes[:'items']).is_a?(Array) + self.items = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + items == o.items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [count, items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_service_dependency.rb b/lib/crimson-falcon/models/types_service_service_dependency.rb new file mode 100644 index 00000000..899a308f --- /dev/null +++ b/lib/crimson-falcon/models/types_service_service_dependency.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceServiceDependency + attr_accessor :count + + attr_accessor :items + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'count' => :'count', + :'items' => :'items' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'count' => :'Integer', + :'items' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceServiceDependency` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceServiceDependency`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'items') + if (value = attributes[:'items']).is_a?(Array) + self.items = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + items == o.items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [count, items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_service_framework.rb b/lib/crimson-falcon/models/types_service_service_framework.rb new file mode 100644 index 00000000..7e223e22 --- /dev/null +++ b/lib/crimson-falcon/models/types_service_service_framework.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceServiceFramework + attr_accessor :count + + attr_accessor :items + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'count' => :'count', + :'items' => :'items' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'count' => :'Integer', + :'items' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceServiceFramework` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceServiceFramework`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'items') + if (value = attributes[:'items']).is_a?(Array) + self.items = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + items == o.items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [count, items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_service_interface.rb b/lib/crimson-falcon/models/types_service_service_interface.rb new file mode 100644 index 00000000..3e1e8faa --- /dev/null +++ b/lib/crimson-falcon/models/types_service_service_interface.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceServiceInterface + attr_accessor :count + + attr_accessor :items + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'count' => :'count', + :'items' => :'items' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'count' => :'Integer', + :'items' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceServiceInterface` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceServiceInterface`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'items') + if (value = attributes[:'items']).is_a?(Array) + self.items = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + items == o.items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [count, items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_service_library.rb b/lib/crimson-falcon/models/types_service_service_library.rb new file mode 100644 index 00000000..0336c240 --- /dev/null +++ b/lib/crimson-falcon/models/types_service_service_library.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceServiceLibrary + attr_accessor :count + + attr_accessor :items + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'count' => :'count', + :'items' => :'items' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'count' => :'Integer', + :'items' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceServiceLibrary` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceServiceLibrary`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'items') + if (value = attributes[:'items']).is_a?(Array) + self.items = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + items == o.items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [count, items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_service_tag.rb b/lib/crimson-falcon/models/types_service_service_tag.rb new file mode 100644 index 00000000..47cf0652 --- /dev/null +++ b/lib/crimson-falcon/models/types_service_service_tag.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceServiceTag + attr_accessor :count + + attr_accessor :items + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'count' => :'count', + :'items' => :'items' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'count' => :'Integer', + :'items' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceServiceTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceServiceTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'items') + if (value = attributes[:'items']).is_a?(Array) + self.items = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + items == o.items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [count, items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_service_service_traits.rb b/lib/crimson-falcon/models/types_service_service_traits.rb new file mode 100644 index 00000000..8e07ce95 --- /dev/null +++ b/lib/crimson-falcon/models/types_service_service_traits.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesServiceServiceTraits + attr_accessor :count + + attr_accessor :items + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'count' => :'count', + :'items' => :'items' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'count' => :'Integer', + :'items' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesServiceServiceTraits` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesServiceServiceTraits`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'count') + self.count = attributes[:'count'] + end + + if attributes.key?(:'items') + if (value = attributes[:'items']).is_a?(Array) + self.items = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + count == o.count && + items == o.items + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [count, items].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_snyk_metadata.rb b/lib/crimson-falcon/models/types_snyk_metadata.rb new file mode 100644 index 00000000..bdd32191 --- /dev/null +++ b/lib/crimson-falcon/models/types_snyk_metadata.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesSnykMetadata + attr_accessor :api_endpoint_url + + attr_accessor :app_endpoint_url + + attr_accessor :group_id + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'api_endpoint_url' => :'apiEndpointUrl', + :'app_endpoint_url' => :'appEndpointUrl', + :'group_id' => :'groupId' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'api_endpoint_url' => :'String', + :'app_endpoint_url' => :'String', + :'group_id' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesSnykMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesSnykMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'api_endpoint_url') + self.api_endpoint_url = attributes[:'api_endpoint_url'] + end + + if attributes.key?(:'app_endpoint_url') + self.app_endpoint_url = attributes[:'app_endpoint_url'] + end + + if attributes.key?(:'group_id') + self.group_id = attributes[:'group_id'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + api_endpoint_url == o.api_endpoint_url && + app_endpoint_url == o.app_endpoint_url && + group_id == o.group_id + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [api_endpoint_url, app_endpoint_url, group_id].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_sonatype_metadata.rb b/lib/crimson-falcon/models/types_sonatype_metadata.rb new file mode 100644 index 00000000..5341380b --- /dev/null +++ b/lib/crimson-falcon/models/types_sonatype_metadata.rb @@ -0,0 +1,261 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesSonatypeMetadata + attr_accessor :cveid + + attr_accessor :application_public_id + + attr_accessor :component_name_version + + attr_accessor :iq_server_url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cveid' => :'CVEId', + :'application_public_id' => :'applicationPublicId', + :'component_name_version' => :'componentNameVersion', + :'iq_server_url' => :'iqServerUrl' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cveid' => :'String', + :'application_public_id' => :'String', + :'component_name_version' => :'String', + :'iq_server_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesSonatypeMetadata` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesSonatypeMetadata`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cveid') + self.cveid = attributes[:'cveid'] + end + + if attributes.key?(:'application_public_id') + self.application_public_id = attributes[:'application_public_id'] + end + + if attributes.key?(:'component_name_version') + self.component_name_version = attributes[:'component_name_version'] + end + + if attributes.key?(:'iq_server_url') + self.iq_server_url = attributes[:'iq_server_url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cveid == o.cveid && + application_public_id == o.application_public_id && + component_name_version == o.component_name_version && + iq_server_url == o.iq_server_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cveid, application_public_id, component_name_version, iq_server_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/v2_condition_parameters.rb b/lib/crimson-falcon/models/types_struct.rb similarity index 95% rename from lib/crimson-falcon/models/v2_condition_parameters.rb rename to lib/crimson-falcon/models/types_struct.rb index c8325161..1956500e 100644 --- a/lib/crimson-falcon/models/v2_condition_parameters.rb +++ b/lib/crimson-falcon/models/types_struct.rb @@ -31,13 +31,13 @@ require 'time' module Falcon - class V2ConditionParameters + class TypesStruct attr_accessor :fields # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'fields' => :'fields' + :'fields' => :'Fields' } end @@ -49,7 +49,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'fields' => :'Hash' + :'fields' => :'Hash' } end @@ -63,13 +63,13 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::V2ConditionParameters` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesStruct` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::V2ConditionParameters`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesStruct`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } diff --git a/lib/crimson-falcon/models/types_tag.rb b/lib/crimson-falcon/models/types_tag.rb new file mode 100644 index 00000000..6624876c --- /dev/null +++ b/lib/crimson-falcon/models/types_tag.rb @@ -0,0 +1,310 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesTag + attr_accessor :automated + + attr_accessor :id + + attr_accessor :is_default + + attr_accessor :is_sensitive + + attr_accessor :name + + attr_accessor :persistent_signatures + + attr_accessor :reason_tag + + attr_accessor :type + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'automated' => :'automated', + :'id' => :'id', + :'is_default' => :'isDefault', + :'is_sensitive' => :'is_sensitive', + :'name' => :'name', + :'persistent_signatures' => :'persistentSignatures', + :'reason_tag' => :'reason_tag', + :'type' => :'type', + :'value' => :'value' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'automated' => :'Boolean', + :'id' => :'Integer', + :'is_default' => :'Boolean', + :'is_sensitive' => :'Boolean', + :'name' => :'String', + :'persistent_signatures' => :'Array', + :'reason_tag' => :'Array', + :'type' => :'String', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesTag` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesTag`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'automated') + self.automated = attributes[:'automated'] + end + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'is_default') + self.is_default = attributes[:'is_default'] + end + + if attributes.key?(:'is_sensitive') + self.is_sensitive = attributes[:'is_sensitive'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'persistent_signatures') + if (value = attributes[:'persistent_signatures']).is_a?(Array) + self.persistent_signatures = value + end + end + + if attributes.key?(:'reason_tag') + if (value = attributes[:'reason_tag']).is_a?(Array) + self.reason_tag = value + end + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + automated == o.automated && + id == o.id && + is_default == o.is_default && + is_sensitive == o.is_sensitive && + name == o.name && + persistent_signatures == o.persistent_signatures && + reason_tag == o.reason_tag && + type == o.type && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [automated, id, is_default, is_sensitive, name, persistent_signatures, reason_tag, type, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_tag_data.rb b/lib/crimson-falcon/models/types_tag_data.rb new file mode 100644 index 00000000..0c65e241 --- /dev/null +++ b/lib/crimson-falcon/models/types_tag_data.rb @@ -0,0 +1,274 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesTagData + attr_accessor :automations + + attr_accessor :classifiers + + attr_accessor :is_default + + attr_accessor :service_count + + attr_accessor :tag + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'automations' => :'automations', + :'classifiers' => :'classifiers', + :'is_default' => :'isDefault', + :'service_count' => :'serviceCount', + :'tag' => :'tag' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'automations' => :'Array', + :'classifiers' => :'Array', + :'is_default' => :'Boolean', + :'service_count' => :'Integer', + :'tag' => :'TypesTag' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesTagData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesTagData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'automations') + if (value = attributes[:'automations']).is_a?(Array) + self.automations = value + end + end + + if attributes.key?(:'classifiers') + if (value = attributes[:'classifiers']).is_a?(Array) + self.classifiers = value + end + end + + if attributes.key?(:'is_default') + self.is_default = attributes[:'is_default'] + end + + if attributes.key?(:'service_count') + self.service_count = attributes[:'service_count'] + end + + if attributes.key?(:'tag') + self.tag = attributes[:'tag'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + automations == o.automations && + classifiers == o.classifiers && + is_default == o.is_default && + service_count == o.service_count && + tag == o.tag + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [automations, classifiers, is_default, service_count, tag].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_tag_entry.rb b/lib/crimson-falcon/models/types_tag_entry.rb new file mode 100644 index 00000000..7e6f7563 --- /dev/null +++ b/lib/crimson-falcon/models/types_tag_entry.rb @@ -0,0 +1,257 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesTagEntry + attr_accessor :is_sensitive + + attr_accessor :persistent_signature + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'is_sensitive' => :'isSensitive', + :'persistent_signature' => :'persistentSignature', + :'value' => :'value' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'is_sensitive' => :'Boolean', + :'persistent_signature' => :'String', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesTagEntry` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesTagEntry`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'is_sensitive') + self.is_sensitive = attributes[:'is_sensitive'] + end + + if attributes.key?(:'persistent_signature') + self.persistent_signature = attributes[:'persistent_signature'] + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @persistent_signature.nil? + invalid_properties.push('invalid value for "persistent_signature", persistent_signature cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @persistent_signature.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + is_sensitive == o.is_sensitive && + persistent_signature == o.persistent_signature && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [is_sensitive, persistent_signature, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_tags_data_response.rb b/lib/crimson-falcon/models/types_tags_data_response.rb new file mode 100644 index 00000000..da9f226b --- /dev/null +++ b/lib/crimson-falcon/models/types_tags_data_response.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesTagsDataResponse + attr_accessor :tags + + attr_accessor :total_count + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'tags' => :'tags', + :'total_count' => :'totalCount' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'tags' => :'Array', + :'total_count' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesTagsDataResponse` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesTagsDataResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'tags') + if (value = attributes[:'tags']).is_a?(Array) + self.tags = value + end + end + + if attributes.key?(:'total_count') + self.total_count = attributes[:'total_count'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + tags == o.tags && + total_count == o.total_count + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [tags, total_count].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_timestamp.rb b/lib/crimson-falcon/models/types_timestamp.rb new file mode 100644 index 00000000..aaf9c450 --- /dev/null +++ b/lib/crimson-falcon/models/types_timestamp.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesTimestamp + attr_accessor :nanos + + attr_accessor :seconds + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'nanos' => :'nanos', + :'seconds' => :'seconds' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'nanos' => :'Integer', + :'seconds' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesTimestamp` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesTimestamp`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'nanos') + self.nanos = attributes[:'nanos'] + end + + if attributes.key?(:'seconds') + self.seconds = attributes[:'seconds'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @nanos.nil? + invalid_properties.push('invalid value for "nanos", nanos cannot be nil.') + end + + if @seconds.nil? + invalid_properties.push('invalid value for "seconds", seconds cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @nanos.nil? + return false if @seconds.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + nanos == o.nanos && + seconds == o.seconds + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [nanos, seconds].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_trait.rb b/lib/crimson-falcon/models/types_trait.rb new file mode 100644 index 00000000..27127fe5 --- /dev/null +++ b/lib/crimson-falcon/models/types_trait.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesTrait + attr_accessor :id + + attr_accessor :name + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'id' => :'id', + :'name' => :'name', + :'value' => :'value' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'id' => :'Integer', + :'name' => :'String', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesTrait` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesTrait`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'id') + self.id = attributes[:'id'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + id == o.id && + name == o.name && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [id, name, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_tuple_to_string.rb b/lib/crimson-falcon/models/types_tuple_to_string.rb new file mode 100644 index 00000000..ba3e5c04 --- /dev/null +++ b/lib/crimson-falcon/models/types_tuple_to_string.rb @@ -0,0 +1,243 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesTupleToString + attr_accessor :key + + attr_accessor :value + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'key' => :'key', + :'value' => :'value' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'key' => :'String', + :'value' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesTupleToString` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesTupleToString`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'key') + self.key = attributes[:'key'] + end + + if attributes.key?(:'value') + self.value = attributes[:'value'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + key == o.key && + value == o.value + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [key, value].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_entity.rb b/lib/crimson-falcon/models/types_unique_tag_entry.rb similarity index 87% rename from lib/crimson-falcon/models/domain_entity.rb rename to lib/crimson-falcon/models/types_unique_tag_entry.rb index 0f8ada4b..6c13addd 100644 --- a/lib/crimson-falcon/models/domain_entity.rb +++ b/lib/crimson-falcon/models/types_unique_tag_entry.rb @@ -31,25 +31,21 @@ require 'time' module Falcon - class DomainEntity - # numerical id ensuring data integrity - attr_accessor :id + class TypesUniqueTagEntry + attr_accessor :is_sensitive - # name of the entity attr_accessor :name - # search and url friendly value, usually lowercase representation of value with spaces replaced with dashes, except for countries where 2 letters codes are used - attr_accessor :slug + attr_accessor :tag_type - # string value of the generic entity which is searchable and filterable attr_accessor :value # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'id' => :'id', + :'is_sensitive' => :'isSensitive', :'name' => :'name', - :'slug' => :'slug', + :'tag_type' => :'tag_type', :'value' => :'value' } end @@ -62,9 +58,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'id' => :'Integer', + :'is_sensitive' => :'Boolean', :'name' => :'String', - :'slug' => :'String', + :'tag_type' => :'String', :'value' => :'String' } end @@ -79,27 +75,27 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainEntity` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesUniqueTagEntry` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainEntity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesUniqueTagEntry`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'id') - self.id = attributes[:'id'] + if attributes.key?(:'is_sensitive') + self.is_sensitive = attributes[:'is_sensitive'] end if attributes.key?(:'name') self.name = attributes[:'name'] end - if attributes.key?(:'slug') - self.slug = attributes[:'slug'] + if attributes.key?(:'tag_type') + self.tag_type = attributes[:'tag_type'] end if attributes.key?(:'value') @@ -111,17 +107,12 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @id.nil? - invalid_properties.push('invalid value for "id", id cannot be nil.') - end - invalid_properties end # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @id.nil? true end @@ -130,9 +121,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - id == o.id && + is_sensitive == o.is_sensitive && name == o.name && - slug == o.slug && + tag_type == o.tag_type && value == o.value end @@ -145,7 +136,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [id, name, slug, value].hash + [is_sensitive, name, tag_type, value].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/types_update_integration_request.rb b/lib/crimson-falcon/models/types_update_integration_request.rb new file mode 100644 index 00000000..f9bc26ed --- /dev/null +++ b/lib/crimson-falcon/models/types_update_integration_request.rb @@ -0,0 +1,245 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesUpdateIntegrationRequest + attr_accessor :integration + + attr_accessor :overwrite_fields + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration' => :'integration', + :'overwrite_fields' => :'overwriteFields' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration' => :'TypesIntegration', + :'overwrite_fields' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesUpdateIntegrationRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesUpdateIntegrationRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration') + self.integration = attributes[:'integration'] + end + + if attributes.key?(:'overwrite_fields') + if (value = attributes[:'overwrite_fields']).is_a?(Array) + self.overwrite_fields = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration == o.integration && + overwrite_fields == o.overwrite_fields + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration, overwrite_fields].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_update_integration_task_request.rb b/lib/crimson-falcon/models/types_update_integration_task_request.rb new file mode 100644 index 00000000..fada82c8 --- /dev/null +++ b/lib/crimson-falcon/models/types_update_integration_task_request.rb @@ -0,0 +1,234 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesUpdateIntegrationTaskRequest + attr_accessor :integration_task + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'integration_task' => :'integration_task' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'integration_task' => :'TypesIntegrationTask' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesUpdateIntegrationTaskRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesUpdateIntegrationTaskRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'integration_task') + self.integration_task = attributes[:'integration_task'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + integration_task == o.integration_task + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [integration_task].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/types_upsert_business_application_request.rb b/lib/crimson-falcon/models/types_upsert_business_application_request.rb new file mode 100644 index 00000000..66e13f39 --- /dev/null +++ b/lib/crimson-falcon/models/types_upsert_business_application_request.rb @@ -0,0 +1,255 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class TypesUpsertBusinessApplicationRequest + attr_accessor :name + + attr_accessor :persistent_signatures + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'name' => :'name', + :'persistent_signatures' => :'persistentSignatures' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'name' => :'String', + :'persistent_signatures' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::TypesUpsertBusinessApplicationRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::TypesUpsertBusinessApplicationRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'persistent_signatures') + if (value = attributes[:'persistent_signatures']).is_a?(Array) + self.persistent_signatures = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @name.nil? + invalid_properties.push('invalid value for "name", name cannot be nil.') + end + + if @persistent_signatures.nil? + invalid_properties.push('invalid value for "persistent_signatures", persistent_signatures cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @name.nil? + return false if @persistent_signatures.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + name == o.name && + persistent_signatures == o.persistent_signatures + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [name, persistent_signatures].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/unidentifiedcontainers_unidentified_container_api_response.rb b/lib/crimson-falcon/models/unidentifiedcontainers_unidentified_container_api_response.rb index cf428de7..042c9974 100644 --- a/lib/crimson-falcon/models/unidentifiedcontainers_unidentified_container_api_response.rb +++ b/lib/crimson-falcon/models/unidentifiedcontainers_unidentified_container_api_response.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/unidentifiedcontainers_unidentified_containers_count_value.rb b/lib/crimson-falcon/models/unidentifiedcontainers_unidentified_containers_count_value.rb index a557f53b..800cc774 100644 --- a/lib/crimson-falcon/models/unidentifiedcontainers_unidentified_containers_count_value.rb +++ b/lib/crimson-falcon/models/unidentifiedcontainers_unidentified_containers_count_value.rb @@ -56,8 +56,8 @@ def self.acceptable_attributes def self.openapi_types { :'resources' => :'Array', - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo' + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo' } end diff --git a/lib/crimson-falcon/models/uninstall_token_resp_v1.rb b/lib/crimson-falcon/models/uninstall_token_resp_v1.rb index 3e5b8971..57bd1cf4 100644 --- a/lib/crimson-falcon/models/uninstall_token_resp_v1.rb +++ b/lib/crimson-falcon/models/uninstall_token_resp_v1.rb @@ -57,8 +57,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/v2_activity.rb b/lib/crimson-falcon/models/v2_activity.rb index af0cb3d0..ea759fcf 100644 --- a/lib/crimson-falcon/models/v2_activity.rb +++ b/lib/crimson-falcon/models/v2_activity.rb @@ -32,6 +32,8 @@ module Falcon class V2Activity + attr_accessor :_class + attr_accessor :id attr_accessor :_next @@ -41,6 +43,7 @@ class V2Activity # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'_class' => :'class', :'id' => :'id', :'_next' => :'next', :'properties' => :'properties' @@ -55,6 +58,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'_class' => :'String', :'id' => :'String', :'_next' => :'Array', :'properties' => :'Object' @@ -82,6 +86,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'_class') + self._class = attributes[:'_class'] + end + if attributes.key?(:'id') self.id = attributes[:'id'] end @@ -125,6 +133,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + _class == o._class && id == o.id && _next == o._next && properties == o.properties @@ -139,7 +148,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [id, _next, properties].hash + [_class, id, _next, properties].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/v2_condition.rb b/lib/crimson-falcon/models/v2_condition.rb index bc655ece..8797c699 100644 --- a/lib/crimson-falcon/models/v2_condition.rb +++ b/lib/crimson-falcon/models/v2_condition.rb @@ -32,6 +32,8 @@ module Falcon class V2Condition + attr_accessor :cel_expression + attr_accessor :display attr_accessor :_else @@ -45,6 +47,7 @@ class V2Condition # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'cel_expression' => :'cel_expression', :'display' => :'display', :'_else' => :'else', :'else_if' => :'else_if', @@ -61,6 +64,7 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'cel_expression' => :'String', :'display' => :'Array', :'_else' => :'Array', :'else_if' => :'String', @@ -90,6 +94,10 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'cel_expression') + self.cel_expression = attributes[:'cel_expression'] + end + if attributes.key?(:'display') if (value = attributes[:'display']).is_a?(Array) self.display = value @@ -121,10 +129,6 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @expression.nil? - invalid_properties.push('invalid value for "expression", expression cannot be nil.') - end - if @_next.nil? invalid_properties.push('invalid value for "_next", _next cannot be nil.') end @@ -135,7 +139,6 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @expression.nil? return false if @_next.nil? true end @@ -145,6 +148,7 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + cel_expression == o.cel_expression && display == o.display && _else == o._else && else_if == o.else_if && @@ -161,7 +165,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [display, _else, else_if, expression, _next].hash + [cel_expression, display, _else, else_if, expression, _next].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/v2_condition_groups.rb b/lib/crimson-falcon/models/v2_condition_groups.rb new file mode 100644 index 00000000..66eaadd0 --- /dev/null +++ b/lib/crimson-falcon/models/v2_condition_groups.rb @@ -0,0 +1,257 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class V2ConditionGroups + attr_accessor :fields + + attr_accessor :parameter_order + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'fields' => :'fields', + :'parameter_order' => :'parameter_order' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'fields' => :'Hash', + :'parameter_order' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::V2ConditionGroups` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::V2ConditionGroups`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'fields') + if (value = attributes[:'fields']).is_a?(Hash) + self.fields = value + end + end + + if attributes.key?(:'parameter_order') + if (value = attributes[:'parameter_order']).is_a?(Array) + self.parameter_order = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @fields.nil? + invalid_properties.push('invalid value for "fields", fields cannot be nil.') + end + + if @parameter_order.nil? + invalid_properties.push('invalid value for "parameter_order", parameter_order cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @fields.nil? + return false if @parameter_order.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + fields == o.fields && + parameter_order == o.parameter_order + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [fields, parameter_order].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/v2_definition.rb b/lib/crimson-falcon/models/v2_definition.rb index 1714a16a..d814699d 100644 --- a/lib/crimson-falcon/models/v2_definition.rb +++ b/lib/crimson-falcon/models/v2_definition.rb @@ -48,16 +48,26 @@ class V2Definition attr_accessor :node_registry + attr_accessor :output_fields + attr_accessor :parameters + attr_accessor :parent + attr_accessor :provision_on_install + attr_accessor :summary + attr_accessor :trigger attr_accessor :type attr_accessor :uniq_node_seen + attr_accessor :use_cases + + attr_accessor :vendors + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { @@ -69,11 +79,16 @@ def self.attribute_map :'multi_instance' => :'multi_instance', :'name' => :'name', :'node_registry' => :'nodeRegistry', + :'output_fields' => :'output_fields', :'parameters' => :'parameters', + :'parent' => :'parent', :'provision_on_install' => :'provision_on_install', + :'summary' => :'summary', :'trigger' => :'trigger', :'type' => :'type', - :'uniq_node_seen' => :'uniqNodeSeen' + :'uniq_node_seen' => :'uniqNodeSeen', + :'use_cases' => :'use_cases', + :'vendors' => :'vendors' } end @@ -93,11 +108,16 @@ def self.openapi_types :'multi_instance' => :'Boolean', :'name' => :'String', :'node_registry' => :'Hash', + :'output_fields' => :'Array', :'parameters' => :'V2Parameters', + :'parent' => :'V2Model', :'provision_on_install' => :'Boolean', + :'summary' => :'String', :'trigger' => :'V2Trigger', :'type' => :'String', - :'uniq_node_seen' => :'Hash' + :'uniq_node_seen' => :'Hash', + :'use_cases' => :'Array', + :'vendors' => :'Array' } end @@ -164,14 +184,28 @@ def initialize(attributes = {}) end end + if attributes.key?(:'output_fields') + if (value = attributes[:'output_fields']).is_a?(Array) + self.output_fields = value + end + end + if attributes.key?(:'parameters') self.parameters = attributes[:'parameters'] end + if attributes.key?(:'parent') + self.parent = attributes[:'parent'] + end + if attributes.key?(:'provision_on_install') self.provision_on_install = attributes[:'provision_on_install'] end + if attributes.key?(:'summary') + self.summary = attributes[:'summary'] + end + if attributes.key?(:'trigger') self.trigger = attributes[:'trigger'] end @@ -185,6 +219,18 @@ def initialize(attributes = {}) self.uniq_node_seen = value end end + + if attributes.key?(:'use_cases') + if (value = attributes[:'use_cases']).is_a?(Array) + self.use_cases = value + end + end + + if attributes.key?(:'vendors') + if (value = attributes[:'vendors']).is_a?(Array) + self.vendors = value + end + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -199,6 +245,10 @@ def list_invalid_properties invalid_properties.push('invalid value for "node_registry", node_registry cannot be nil.') end + if @parent.nil? + invalid_properties.push('invalid value for "parent", parent cannot be nil.') + end + if @trigger.nil? invalid_properties.push('invalid value for "trigger", trigger cannot be nil.') end @@ -215,6 +265,7 @@ def list_invalid_properties def valid? return false if @name.nil? return false if @node_registry.nil? + return false if @parent.nil? return false if @trigger.nil? return false if @uniq_node_seen.nil? true @@ -233,11 +284,16 @@ def ==(o) multi_instance == o.multi_instance && name == o.name && node_registry == o.node_registry && + output_fields == o.output_fields && parameters == o.parameters && + parent == o.parent && provision_on_install == o.provision_on_install && + summary == o.summary && trigger == o.trigger && type == o.type && - uniq_node_seen == o.uniq_node_seen + uniq_node_seen == o.uniq_node_seen && + use_cases == o.use_cases && + vendors == o.vendors end # @see the `==` method @@ -249,7 +305,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [actions, conditions, description, labels, loops, multi_instance, name, node_registry, parameters, provision_on_install, trigger, type, uniq_node_seen].hash + [actions, conditions, description, labels, loops, multi_instance, name, node_registry, output_fields, parameters, parent, provision_on_install, summary, trigger, type, uniq_node_seen, use_cases, vendors].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/v2_for_loop.rb b/lib/crimson-falcon/models/v2_for_loop.rb index 3e3febaf..627f55b1 100644 --- a/lib/crimson-falcon/models/v2_for_loop.rb +++ b/lib/crimson-falcon/models/v2_for_loop.rb @@ -32,15 +32,30 @@ module Falcon class V2ForLoop + attr_accessor :condition + + attr_accessor :condition_display + attr_accessor :continue_on_partial_execution attr_accessor :input + attr_accessor :max_execution_seconds + + attr_accessor :max_iteration_count + + attr_accessor :sequential + # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { + :'condition' => :'condition', + :'condition_display' => :'condition_display', :'continue_on_partial_execution' => :'continue_on_partial_execution', - :'input' => :'input' + :'input' => :'input', + :'max_execution_seconds' => :'max_execution_seconds', + :'max_iteration_count' => :'max_iteration_count', + :'sequential' => :'sequential' } end @@ -52,8 +67,13 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { + :'condition' => :'String', + :'condition_display' => :'Array', :'continue_on_partial_execution' => :'Boolean', - :'input' => :'String' + :'input' => :'String', + :'max_execution_seconds' => :'Integer', + :'max_iteration_count' => :'Integer', + :'sequential' => :'Boolean' } end @@ -78,6 +98,16 @@ def initialize(attributes = {}) h[k.to_sym] = v } + if attributes.key?(:'condition') + self.condition = attributes[:'condition'] + end + + if attributes.key?(:'condition_display') + if (value = attributes[:'condition_display']).is_a?(Array) + self.condition_display = value + end + end + if attributes.key?(:'continue_on_partial_execution') self.continue_on_partial_execution = attributes[:'continue_on_partial_execution'] end @@ -85,6 +115,18 @@ def initialize(attributes = {}) if attributes.key?(:'input') self.input = attributes[:'input'] end + + if attributes.key?(:'max_execution_seconds') + self.max_execution_seconds = attributes[:'max_execution_seconds'] + end + + if attributes.key?(:'max_iteration_count') + self.max_iteration_count = attributes[:'max_iteration_count'] + end + + if attributes.key?(:'sequential') + self.sequential = attributes[:'sequential'] + end end # Show invalid properties with the reasons. Usually used together with valid? @@ -115,8 +157,13 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && + condition == o.condition && + condition_display == o.condition_display && continue_on_partial_execution == o.continue_on_partial_execution && - input == o.input + input == o.input && + max_execution_seconds == o.max_execution_seconds && + max_iteration_count == o.max_iteration_count && + sequential == o.sequential end # @see the `==` method @@ -128,7 +175,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [continue_on_partial_execution, input].hash + [condition, condition_display, continue_on_partial_execution, input, max_execution_seconds, max_iteration_count, sequential].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/v2_loop.rb b/lib/crimson-falcon/models/v2_loop.rb index 286b114a..3aae7465 100644 --- a/lib/crimson-falcon/models/v2_loop.rb +++ b/lib/crimson-falcon/models/v2_loop.rb @@ -36,6 +36,8 @@ class V2Loop attr_accessor :conditions + attr_accessor :display + attr_accessor :_for attr_accessor :_next @@ -47,6 +49,7 @@ def self.attribute_map { :'actions' => :'actions', :'conditions' => :'conditions', + :'display' => :'display', :'_for' => :'for', :'_next' => :'next', :'trigger' => :'trigger' @@ -63,6 +66,7 @@ def self.openapi_types { :'actions' => :'Hash', :'conditions' => :'Hash', + :'display' => :'String', :'_for' => :'V2ForLoop', :'_next' => :'Array', :'trigger' => :'V2Trigger' @@ -102,6 +106,10 @@ def initialize(attributes = {}) end end + if attributes.key?(:'display') + self.display = attributes[:'display'] + end + if attributes.key?(:'_for') self._for = attributes[:'_for'] end @@ -142,6 +150,7 @@ def ==(o) self.class == o.class && actions == o.actions && conditions == o.conditions && + display == o.display && _for == o._for && _next == o._next && trigger == o.trigger @@ -156,7 +165,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [actions, conditions, _for, _next, trigger].hash + [actions, conditions, display, _for, _next, trigger].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/models/v2_model.rb b/lib/crimson-falcon/models/v2_model.rb new file mode 100644 index 00000000..31d4051a --- /dev/null +++ b/lib/crimson-falcon/models/v2_model.rb @@ -0,0 +1,338 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class V2Model + attr_accessor :actions + + attr_accessor :conditions + + attr_accessor :loops + + attr_accessor :node_registry + + attr_accessor :output_fields + + attr_accessor :parent + + attr_accessor :summary + + attr_accessor :trigger + + attr_accessor :uniq_node_seen + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'actions' => :'actions', + :'conditions' => :'conditions', + :'loops' => :'loops', + :'node_registry' => :'nodeRegistry', + :'output_fields' => :'output_fields', + :'parent' => :'parent', + :'summary' => :'summary', + :'trigger' => :'trigger', + :'uniq_node_seen' => :'uniqNodeSeen' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'actions' => :'Hash', + :'conditions' => :'Hash', + :'loops' => :'Hash', + :'node_registry' => :'Hash', + :'output_fields' => :'Array', + :'parent' => :'V2Model', + :'summary' => :'String', + :'trigger' => :'V2Trigger', + :'uniq_node_seen' => :'Hash' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::V2Model` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::V2Model`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'actions') + if (value = attributes[:'actions']).is_a?(Hash) + self.actions = value + end + end + + if attributes.key?(:'conditions') + if (value = attributes[:'conditions']).is_a?(Hash) + self.conditions = value + end + end + + if attributes.key?(:'loops') + if (value = attributes[:'loops']).is_a?(Hash) + self.loops = value + end + end + + if attributes.key?(:'node_registry') + if (value = attributes[:'node_registry']).is_a?(Hash) + self.node_registry = value + end + end + + if attributes.key?(:'output_fields') + if (value = attributes[:'output_fields']).is_a?(Array) + self.output_fields = value + end + end + + if attributes.key?(:'parent') + self.parent = attributes[:'parent'] + end + + if attributes.key?(:'summary') + self.summary = attributes[:'summary'] + end + + if attributes.key?(:'trigger') + self.trigger = attributes[:'trigger'] + end + + if attributes.key?(:'uniq_node_seen') + if (value = attributes[:'uniq_node_seen']).is_a?(Hash) + self.uniq_node_seen = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @node_registry.nil? + invalid_properties.push('invalid value for "node_registry", node_registry cannot be nil.') + end + + if @parent.nil? + invalid_properties.push('invalid value for "parent", parent cannot be nil.') + end + + if @trigger.nil? + invalid_properties.push('invalid value for "trigger", trigger cannot be nil.') + end + + if @uniq_node_seen.nil? + invalid_properties.push('invalid value for "uniq_node_seen", uniq_node_seen cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @node_registry.nil? + return false if @parent.nil? + return false if @trigger.nil? + return false if @uniq_node_seen.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + actions == o.actions && + conditions == o.conditions && + loops == o.loops && + node_registry == o.node_registry && + output_fields == o.output_fields && + parent == o.parent && + summary == o.summary && + trigger == o.trigger && + uniq_node_seen == o.uniq_node_seen + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [actions, conditions, loops, node_registry, output_fields, parent, summary, trigger, uniq_node_seen].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/v2_parameters.rb b/lib/crimson-falcon/models/v2_parameters.rb index e55ff1d8..b2404eee 100644 --- a/lib/crimson-falcon/models/v2_parameters.rb +++ b/lib/crimson-falcon/models/v2_parameters.rb @@ -60,7 +60,7 @@ def self.acceptable_attributes def self.openapi_types { :'actions' => :'V2ActivityParameters', - :'conditions' => :'Hash', + :'conditions' => :'Hash>', :'install_instructions' => :'String', :'trigger' => :'ParameterTriggerParameter' } diff --git a/lib/crimson-falcon/models/vulncheck_epss.rb b/lib/crimson-falcon/models/vulncheck_epss.rb new file mode 100644 index 00000000..cb0b4aa9 --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_epss.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckEPSS + attr_accessor :epss_percentile + + attr_accessor :epss_score + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'epss_percentile' => :'epss_percentile', + :'epss_score' => :'epss_score' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'epss_percentile' => :'Float', + :'epss_score' => :'Float' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckEPSS` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckEPSS`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'epss_percentile') + self.epss_percentile = attributes[:'epss_percentile'] + end + + if attributes.key?(:'epss_score') + self.epss_score = attributes[:'epss_score'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @epss_percentile.nil? + invalid_properties.push('invalid value for "epss_percentile", epss_percentile cannot be nil.') + end + + if @epss_score.nil? + invalid_properties.push('invalid value for "epss_score", epss_score cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @epss_percentile.nil? + return false if @epss_score.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + epss_percentile == o.epss_percentile && + epss_score == o.epss_score + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [epss_percentile, epss_score].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_botnets.rb b/lib/crimson-falcon/models/vulncheck_exploit_botnets.rb new file mode 100644 index 00000000..c4a81887 --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_botnets.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitBotnets + attr_accessor :botnet_name + + attr_accessor :cve_references + + attr_accessor :malpedia_url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'botnet_name' => :'botnet_name', + :'cve_references' => :'cve_references', + :'malpedia_url' => :'malpedia_url' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'botnet_name' => :'String', + :'cve_references' => :'Array', + :'malpedia_url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitBotnets` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitBotnets`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'botnet_name') + self.botnet_name = attributes[:'botnet_name'] + end + + if attributes.key?(:'cve_references') + if (value = attributes[:'cve_references']).is_a?(Array) + self.cve_references = value + end + end + + if attributes.key?(:'malpedia_url') + self.malpedia_url = attributes[:'malpedia_url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @botnet_name.nil? + invalid_properties.push('invalid value for "botnet_name", botnet_name cannot be nil.') + end + + if @cve_references.nil? + invalid_properties.push('invalid value for "cve_references", cve_references cannot be nil.') + end + + if @malpedia_url.nil? + invalid_properties.push('invalid value for "malpedia_url", malpedia_url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @botnet_name.nil? + return false if @cve_references.nil? + return false if @malpedia_url.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + botnet_name == o.botnet_name && + cve_references == o.cve_references && + malpedia_url == o.malpedia_url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [botnet_name, cve_references, malpedia_url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_counts.rb b/lib/crimson-falcon/models/vulncheck_exploit_counts.rb new file mode 100644 index 00000000..2c763ef6 --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_counts.rb @@ -0,0 +1,267 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitCounts + attr_accessor :botnets + + attr_accessor :exploits + + attr_accessor :threat_actors + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'botnets' => :'botnets', + :'exploits' => :'exploits', + :'threat_actors' => :'threat_actors' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'botnets' => :'Integer', + :'exploits' => :'Integer', + :'threat_actors' => :'Integer' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitCounts` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitCounts`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'botnets') + self.botnets = attributes[:'botnets'] + end + + if attributes.key?(:'exploits') + self.exploits = attributes[:'exploits'] + end + + if attributes.key?(:'threat_actors') + self.threat_actors = attributes[:'threat_actors'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @botnets.nil? + invalid_properties.push('invalid value for "botnets", botnets cannot be nil.') + end + + if @exploits.nil? + invalid_properties.push('invalid value for "exploits", exploits cannot be nil.') + end + + if @threat_actors.nil? + invalid_properties.push('invalid value for "threat_actors", threat_actors cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @botnets.nil? + return false if @exploits.nil? + return false if @threat_actors.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + botnets == o.botnets && + exploits == o.exploits && + threat_actors == o.threat_actors + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [botnets, exploits, threat_actors].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_cve_reference.rb b/lib/crimson-falcon/models/vulncheck_exploit_cve_reference.rb new file mode 100644 index 00000000..4c009958 --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_cve_reference.rb @@ -0,0 +1,269 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitCVEReference + attr_accessor :cve + + attr_accessor :date_added + + attr_accessor :url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cve' => :'cve', + :'date_added' => :'date_added', + :'url' => :'url' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cve' => :'Array', + :'date_added' => :'String', + :'url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitCVEReference` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitCVEReference`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cve') + if (value = attributes[:'cve']).is_a?(Array) + self.cve = value + end + end + + if attributes.key?(:'date_added') + self.date_added = attributes[:'date_added'] + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @cve.nil? + invalid_properties.push('invalid value for "cve", cve cannot be nil.') + end + + if @date_added.nil? + invalid_properties.push('invalid value for "date_added", date_added cannot be nil.') + end + + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @cve.nil? + return false if @date_added.nil? + return false if @url.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cve == o.cve && + date_added == o.date_added && + url == o.url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cve, date_added, url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_details.rb b/lib/crimson-falcon/models/vulncheck_exploit_details.rb new file mode 100644 index 00000000..37792c9f --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_details.rb @@ -0,0 +1,404 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitDetails + attr_accessor :botnets + + attr_accessor :counts + + attr_accessor :epss + + attr_accessor :exploit_found + + attr_accessor :exploits + + attr_accessor :max_exploit_maturity + + attr_accessor :ransomware + + attr_accessor :reported_exploited_by_botnets + + attr_accessor :reported_exploited_by_named_threat_actors + + attr_accessor :reported_exploited_by_ransomware + + attr_accessor :reported_exploited_in_the_wild + + attr_accessor :threat_actors + + attr_accessor :timeline + + attr_accessor :trending + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'botnets' => :'botnets', + :'counts' => :'counts', + :'epss' => :'epss', + :'exploit_found' => :'exploit_found', + :'exploits' => :'exploits', + :'max_exploit_maturity' => :'max_exploit_maturity', + :'ransomware' => :'ransomware', + :'reported_exploited_by_botnets' => :'reported_exploited_by_botnets', + :'reported_exploited_by_named_threat_actors' => :'reported_exploited_by_named_threat_actors', + :'reported_exploited_by_ransomware' => :'reported_exploited_by_ransomware', + :'reported_exploited_in_the_wild' => :'reported_exploited_in_the_wild', + :'threat_actors' => :'threat_actors', + :'timeline' => :'timeline', + :'trending' => :'trending' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'botnets' => :'Array', + :'counts' => :'VulncheckExploitCounts', + :'epss' => :'VulncheckEPSS', + :'exploit_found' => :'Boolean', + :'exploits' => :'Array', + :'max_exploit_maturity' => :'String', + :'ransomware' => :'Array', + :'reported_exploited_by_botnets' => :'Boolean', + :'reported_exploited_by_named_threat_actors' => :'Boolean', + :'reported_exploited_by_ransomware' => :'Boolean', + :'reported_exploited_in_the_wild' => :'Boolean', + :'threat_actors' => :'Array', + :'timeline' => :'VulncheckExploitTimeline', + :'trending' => :'VulncheckExploitTrending' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitDetails` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'botnets') + if (value = attributes[:'botnets']).is_a?(Array) + self.botnets = value + end + end + + if attributes.key?(:'counts') + self.counts = attributes[:'counts'] + end + + if attributes.key?(:'epss') + self.epss = attributes[:'epss'] + end + + if attributes.key?(:'exploit_found') + self.exploit_found = attributes[:'exploit_found'] + end + + if attributes.key?(:'exploits') + if (value = attributes[:'exploits']).is_a?(Array) + self.exploits = value + end + end + + if attributes.key?(:'max_exploit_maturity') + self.max_exploit_maturity = attributes[:'max_exploit_maturity'] + end + + if attributes.key?(:'ransomware') + if (value = attributes[:'ransomware']).is_a?(Array) + self.ransomware = value + end + end + + if attributes.key?(:'reported_exploited_by_botnets') + self.reported_exploited_by_botnets = attributes[:'reported_exploited_by_botnets'] + end + + if attributes.key?(:'reported_exploited_by_named_threat_actors') + self.reported_exploited_by_named_threat_actors = attributes[:'reported_exploited_by_named_threat_actors'] + end + + if attributes.key?(:'reported_exploited_by_ransomware') + self.reported_exploited_by_ransomware = attributes[:'reported_exploited_by_ransomware'] + end + + if attributes.key?(:'reported_exploited_in_the_wild') + self.reported_exploited_in_the_wild = attributes[:'reported_exploited_in_the_wild'] + end + + if attributes.key?(:'threat_actors') + if (value = attributes[:'threat_actors']).is_a?(Array) + self.threat_actors = value + end + end + + if attributes.key?(:'timeline') + self.timeline = attributes[:'timeline'] + end + + if attributes.key?(:'trending') + self.trending = attributes[:'trending'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @counts.nil? + invalid_properties.push('invalid value for "counts", counts cannot be nil.') + end + + if @exploit_found.nil? + invalid_properties.push('invalid value for "exploit_found", exploit_found cannot be nil.') + end + + if @max_exploit_maturity.nil? + invalid_properties.push('invalid value for "max_exploit_maturity", max_exploit_maturity cannot be nil.') + end + + if @reported_exploited_by_botnets.nil? + invalid_properties.push('invalid value for "reported_exploited_by_botnets", reported_exploited_by_botnets cannot be nil.') + end + + if @reported_exploited_by_named_threat_actors.nil? + invalid_properties.push('invalid value for "reported_exploited_by_named_threat_actors", reported_exploited_by_named_threat_actors cannot be nil.') + end + + if @reported_exploited_by_ransomware.nil? + invalid_properties.push('invalid value for "reported_exploited_by_ransomware", reported_exploited_by_ransomware cannot be nil.') + end + + if @reported_exploited_in_the_wild.nil? + invalid_properties.push('invalid value for "reported_exploited_in_the_wild", reported_exploited_in_the_wild cannot be nil.') + end + + if @timeline.nil? + invalid_properties.push('invalid value for "timeline", timeline cannot be nil.') + end + + if @trending.nil? + invalid_properties.push('invalid value for "trending", trending cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @counts.nil? + return false if @exploit_found.nil? + return false if @max_exploit_maturity.nil? + return false if @reported_exploited_by_botnets.nil? + return false if @reported_exploited_by_named_threat_actors.nil? + return false if @reported_exploited_by_ransomware.nil? + return false if @reported_exploited_in_the_wild.nil? + return false if @timeline.nil? + return false if @trending.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + botnets == o.botnets && + counts == o.counts && + epss == o.epss && + exploit_found == o.exploit_found && + exploits == o.exploits && + max_exploit_maturity == o.max_exploit_maturity && + ransomware == o.ransomware && + reported_exploited_by_botnets == o.reported_exploited_by_botnets && + reported_exploited_by_named_threat_actors == o.reported_exploited_by_named_threat_actors && + reported_exploited_by_ransomware == o.reported_exploited_by_ransomware && + reported_exploited_in_the_wild == o.reported_exploited_in_the_wild && + threat_actors == o.threat_actors && + timeline == o.timeline && + trending == o.trending + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [botnets, counts, epss, exploit_found, exploits, max_exploit_maturity, ransomware, reported_exploited_by_botnets, reported_exploited_by_named_threat_actors, reported_exploited_by_ransomware, reported_exploited_in_the_wild, threat_actors, timeline, trending].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_ransomware.rb b/lib/crimson-falcon/models/vulncheck_exploit_ransomware.rb new file mode 100644 index 00000000..fed284e9 --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_ransomware.rb @@ -0,0 +1,257 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitRansomware + attr_accessor :ransomware_families + + attr_accessor :reference_data + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'ransomware_families' => :'ransomware_families', + :'reference_data' => :'reference_data' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'ransomware_families' => :'Array', + :'reference_data' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitRansomware` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitRansomware`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'ransomware_families') + if (value = attributes[:'ransomware_families']).is_a?(Array) + self.ransomware_families = value + end + end + + if attributes.key?(:'reference_data') + if (value = attributes[:'reference_data']).is_a?(Array) + self.reference_data = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @ransomware_families.nil? + invalid_properties.push('invalid value for "ransomware_families", ransomware_families cannot be nil.') + end + + if @reference_data.nil? + invalid_properties.push('invalid value for "reference_data", reference_data cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @ransomware_families.nil? + return false if @reference_data.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + ransomware_families == o.ransomware_families && + reference_data == o.reference_data + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [ransomware_families, reference_data].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_ransomware_data.rb b/lib/crimson-falcon/models/vulncheck_exploit_ransomware_data.rb new file mode 100644 index 00000000..600973cf --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_ransomware_data.rb @@ -0,0 +1,253 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitRansomwareData + attr_accessor :date_added + + attr_accessor :url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'date_added' => :'date_added', + :'url' => :'url' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'date_added' => :'String', + :'url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitRansomwareData` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitRansomwareData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'date_added') + self.date_added = attributes[:'date_added'] + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @date_added.nil? + invalid_properties.push('invalid value for "date_added", date_added cannot be nil.') + end + + if @url.nil? + invalid_properties.push('invalid value for "url", url cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @date_added.nil? + return false if @url.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + date_added == o.date_added && + url == o.url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [date_added, url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_record.rb b/lib/crimson-falcon/models/vulncheck_exploit_record.rb new file mode 100644 index 00000000..d5f85d8f --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_record.rb @@ -0,0 +1,297 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitRecord + attr_accessor :cve + + attr_accessor :date_added + + attr_accessor :exploit_availability + + attr_accessor :exploit_maturity + + attr_accessor :exploit_type + + attr_accessor :name + + attr_accessor :refsource + + attr_accessor :url + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cve' => :'cve', + :'date_added' => :'date_added', + :'exploit_availability' => :'exploit_availability', + :'exploit_maturity' => :'exploit_maturity', + :'exploit_type' => :'exploit_type', + :'name' => :'name', + :'refsource' => :'refsource', + :'url' => :'url' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cve' => :'String', + :'date_added' => :'String', + :'exploit_availability' => :'String', + :'exploit_maturity' => :'String', + :'exploit_type' => :'String', + :'name' => :'String', + :'refsource' => :'String', + :'url' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitRecord` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitRecord`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cve') + self.cve = attributes[:'cve'] + end + + if attributes.key?(:'date_added') + self.date_added = attributes[:'date_added'] + end + + if attributes.key?(:'exploit_availability') + self.exploit_availability = attributes[:'exploit_availability'] + end + + if attributes.key?(:'exploit_maturity') + self.exploit_maturity = attributes[:'exploit_maturity'] + end + + if attributes.key?(:'exploit_type') + self.exploit_type = attributes[:'exploit_type'] + end + + if attributes.key?(:'name') + self.name = attributes[:'name'] + end + + if attributes.key?(:'refsource') + self.refsource = attributes[:'refsource'] + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cve == o.cve && + date_added == o.date_added && + exploit_availability == o.exploit_availability && + exploit_maturity == o.exploit_maturity && + exploit_type == o.exploit_type && + name == o.name && + refsource == o.refsource && + url == o.url + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cve, date_added, exploit_availability, exploit_maturity, exploit_type, name, refsource, url].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_threat_actor.rb b/lib/crimson-falcon/models/vulncheck_exploit_threat_actor.rb new file mode 100644 index 00000000..75757d06 --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_threat_actor.rb @@ -0,0 +1,305 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitThreatActor + attr_accessor :cve_references + + attr_accessor :malpedia_url + + attr_accessor :misp_id + + attr_accessor :misp_threat_actor_names + + attr_accessor :mitre_id + + attr_accessor :mitre_threat_actor_names + + attr_accessor :threat_actor_name + + attr_accessor :vendor_names_for_threat_actors + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cve_references' => :'cve_references', + :'malpedia_url' => :'malpedia_url', + :'misp_id' => :'misp_id', + :'misp_threat_actor_names' => :'misp_threat_actor_names', + :'mitre_id' => :'mitre_id', + :'mitre_threat_actor_names' => :'mitre_threat_actor_names', + :'threat_actor_name' => :'threat_actor_name', + :'vendor_names_for_threat_actors' => :'vendor_names_for_threat_actors' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cve_references' => :'Array', + :'malpedia_url' => :'String', + :'misp_id' => :'String', + :'misp_threat_actor_names' => :'Array', + :'mitre_id' => :'String', + :'mitre_threat_actor_names' => :'Array', + :'threat_actor_name' => :'String', + :'vendor_names_for_threat_actors' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitThreatActor` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitThreatActor`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cve_references') + if (value = attributes[:'cve_references']).is_a?(Array) + self.cve_references = value + end + end + + if attributes.key?(:'malpedia_url') + self.malpedia_url = attributes[:'malpedia_url'] + end + + if attributes.key?(:'misp_id') + self.misp_id = attributes[:'misp_id'] + end + + if attributes.key?(:'misp_threat_actor_names') + if (value = attributes[:'misp_threat_actor_names']).is_a?(Array) + self.misp_threat_actor_names = value + end + end + + if attributes.key?(:'mitre_id') + self.mitre_id = attributes[:'mitre_id'] + end + + if attributes.key?(:'mitre_threat_actor_names') + if (value = attributes[:'mitre_threat_actor_names']).is_a?(Array) + self.mitre_threat_actor_names = value + end + end + + if attributes.key?(:'threat_actor_name') + self.threat_actor_name = attributes[:'threat_actor_name'] + end + + if attributes.key?(:'vendor_names_for_threat_actors') + if (value = attributes[:'vendor_names_for_threat_actors']).is_a?(Array) + self.vendor_names_for_threat_actors = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cve_references == o.cve_references && + malpedia_url == o.malpedia_url && + misp_id == o.misp_id && + misp_threat_actor_names == o.misp_threat_actor_names && + mitre_id == o.mitre_id && + mitre_threat_actor_names == o.mitre_threat_actor_names && + threat_actor_name == o.threat_actor_name && + vendor_names_for_threat_actors == o.vendor_names_for_threat_actors + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cve_references, malpedia_url, misp_id, misp_threat_actor_names, mitre_id, mitre_threat_actor_names, threat_actor_name, vendor_names_for_threat_actors].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_timeline.rb b/lib/crimson-falcon/models/vulncheck_exploit_timeline.rb new file mode 100644 index 00000000..cbb91152 --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_timeline.rb @@ -0,0 +1,342 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitTimeline + attr_accessor :cisa_kev_date_added + + attr_accessor :cisa_kev_date_due + + attr_accessor :first_exploit_poc_or_higher + + attr_accessor :first_exploit_published + + attr_accessor :first_exploit_weaponized_or_higher + + attr_accessor :first_reported_botnet + + attr_accessor :first_reported_ransomware + + attr_accessor :first_reported_threat_actor + + attr_accessor :most_recent_exploit_published + + attr_accessor :most_recent_reported_botnet + + attr_accessor :most_recent_reported_ransomware + + attr_accessor :most_recent_reported_threat_actor + + attr_accessor :nvd_published + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'cisa_kev_date_added' => :'cisa_kev_date_added', + :'cisa_kev_date_due' => :'cisa_kev_date_due', + :'first_exploit_poc_or_higher' => :'first_exploit_poc_or_higher', + :'first_exploit_published' => :'first_exploit_published', + :'first_exploit_weaponized_or_higher' => :'first_exploit_weaponized_or_higher', + :'first_reported_botnet' => :'first_reported_botnet', + :'first_reported_ransomware' => :'first_reported_ransomware', + :'first_reported_threat_actor' => :'first_reported_threat_actor', + :'most_recent_exploit_published' => :'most_recent_exploit_published', + :'most_recent_reported_botnet' => :'most_recent_reported_botnet', + :'most_recent_reported_ransomware' => :'most_recent_reported_ransomware', + :'most_recent_reported_threat_actor' => :'most_recent_reported_threat_actor', + :'nvd_published' => :'nvd_published' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'cisa_kev_date_added' => :'String', + :'cisa_kev_date_due' => :'String', + :'first_exploit_poc_or_higher' => :'String', + :'first_exploit_published' => :'String', + :'first_exploit_weaponized_or_higher' => :'String', + :'first_reported_botnet' => :'String', + :'first_reported_ransomware' => :'String', + :'first_reported_threat_actor' => :'String', + :'most_recent_exploit_published' => :'String', + :'most_recent_reported_botnet' => :'String', + :'most_recent_reported_ransomware' => :'String', + :'most_recent_reported_threat_actor' => :'String', + :'nvd_published' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitTimeline` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitTimeline`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'cisa_kev_date_added') + self.cisa_kev_date_added = attributes[:'cisa_kev_date_added'] + end + + if attributes.key?(:'cisa_kev_date_due') + self.cisa_kev_date_due = attributes[:'cisa_kev_date_due'] + end + + if attributes.key?(:'first_exploit_poc_or_higher') + self.first_exploit_poc_or_higher = attributes[:'first_exploit_poc_or_higher'] + end + + if attributes.key?(:'first_exploit_published') + self.first_exploit_published = attributes[:'first_exploit_published'] + end + + if attributes.key?(:'first_exploit_weaponized_or_higher') + self.first_exploit_weaponized_or_higher = attributes[:'first_exploit_weaponized_or_higher'] + end + + if attributes.key?(:'first_reported_botnet') + self.first_reported_botnet = attributes[:'first_reported_botnet'] + end + + if attributes.key?(:'first_reported_ransomware') + self.first_reported_ransomware = attributes[:'first_reported_ransomware'] + end + + if attributes.key?(:'first_reported_threat_actor') + self.first_reported_threat_actor = attributes[:'first_reported_threat_actor'] + end + + if attributes.key?(:'most_recent_exploit_published') + self.most_recent_exploit_published = attributes[:'most_recent_exploit_published'] + end + + if attributes.key?(:'most_recent_reported_botnet') + self.most_recent_reported_botnet = attributes[:'most_recent_reported_botnet'] + end + + if attributes.key?(:'most_recent_reported_ransomware') + self.most_recent_reported_ransomware = attributes[:'most_recent_reported_ransomware'] + end + + if attributes.key?(:'most_recent_reported_threat_actor') + self.most_recent_reported_threat_actor = attributes[:'most_recent_reported_threat_actor'] + end + + if attributes.key?(:'nvd_published') + self.nvd_published = attributes[:'nvd_published'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + cisa_kev_date_added == o.cisa_kev_date_added && + cisa_kev_date_due == o.cisa_kev_date_due && + first_exploit_poc_or_higher == o.first_exploit_poc_or_higher && + first_exploit_published == o.first_exploit_published && + first_exploit_weaponized_or_higher == o.first_exploit_weaponized_or_higher && + first_reported_botnet == o.first_reported_botnet && + first_reported_ransomware == o.first_reported_ransomware && + first_reported_threat_actor == o.first_reported_threat_actor && + most_recent_exploit_published == o.most_recent_exploit_published && + most_recent_reported_botnet == o.most_recent_reported_botnet && + most_recent_reported_ransomware == o.most_recent_reported_ransomware && + most_recent_reported_threat_actor == o.most_recent_reported_threat_actor && + nvd_published == o.nvd_published + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [cisa_kev_date_added, cisa_kev_date_due, first_exploit_poc_or_higher, first_exploit_published, first_exploit_weaponized_or_higher, first_reported_botnet, first_reported_ransomware, first_reported_threat_actor, most_recent_exploit_published, most_recent_reported_botnet, most_recent_reported_ransomware, most_recent_reported_threat_actor, nvd_published].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_exploit_trending.rb b/lib/crimson-falcon/models/vulncheck_exploit_trending.rb new file mode 100644 index 00000000..843dd00f --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_exploit_trending.rb @@ -0,0 +1,239 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckExploitTrending + attr_accessor :github + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'github' => :'github' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'github' => :'Boolean' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckExploitTrending` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckExploitTrending`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'github') + self.github = attributes[:'github'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @github.nil? + invalid_properties.push('invalid value for "github", github cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @github.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + github == o.github + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [github].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulncheck_threat_actor_vendor_name.rb b/lib/crimson-falcon/models/vulncheck_threat_actor_vendor_name.rb new file mode 100644 index 00000000..3b461a36 --- /dev/null +++ b/lib/crimson-falcon/models/vulncheck_threat_actor_vendor_name.rb @@ -0,0 +1,252 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class VulncheckThreatActorVendorName + attr_accessor :threat_actor_name + + attr_accessor :url + + attr_accessor :vendor_name + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'threat_actor_name' => :'threat_actor_name', + :'url' => :'url', + :'vendor_name' => :'vendor_name' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'threat_actor_name' => :'String', + :'url' => :'String', + :'vendor_name' => :'String' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::VulncheckThreatActorVendorName` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::VulncheckThreatActorVendorName`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'threat_actor_name') + self.threat_actor_name = attributes[:'threat_actor_name'] + end + + if attributes.key?(:'url') + self.url = attributes[:'url'] + end + + if attributes.key?(:'vendor_name') + self.vendor_name = attributes[:'vendor_name'] + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + threat_actor_name == o.threat_actor_name && + url == o.url && + vendor_name == o.vendor_name + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [threat_actor_name, url, vendor_name].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability.rb b/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability.rb index fa9406b3..8ec08b25 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability_details.rb b/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability_details.rb index 31193ee7..66f5dec5 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability_details.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability_details.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability_info.rb b/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability_info.rb index c966d34d..cd164ff3 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability_info.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_combined_vulnerability_info.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_vuln_by_image_count.rb b/lib/crimson-falcon/models/vulnerabilities_api_vuln_by_image_count.rb index d4953b40..019eee17 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_vuln_by_image_count.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_vuln_by_image_count.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_vuln_by_publication.rb b/lib/crimson-falcon/models/vulnerabilities_api_vuln_by_publication.rb index 182d0816..31162fbb 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_vuln_by_publication.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_vuln_by_publication.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count.rb b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count.rb index 868bfab5..b80f58e9 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_actively_exploited.rb b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_actively_exploited.rb index 82a0933f..9e94e754 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_actively_exploited.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_actively_exploited.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_csp_rating.rb b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_csp_rating.rb index 0cbff917..5ac1cb0f 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_csp_rating.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_csp_rating.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_cvss_score.rb b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_cvss_score.rb index 09bdc4fc..e9662fb9 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_cvss_score.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_cvss_score.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_severity.rb b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_severity.rb index 727f680a..7fcbab6e 100644 --- a/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_severity.rb +++ b/lib/crimson-falcon/models/vulnerabilities_api_vuln_count_by_severity.rb @@ -55,8 +55,8 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'errors' => :'Array', - :'meta' => :'MsaspecMetaInfo', + :'errors' => :'Array', + :'meta' => :'MsaMetaInfo', :'resources' => :'Array' } end diff --git a/lib/crimson-falcon/models/workflow_request.rb b/lib/crimson-falcon/models/workflow_request.rb new file mode 100644 index 00000000..6b16a234 --- /dev/null +++ b/lib/crimson-falcon/models/workflow_request.rb @@ -0,0 +1,241 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'date' +require 'time' + +module Falcon + class WorkflowRequest + attr_accessor :ids + + # Attribute mapping from ruby-style variable name to JSON key. + def self.attribute_map + { + :'ids' => :'ids' + } + end + + # Returns all the JSON keys this model knows about + def self.acceptable_attributes + attribute_map.values + end + + # Attribute type mapping. + def self.openapi_types + { + :'ids' => :'Array' + } + end + + # List of attributes with nullable: true + def self.openapi_nullable + Set.new([ + ]) + end + + # Initializes the object + # @param [Hash] attributes Model attributes in the form of hash + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::WorkflowRequest` initialize method" + end + + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::WorkflowRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + end + h[k.to_sym] = v + } + + if attributes.key?(:'ids') + if (value = attributes[:'ids']).is_a?(Array) + self.ids = value + end + end + end + + # Show invalid properties with the reasons. Usually used together with valid? + # @return Array for valid properties with the reasons + def list_invalid_properties + invalid_properties = Array.new + if @ids.nil? + invalid_properties.push('invalid value for "ids", ids cannot be nil.') + end + + invalid_properties + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + def valid? + return false if @ids.nil? + true + end + + # Checks equality by comparing each attribute. + # @param [Object] Object to be compared + def ==(o) + return true if self.equal?(o) + self.class == o.class && + ids == o.ids + end + + # @see the `==` method + # @param [Object] Object to be compared + def eql?(o) + self == o + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + def hash + [ids].hash + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def self.build_from_hash(attributes) + new.build_from_hash(attributes) + end + + # Builds the object from hash + # @param [Hash] attributes Model attributes in the form of hash + # @return [Object] Returns the model itself + def build_from_hash(attributes) + return nil unless attributes.is_a?(Hash) + attributes = attributes.transform_keys(&:to_sym) + self.class.openapi_types.each_pair do |key, type| + if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key) + self.send("#{key}=", nil) + elsif type =~ /\AArray<(.*)>/i + # check to ensure the input is an array given that the attribute + # is documented as an array but the input is not + if attributes[self.class.attribute_map[key]].is_a?(Array) + self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) }) + end + elsif !attributes[self.class.attribute_map[key]].nil? + self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]])) + end + end + + self + end + + # Deserializes the data based on type + # @param string type Data type + # @param string value Value to be deserialized + # @return [Object] Deserialized data + def _deserialize(type, value) + case type.to_sym + when :Time + Time.parse(value) + when :Date + Date.parse(value) + when :String + value.to_s + when :Integer + value.to_i + when :Float + value.to_f + when :Boolean + if value.to_s =~ /\A(true|t|yes|y|1)\z/i + true + else + false + end + when :Object + # generic object (usually a Hash), return directly + value + when /\AArray<(?.+)>\z/ + inner_type = Regexp.last_match[:inner_type] + value.map { |v| _deserialize(inner_type, v) } + when /\AHash<(?.+?), (?.+)>\z/ + k_type = Regexp.last_match[:k_type] + v_type = Regexp.last_match[:v_type] + {}.tap do |hash| + value.each do |k, v| + hash[_deserialize(k_type, k)] = _deserialize(v_type, v) + end + end + else # model + # models (e.g. Pet) or oneOf + klass = Falcon.const_get(type) + klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value) + end + end + + # Returns the string representation of the object + # @return [String] String presentation of the object + def to_s + to_hash.to_s + end + + # to_body is an alias to to_hash (backward compatibility) + # @return [Hash] Returns the object in the form of hash + def to_body + to_hash + end + + # Returns the object in the form of hash + # @return [Hash] Returns the object in the form of hash + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + hash + end + + # Outputs non-array value in the form of hash + # For object, use to_hash. Otherwise, just return the value + # @param [Object] value Any valid value + # @return [Hash] Returns the value in the form of hash + def _to_hash(value) + if value.is_a?(Array) + value.compact.map { |v| _to_hash(v) } + elsif value.is_a?(Hash) + {}.tap do |hash| + value.each { |k, v| hash[k] = _to_hash(v) } + end + elsif value.respond_to? :to_hash + value.to_hash + else + value + end + end + end +end diff --git a/lib/crimson-falcon/models/domain_botnet_inject.rb b/lib/crimson-falcon/models/workflow_response.rb similarity index 86% rename from lib/crimson-falcon/models/domain_botnet_inject.rb rename to lib/crimson-falcon/models/workflow_response.rb index 94b755f7..570802b0 100644 --- a/lib/crimson-falcon/models/domain_botnet_inject.rb +++ b/lib/crimson-falcon/models/workflow_response.rb @@ -31,18 +31,19 @@ require 'time' module Falcon - class DomainBotnetInject - # The injected data. Populated for inject botnets - attr_accessor :inject + class WorkflowResponse + attr_accessor :errors - # The targeted pattern of data. Populated for inject botnets - attr_accessor :pattern + attr_accessor :ids + + attr_accessor :meta # Attribute mapping from ruby-style variable name to JSON key. def self.attribute_map { - :'inject' => :'inject', - :'pattern' => :'pattern' + :'errors' => :'errors', + :'ids' => :'ids', + :'meta' => :'meta' } end @@ -54,8 +55,9 @@ def self.acceptable_attributes # Attribute type mapping. def self.openapi_types { - :'inject' => :'String', - :'pattern' => :'String' + :'errors' => :'Array', + :'ids' => :'Array', + :'meta' => :'MsaMetaInfo' } end @@ -69,23 +71,31 @@ def self.openapi_nullable # @param [Hash] attributes Model attributes in the form of hash def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::DomainBotnetInject` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `Falcon::WorkflowResponse` initialize method" end # check to see if the attribute exists and convert string to symbol for hash key attributes = attributes.each_with_object({}) { |(k, v), h| if (!self.class.attribute_map.key?(k.to_sym)) - fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::DomainBotnetInject`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect + fail ArgumentError, "`#{k}` is not a valid attribute in `Falcon::WorkflowResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect end h[k.to_sym] = v } - if attributes.key?(:'inject') - self.inject = attributes[:'inject'] + if attributes.key?(:'errors') + if (value = attributes[:'errors']).is_a?(Array) + self.errors = value + end end - if attributes.key?(:'pattern') - self.pattern = attributes[:'pattern'] + if attributes.key?(:'ids') + if (value = attributes[:'ids']).is_a?(Array) + self.ids = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] end end @@ -93,12 +103,8 @@ def initialize(attributes = {}) # @return Array for valid properties with the reasons def list_invalid_properties invalid_properties = Array.new - if @inject.nil? - invalid_properties.push('invalid value for "inject", inject cannot be nil.') - end - - if @pattern.nil? - invalid_properties.push('invalid value for "pattern", pattern cannot be nil.') + if @ids.nil? + invalid_properties.push('invalid value for "ids", ids cannot be nil.') end invalid_properties @@ -107,8 +113,7 @@ def list_invalid_properties # Check to see if the all the properties in the model are valid # @return true if the model is valid def valid? - return false if @inject.nil? - return false if @pattern.nil? + return false if @ids.nil? true end @@ -117,8 +122,9 @@ def valid? def ==(o) return true if self.equal?(o) self.class == o.class && - inject == o.inject && - pattern == o.pattern + errors == o.errors && + ids == o.ids && + meta == o.meta end # @see the `==` method @@ -130,7 +136,7 @@ def eql?(o) # Calculates hash code according to all attributes. # @return [Integer] Hash code def hash - [inject, pattern].hash + [errors, ids, meta].hash end # Builds the object from hash diff --git a/lib/crimson-falcon/version.rb b/lib/crimson-falcon/version.rb index aa116f73..958c2d59 100644 --- a/lib/crimson-falcon/version.rb +++ b/lib/crimson-falcon/version.rb @@ -25,7 +25,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -CrowdStrike Swagger API Version: 2024-01-26T00:00:01Z +CrowdStrike Swagger API Version: 2024-11-15T00:00:02Z =end module Falcon diff --git a/spec/api/alerts_api_spec.rb b/spec/api/alerts_api_spec.rb index f5805f99..8e742de9 100644 --- a/spec/api/alerts_api_spec.rb +++ b/spec/api/alerts_api_spec.rb @@ -50,13 +50,13 @@ end # unit tests for get_queries_alerts_v1 - # retrieves all Alerts ids that match a given query + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts ids that match a given query. # @param [Hash] opts the optional parameters # @option opts [Integer] :offset The first detection to return, where `0` is the latest detection. Use with the `offset` parameter to manage pagination of results. # @option opts [Integer] :limit The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. # @option opts [String] :sort Sort parameter takes the form <field|direction>. Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering # @option opts [String] :filter Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). - # @option opts [String] :q Search all detection metadata for the provided string + # @option opts [String] :q Search all alert metadata for the provided string # @return [DetectsapiAlertQueryResponse] describe 'get_queries_alerts_v1 test' do it 'should work' do @@ -65,14 +65,14 @@ end # unit tests for get_queries_alerts_v2 - # retrieves all Alerts ids that match a given query + # Retrieves all Alerts ids that match a given query. # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved # @option opts [Integer] :offset The first detection to return, where `0` is the latest detection. Use with the `offset` parameter to manage pagination of results. # @option opts [Integer] :limit The maximum number of detections to return in this response (default: 100; max: 10000). Use with the `offset` parameter to manage pagination of results. # @option opts [String] :sort Sort parameter takes the form <field|direction>. Direction can be either `asc` (ascending) or `desc` (descending) order. For example: `status|asc` or `status|desc`. The sorting fields can be any keyword field that is part of #domain.Alert except for the text based fields. Most commonly used fields are status, cid, aggregate_id, timestamp, created_timestamp, updated_timestamp, assigned_to_name, assigned_to_uid, assigned_to_uuid, show_in_ui, tactic_id, tactic, technique, technique_id, pattern_id, product, comment, tags If the fields are missing from the Alerts, the service will fallback to its default ordering # @option opts [String] :filter Filter Alerts using a query in Falcon Query Language (FQL).Filter fields can be any keyword field that is part of #domain.Alert An asterisk wildcard `*` includes all results. Empty value means to not filter on anything. Most commonly used filter fields that supports exact match: cid, id, aggregate_id, product, type, pattern_id, platform ... Most commonly used filter fields that supports wildcard (*): assigned_to_name, assigned_to_uuid, tactic_id, technique ... Most commonly filter fields that supports range comparisons (>, <, >=, <=): severity, created_timestamp, timestamp, updated_timestamp... All filter fields and operations support negation (!). The full list of valid filter options is extensive. Review it in our [documentation inside the Falcon console](https://falcon.crowdstrike.com/documentation/45/falcon-query-language-fql). - # @option opts [String] :q Search all detection metadata for the provided string + # @option opts [String] :q Search all alert metadata for the provided string # @return [DetectsapiAlertQueryResponse] describe 'get_queries_alerts_v2 test' do it 'should work' do @@ -81,8 +81,8 @@ end # unit tests for patch_entities_alerts_v2 - # Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. - # @param body request body takes a list of action parameter request that is applied against all \"ids\" provided + # Deprecated: Please use version v3 of this endpoint. Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. + # @param body `ids` - IDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. # @param [Hash] opts the optional parameters # @return [DetectsapiResponseFields] describe 'patch_entities_alerts_v2 test' do @@ -93,7 +93,7 @@ # unit tests for patch_entities_alerts_v3 # Perform actions on Alerts identified by composite ID(s) in request. Each action has a name and a description which describes what the action does. If a request adds and removes tag in a single request, the order of processing would be to remove tags before adding new ones in. - # @param body request body takes a list of action parameter request that is applied against all \"ids\" provided + # @param body `composite_ids` - CompositeIDs of Alerts to modify. `action_parameters` values - `assign_to_uuid` - Assign Alert to user UUID, such as `00000000-0000-0000-0000-000000000000` - `assign_to_user_id` - Assign Alert to user ID, such as `user@example.com` - `assign_to_name` - Assign Alert to username, such as `John Doe` - `unassign` - Unassign Alert clears out the assigned user UUID, user ID, and username. - `add_tag` - Add a tag to the Alert. - `remove_tag` - Remove a tag from the Alert. - `remove_tags_by_prefix` - Remove tags from the Alert based on the prefix. - `append_comment` - Comments are displayed with the Alert in Falcon and are usually used to provide context or notes for other Falcon users. An Alert can have multiple comments over time. - `update_status` values - `new` - `in_progress` - `reopened` - `closed` - `show_in_ui` values - `true`: This alert is displayed in Falcon - `false`: This alert is not displayed in Falcon. # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved # @return [DetectsapiResponseFields] @@ -104,7 +104,7 @@ end # unit tests for post_aggregates_alerts_v1 - # retrieves aggregate values for Alerts across all CIDs + # Deprecated: Please use version v2 of this endpoint. Retrieves aggregate values for Alerts across all CIDs. # @param body request body takes a list of aggregate-alert query requests # @param [Hash] opts the optional parameters # @return [DetectsapiAggregatesResponse] @@ -115,7 +115,7 @@ end # unit tests for post_aggregates_alerts_v2 - # retrieves aggregate values for Alerts across all CIDs + # Retrieves aggregate values for Alerts across all CIDs. # @param body request body takes a list of aggregate-alert query requests # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved @@ -127,10 +127,10 @@ end # unit tests for post_entities_alerts_v1 - # retrieves all Alerts given their ids + # Deprecated: please use version v2 of this endpoint. Retrieves all Alerts given their ids. # @param body # @param [Hash] opts the optional parameters - # @return [DetectsapiPostEntitiesAlertsV1Response] + # @return [DetectsapiPostEntitiesAlertsV1ResponseSwagger] describe 'post_entities_alerts_v1 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -138,11 +138,11 @@ end # unit tests for post_entities_alerts_v2 - # retrieves all Alerts given their composite ids + # Retrieves all Alerts given their composite ids. # @param body # @param [Hash] opts the optional parameters # @option opts [Boolean] :include_hidden allows previously hidden alerts to be retrieved - # @return [DetectsapiPostEntitiesAlertsV2Response] + # @return [DetectsapiPostEntitiesAlertsV2ResponseSwagger] describe 'post_entities_alerts_v2 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/api/api_integrations_api_spec.rb b/spec/api/api_integrations_api_spec.rb new file mode 100644 index 00000000..e8f626e1 --- /dev/null +++ b/spec/api/api_integrations_api_spec.rb @@ -0,0 +1,88 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::ApiIntegrationsApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'ApiIntegrationsApi' do + before do + # run before each test + @api_instance = Falcon::ApiIntegrationsApi.new + end + + after do + # run after each test + end + + describe 'test an instance of ApiIntegrationsApi' do + it 'should create an instance of ApiIntegrationsApi' do + expect(@api_instance).to be_instance_of(Falcon::ApiIntegrationsApi) + end + end + + # unit tests for execute_command + # Execute a command. + # @param resources List of commands to execute + # @param [Hash] opts the optional parameters + # @return [DomainExecuteCommandResultsV1] + describe 'execute_command test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for execute_command_proxy + # Execute a command and proxy the response directly. + # @param body + # @param [Hash] opts the optional parameters + # @return [Object] + describe 'execute_command_proxy test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_combined_plugin_configs + # Queries for config resources and returns details + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter items using a query in Falcon Query Language (FQL). + # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + # @option opts [String] :sort Sort items using their properties. + # @return [DomainConfigsV1] + describe 'get_combined_plugin_configs test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/aspm_api_spec.rb b/spec/api/aspm_api_spec.rb new file mode 100644 index 00000000..551a849c --- /dev/null +++ b/spec/api/aspm_api_spec.rb @@ -0,0 +1,321 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::ASPMApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'ASPMApi' do + before do + # run before each test + @api_instance = Falcon::ASPMApi.new + end + + after do + # run after each test + end + + describe 'test an instance of ASPMApi' do + it 'should create an instance of ASPMApi' do + expect(@api_instance).to be_instance_of(Falcon::ASPMApi) + end + end + + # unit tests for create_executor_node + # Create a new relay node + # @param body + # @param [Hash] opts the optional parameters + # @return [TypesExecutorNode] + describe 'create_executor_node test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for create_integration + # Create a new integration + # @param body + # @param [Hash] opts the optional parameters + # @return [TypesIntegrationResponse] + describe 'create_integration test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for create_integration_task + # Create new integration task. + # @param body + # @param [Hash] opts the optional parameters + # @return [TypesIntegrationTaskResponse] + describe 'create_integration_task test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for delete_executor_node + # Delete a relay node + # @param id + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'delete_executor_node test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for delete_integration + # Delete an existing integration by its ID + # @param id + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'delete_integration test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for delete_integration_task + # Delete an existing integration task by its ID + # @param id + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'delete_integration_task test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for delete_tags + # Remove existing tags + # @param body + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'delete_tags test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for execute_query + # Execute a query. The syntax used is identical to that of the query page. + # @param body **params details:** - selectFields: - **fields** - For filtering relevant fields only. - **withoutServices** - Default is set to **true**, you will not receive information about the services. If you want to get the relevant service, set to **false**. - **serviceFields**- For filtering relevant fields of the service (if you chose to get it) + # @param [Hash] opts the optional parameters + # @return [TypesQueryResult] + describe 'execute_query test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_executor_nodes + # Get all the relay nodes + # @param node_type + # @param [Hash] opts the optional parameters + # @option opts [Integer] :integration_type + # @return [TypesListExecutorNodesResponse] + describe 'get_executor_nodes test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_integration_tasks + # Get all the integration tasks + # @param [Hash] opts the optional parameters + # @option opts [Integer] :integration_task_type + # @option opts [String] :category + # @return [TypesListIntegrationTasksResponse] + describe 'get_integration_tasks test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_integration_types + # Get all the integration types + # @param [Hash] opts the optional parameters + # @return [TypesListIntegrationTypesResponse] + describe 'get_integration_types test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_integrations + # Get a list of all the integrations + # @param [Hash] opts the optional parameters + # @option opts [Integer] :integration_type + # @option opts [String] :category + # @return [TypesListIntegrationsResponse] + describe 'get_integrations test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_service_violation_types + # Get the different types of violation + # @param body + # @param [Hash] opts the optional parameters + # @return [TypesGetViolationTypesResponse] + describe 'get_service_violation_types test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_services_count + # Get the total amount of existing services + # @param body + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'get_services_count test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_tags + # Get all the tags + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :is_unique + # @option opts [String] :tag_name + # @option opts [Integer] :limit + # @option opts [Integer] :offset + # @option opts [Array] :name + # @return [TypesTagsDataResponse] + describe 'get_tags test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for run_integration_task + # Run an integration task by its ID + # @param id + # @param body + # @param [Hash] opts the optional parameters + # @option opts [String] :category + # @return [TypesIntegrationTaskTestConnectionResponse] + describe 'run_integration_task test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for service_now_get_deployments + # @param [Hash] opts the optional parameters + # @option opts [String] :ql_filters + # @option opts [Integer] :limit + # @option opts [Integer] :offset + # @option opts [String] :order_by + # @option opts [String] :direction + # @return [TypesServiceNowDeploymentsResponse] + describe 'service_now_get_deployments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for service_now_get_services + # @param [Hash] opts the optional parameters + # @option opts [String] :ql_filters + # @option opts [Integer] :limit + # @option opts [Integer] :offset + # @option opts [String] :order_by + # @option opts [String] :direction + # @return [TypesServiceNowServicesResponse] + describe 'service_now_get_services test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for update_executor_node + # Update an existing relay node + # @param body + # @param [Hash] opts the optional parameters + # @return [TypesExecutorNode] + describe 'update_executor_node test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for update_integration + # Update an existing integration by its ID + # @param id + # @param body + # @param [Hash] opts the optional parameters + # @return [TypesIntegrationResponse] + describe 'update_integration test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for update_integration_task + # Update an existing integration task by its ID + # @param id + # @param body + # @param [Hash] opts the optional parameters + # @return [TypesIntegrationTaskResponse] + describe 'update_integration_task test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for upsert_business_applications + # Create or Update Business Applications + # @param body + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'upsert_business_applications test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for upsert_tags + # Create new or update existing tag. You can update unique tags table or regular tags table + # @param body + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'upsert_tags test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/tailored_intelligence_api_spec.rb b/spec/api/certificate_based_exclusions_api_spec.rb similarity index 51% rename from spec/api/tailored_intelligence_api_spec.rb rename to spec/api/certificate_based_exclusions_api_spec.rb index 52548f5e..52df4d39 100644 --- a/spec/api/tailored_intelligence_api_spec.rb +++ b/spec/api/certificate_based_exclusions_api_spec.rb @@ -30,83 +30,90 @@ require 'spec_helper' require 'json' -# Unit tests for Falcon::TailoredIntelligenceApi +# Unit tests for Falcon::CertificateBasedExclusionsApi # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe 'TailoredIntelligenceApi' do +describe 'CertificateBasedExclusionsApi' do before do # run before each test - @api_instance = Falcon::TailoredIntelligenceApi.new + @api_instance = Falcon::CertificateBasedExclusionsApi.new end after do # run after each test end - describe 'test an instance of TailoredIntelligenceApi' do - it 'should create an instance of TailoredIntelligenceApi' do - expect(@api_instance).to be_instance_of(Falcon::TailoredIntelligenceApi) + describe 'test an instance of CertificateBasedExclusionsApi' do + it 'should create an instance of CertificateBasedExclusionsApi' do + expect(@api_instance).to be_instance_of(Falcon::CertificateBasedExclusionsApi) end end - # unit tests for get_events_body - # Get event body for the provided event ID - # @param id Return the event body for event id. + # unit tests for cb_exclusions_create_v1 + # Create new Certificate Based Exclusions. + # @param body # @param [Hash] opts the optional parameters - # @return [Array] - describe 'get_events_body test' do + # @return [ApiCertBasedExclusionRespV1] + describe 'cb_exclusions_create_v1 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for get_events_entities - # Get events entities for specified ids. - # @param body + # unit tests for cb_exclusions_delete_v1 + # Delete the exclusions by id + # @param ids The ids of the exclusions to delete # @param [Hash] opts the optional parameters - # @return [DomainEventEntitiesResponse] - describe 'get_events_entities test' do + # @option opts [String] :comment The comment why these exclusions were deleted + # @return [ApiCertBasedExclusionRespV1] + describe 'cb_exclusions_delete_v1 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for get_rules_entities - # Get rules entities for specified ids. - # @param body + # unit tests for cb_exclusions_get_v1 + # Find all exclusion IDs matching the query with filter + # @param ids The ids of the exclusions to retrieve + # @param [Hash] opts the optional parameters + # @return [ApiCertBasedExclusionRespV1] + describe 'cb_exclusions_get_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for cb_exclusions_query_v1 + # Search for cert-based exclusions. # @param [Hash] opts the optional parameters - # @return [DomainRuleEntitiesResponse] - describe 'get_rules_entities test' do + # @option opts [String] :filter The filter expression that should be used to limit the results. + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [Integer] :limit The maximum records to return. [1-100] + # @option opts [String] :sort The sort expression that should be used to sort the results. + # @return [MsaspecQueryResponse] + describe 'cb_exclusions_query_v1 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for query_events - # Get events ids that match the provided filter criteria. + # unit tests for cb_exclusions_update_v1 + # Updates existing Certificate Based Exclusions + # @param body # @param [Hash] opts the optional parameters - # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @option opts [Integer] :limit Number of ids to return. - # @option opts [String] :sort Possible order by fields: source_type, created_date, updated_date. Ex: 'updated_date|desc'. - # @option opts [String] :filter FQL query specifying the filter parameters. Special value '*' means to not filter on anything. - # @option opts [String] :q Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). - # @return [DomainQueryResponse] - describe 'query_events test' do + # @return [ApiCertBasedExclusionRespV1] + describe 'cb_exclusions_update_v1 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for query_rules - # Get rules ids that match the provided filter criteria. + # unit tests for certificates_get_v1 + # Retrieves certificate signing information for a file + # @param ids The SHA256 Hash of the file to retrieve certificate signing info for # @param [Hash] opts the optional parameters - # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @option opts [Integer] :limit Number of ids to return. - # @option opts [String] :sort Possible order by fields: name, value, rule_type, customer_id, created_date, updated_date. Ex: 'updated_date|asc'. - # @option opts [String] :filter FQL query specifying the filter parameters. Special value '*' means to not filter on anything. - # @option opts [String] :q Match phrase_prefix query criteria; included fields: _all (all filter string fields indexed). - # @return [DomainQueryResponse] - describe 'query_rules test' do + # @return [ApiRespCertificatesV1] + describe 'certificates_get_v1 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/api/cloud_snapshots_api_spec.rb b/spec/api/cloud_snapshots_api_spec.rb index c3fab374..489a6f13 100644 --- a/spec/api/cloud_snapshots_api_spec.rb +++ b/spec/api/cloud_snapshots_api_spec.rb @@ -49,6 +49,63 @@ end end + # unit tests for create_deployment_entity + # Launch a snapshot scan for a given cloud asset + # @param body + # @param [Hash] opts the optional parameters + # @return [DeploymentsEntityResponse] + describe 'create_deployment_entity test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_credentials_mixin0_mixin57 + # Gets the registry credentials + # @param [Hash] opts the optional parameters + # @return [ModelsRegistryCredentialsResponse] + describe 'get_credentials_mixin0_mixin57 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_scan_report + # retrieve the scan report for an instance + # @param ids the instance identifiers to fetch the report for + # @param [Hash] opts the optional parameters + # @return [ScanreportsEntitiesResponse] + describe 'get_scan_report test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for read_deployments_combined + # Retrieve snapshot jobs identified by the provided IDs + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Search snapshot jobs using a query in Falcon Query Language (FQL). Supported filters: account_id,asset_identifier,cloud_provider,region,status + # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. + # @option opts [Integer] :offset The offset from where to begin. + # @option opts [String] :sort The fields to sort the records on. Supported columns: [account_id asset_identifier cloud_provider instance_type last_updated_timestamp region status] + # @return [DeploymentsEntityResponse] + describe 'read_deployments_combined test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for read_deployments_entities + # Retrieve snapshot jobs identified by the provided IDs + # @param [Hash] opts the optional parameters + # @option opts [Array] :ids Search snapshot jobs by ids - The maximum amount is 100 IDs + # @return [DeploymentsEntityResponse] + describe 'read_deployments_entities test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for register_cspm_snapshot_account # Register customer cloud account for snapshot scanning # @param body diff --git a/spec/api/compliance_assessments_api_spec.rb b/spec/api/compliance_assessments_api_spec.rb new file mode 100644 index 00000000..0285ac7f --- /dev/null +++ b/spec/api/compliance_assessments_api_spec.rb @@ -0,0 +1,175 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::ComplianceAssessmentsApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'ComplianceAssessmentsApi' do + before do + # run before each test + @api_instance = Falcon::ComplianceAssessmentsApi.new + end + + after do + # run after each test + end + + describe 'test an instance of ComplianceAssessmentsApi' do + it 'should create an instance of ComplianceAssessmentsApi' do + expect(@api_instance).to be_instance_of(Falcon::ComplianceAssessmentsApi) + end + end + + # unit tests for ext_aggregate_cluster_assessments + # get the assessments for each cluster + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name cloud_info.namespace: Kubernetes namespace cid: Customer ID cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) + # @return [DomainAggregateClusterAssessmentsResponse] + describe 'ext_aggregate_cluster_assessments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_failed_containers_by_rules_path + # get the containers grouped into rules on which they failed + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name cloud_info.namespace: Kubernetes namespace cloud_info.cloud_provider: Cloud provider compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_digest: Image digest (sha256 digest) cloud_info.cloud_region: Cloud region image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository cid: Customer ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name + # @return [DomainAggregateFailedAssetsByRulesResponse] + describe 'ext_aggregate_failed_containers_by_rules_path test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_failed_containers_count_by_severity + # get the failed containers count grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.namespace: Kubernetes namespace compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider image_repository: Image repository cid: Customer ID image_tag: Image tag image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region image_id: Image ID compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID + # @return [DomainAggregateFailedAssetCountBySeverityResponse] + describe 'ext_aggregate_failed_containers_count_by_severity test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_failed_images_by_rules_path + # get the images grouped into rules on which they failed + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.id: Compliance finding ID compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) cloud_info.namespace: Kubernetes namespace image_repository: Image repository image_digest: Image digest (sha256 digest) image_tag: Image tag image_id: Image ID image_registry: Image registry cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.cluster_name: Kubernetes cluster name cloud_info.cloud_provider: Cloud provider + # @return [DomainAggregateFailedAssetsByRulesResponse] + describe 'ext_aggregate_failed_images_by_rules_path test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_failed_images_count_by_severity + # get the failed images count grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: compliance_finding.name: Compliance finding Name image_registry: Image registry cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository cid: Customer ID + # @return [DomainAggregateFailedAssetCountBySeverityResponse] + describe 'ext_aggregate_failed_images_count_by_severity test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_failed_rules_by_clusters + # get the failed rules for each cluster grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_registry: Image registry compliance_finding.framework: Compliance finding framework (available values: CIS) compliance_finding.id: Compliance finding ID image_tag: Image tag compliance_finding.name: Compliance finding Name image_repository: Image repository cloud_info.cluster_name: Kubernetes cluster name image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider image_id: Image ID cloud_info.cloud_region: Cloud region cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID + # @return [DomainAggregateFailedRulesByClustersResponse] + describe 'ext_aggregate_failed_rules_by_clusters test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_failed_rules_by_images + # get images with failed rules, rule count grouped by severity for each image + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_repository: Image repository compliance_finding.framework: Compliance finding framework (available values: CIS) image_id: Image ID image_registry: Image registry asset_type: asset type (container, image) compliance_finding.name: Compliance finding Name compliance_finding.id: Compliance finding ID cid: Customer ID image_tag: Image tag cloud_info.namespace: Kubernetes namespace image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name + # @return [DomainAggregateFailedRulesByImagesResponse] + describe 'ext_aggregate_failed_rules_by_images test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_failed_rules_count_by_severity + # get the failed rules count grouped into severity levels + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name image_registry: Image registry image_id: Image ID image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cid: Customer ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name cloud_info.cloud_provider: Cloud provider cloud_info.cloud_region: Cloud region + # @return [DomainAggregateFailedRulesCountBySeverityResponse] + describe 'ext_aggregate_failed_rules_count_by_severity test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_image_assessments + # get the assessments for each image + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cid: Customer ID compliance_finding.framework: Compliance finding framework (available values: CIS) image_digest: Image digest (sha256 digest) cloud_info.cloud_provider: Cloud provider cloud_info.namespace: Kubernetes namespace asset_type: asset type (container, image) cloud_info.cloud_region: Cloud region image_registry: Image registry image_repository: Image repository image_id: Image ID image_tag: Image tag cloud_info.cloud_account_id: Cloud account ID cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) compliance_finding.name: Compliance finding Name + # @option opts [String] :after 'after' value from the last response. Keep it empty for the first request. + # @option opts [String] :limit number of images to return in the response after 'after' key. Keep it empty for the default number of 10000 + # @return [DomainAggregateImageAssessmentsResponse] + describe 'ext_aggregate_image_assessments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_rules_assessments + # get the assessments for each rule + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_provider: Cloud provider compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_tag: Image tag compliance_finding.framework: Compliance finding framework (available values: CIS) image_repository: Image repository compliance_finding.id: Compliance finding ID cloud_info.cloud_region: Cloud region image_id: Image ID image_registry: Image registry compliance_finding.name: Compliance finding Name image_digest: Image digest (sha256 digest) cloud_info.cluster_name: Kubernetes cluster name cid: Customer ID + # @return [DomainAggregateRulesAssessmentsResponse] + describe 'ext_aggregate_rules_assessments test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for ext_aggregate_rules_by_status + # get the rules grouped by their statuses + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Filter results using a query in Falcon Query Language (FQL). Supported Filters: cloud_info.cluster_name: Kubernetes cluster name compliance_finding.id: Compliance finding ID cloud_info.cloud_provider: Cloud provider compliance_finding.name: Compliance finding Name compliance_finding.framework: Compliance finding framework (available values: CIS) container_name: Container name container_id: Container ID image_registry: Image registry compliance_finding.severity: Compliance finding severity; available values: 4, 3, 2, 1 (4: critical, 3: high, 2: medium, 1:low) image_digest: Image digest (sha256 digest) image_id: Image ID image_tag: Image tag image_repository: Image repository asset_type: asset type (container, image) cloud_info.cloud_account_id: Cloud account ID cloud_info.cloud_region: Cloud region cid: Customer ID + # @return [DomainAggregateRulesByStatusResponse] + describe 'ext_aggregate_rules_by_status test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/container_images_api_spec.rb b/spec/api/container_images_api_spec.rb index 923f6189..854d6236 100644 --- a/spec/api/container_images_api_spec.rb +++ b/spec/api/container_images_api_spec.rb @@ -63,7 +63,7 @@ # unit tests for aggregate_image_count # Aggregate count of images # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity # @return [ImagesApiImageCount] describe 'aggregate_image_count test' do it 'should work' do @@ -93,6 +93,17 @@ end end + # unit tests for combined_base_images + # Retrieve base images for provided filter + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Search base images using a query in Falcon Query Language (FQL). Supported filters: image_digest,image_id,registry,repository,tag + # @return [CoreEntitiesResponse] + describe 'combined_base_images test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for combined_image_by_vulnerability_count # Retrieve top x images with the most vulnerabilities # @param [Hash] opts the optional parameters @@ -128,6 +139,7 @@ # @param repository repository name # @param tag tag name # @param [Hash] opts the optional parameters + # @option opts [Boolean] :include_base_image_vuln include base image vulnerabilities # @return [ImagesApiImageIssuesSummary] describe 'combined_image_issues_summary test' do it 'should work' do @@ -142,6 +154,7 @@ # @param repository repository name # @param tag tag name # @param [Hash] opts the optional parameters + # @option opts [Boolean] :include_base_image_vuln include base image vulnerabilities # @return [ImagesApiImageVulnerabilitiesSummary] describe 'combined_image_vulnerability_summary test' do it 'should work' do @@ -149,13 +162,35 @@ end end + # unit tests for create_base_images_entities + # Creates base images using the provided details + # @param body + # @param [Hash] opts the optional parameters + # @return [CoreEntitiesResponse] + describe 'create_base_images_entities test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for delete_base_images + # Delete base images by base image uuid + # @param ids BaseImageIDs + # @param [Hash] opts the optional parameters + # @return [CoreEntitiesResponse] + describe 'delete_base_images test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for get_combined_images # Get image assessment results by providing an FQL filter and paging details # @param [Hash] opts the optional parameters # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: container_id, container_running_status, cve_id, detection_name, detection_severity, first_seen, image_digest, image_id, registry, repository, tag, vulnerability_severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve [1-100] # @option opts [Integer] :offset The offset from where to begin. - # @option opts [String] :sort The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository tag] + # @option opts [String] :sort The fields to sort the records on. Supported columns: [first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id registry repository source tag] # @return [ImagesExtCombinedImagesResponse] describe 'get_combined_images test' do it 'should work' do @@ -166,12 +201,12 @@ # unit tests for read_combined_images_export # Retrieve images with an option to expand aggregated vulnerabilities/detections # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,layer_digest,package_name_version,registry,repository,tag,vulnerability_count,vulnerability_severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: arch,base_os,cid,container_id,container_running_status,cps_rating,crowdstrike_user,cve_id,detection_count,detection_name,detection_severity,first_seen,image_digest,image_id,include_base_image_vuln,layer_digest,package_name_version,registry,repository,source,tag,vulnerability_count,vulnerability_severity # @option opts [Boolean] :expand_vulnerabilities expand vulnerabilities # @option opts [Boolean] :expand_detections expand detections # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. - # @option opts [String] :sort The fields to sort the records on. Supported columns: [base_os cid containers detections firstScanned first_seen highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository tag vulnerabilities] + # @option opts [String] :sort The fields to sort the records on. Supported columns: [base_os cid detections firstScanned first_seen highest_cps_current_rating highest_detection_severity highest_vulnerability_severity image_digest image_id last_seen layers_with_vulnerabilities packages registry repository source tag vulnerabilities] # @return [ImagesApiCombinedImageExport] describe 'read_combined_images_export test' do it 'should work' do diff --git a/spec/api/container_vulnerabilities_api_spec.rb b/spec/api/container_vulnerabilities_api_spec.rb index 5a59cc17..5aea09d6 100644 --- a/spec/api/container_vulnerabilities_api_spec.rb +++ b/spec/api/container_vulnerabilities_api_spec.rb @@ -52,7 +52,7 @@ # unit tests for read_combined_vulnerabilities # Retrieve vulnerability and aggregate data filtered by the provided FQL # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort The fields to sort the records on. Supported columns: [cps_current_rating cve_id cvss_score description images_impacted packages_impacted severity] @@ -67,7 +67,7 @@ # Retrieve vulnerability details related to an image # @param id Image UUID # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,is_zero_day,remediation_available,severity + # @option opts [String] :filter Filter the vulnerabilities using a query in Falcon Query Language (FQL). Supported vulnerability filters: cid,cps_rating,cve_id,cvss_score,exploited_status,exploited_status_name,include_base_image_vuln,is_zero_day,remediation_available,severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiCombinedVulnerabilityDetails] @@ -119,7 +119,7 @@ # unit tests for read_vulnerability_count # Aggregate count of vulnerabilities # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCount] @@ -132,7 +132,7 @@ # unit tests for read_vulnerability_count_by_actively_exploited # Aggregate count of vulnerabilities grouped by actively exploited # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCountByActivelyExploited] @@ -145,7 +145,7 @@ # unit tests for read_vulnerability_count_by_cps_rating # Aggregate count of vulnerabilities grouped by csp_rating # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCountByCSPRating] @@ -158,7 +158,7 @@ # unit tests for read_vulnerability_count_by_cvss_score # Aggregate count of vulnerabilities grouped by cvss score # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCountByCVSSScore] @@ -171,7 +171,7 @@ # unit tests for read_vulnerability_count_by_severity # Aggregate count of vulnerabilities grouped by severity # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,package_name_version,registry,repository,severity,tag + # @option opts [String] :filter Filter vulnerabilities using a query in Falcon Query Language (FQL). Supported filters: base_os,cid,container_id,container_running_status,containers_impacted_range,cps_rating,cve_id,cvss_score,description,exploited_status,exploited_status_name,fix_status,image_digest,image_id,images_impacted_range,include_base_image_vuln,package_name_version,registry,repository,severity,tag # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @return [VulnerabilitiesApiVulnCountBySeverity] diff --git a/spec/api/provision_api_spec.rb b/spec/api/cspg_iacapi_api_spec.rb similarity index 81% rename from spec/api/provision_api_spec.rb rename to spec/api/cspg_iacapi_api_spec.rb index 55de5db6..c64703b3 100644 --- a/spec/api/provision_api_spec.rb +++ b/spec/api/cspg_iacapi_api_spec.rb @@ -30,29 +30,29 @@ require 'spec_helper' require 'json' -# Unit tests for Falcon::ProvisionApi +# Unit tests for Falcon::CspgIacapiApi # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe 'ProvisionApi' do +describe 'CspgIacapiApi' do before do # run before each test - @api_instance = Falcon::ProvisionApi.new + @api_instance = Falcon::CspgIacapiApi.new end after do # run after each test end - describe 'test an instance of ProvisionApi' do - it 'should create an instance of ProvisionApi' do - expect(@api_instance).to be_instance_of(Falcon::ProvisionApi) + describe 'test an instance of CspgIacapiApi' do + it 'should create an instance of CspgIacapiApi' do + expect(@api_instance).to be_instance_of(Falcon::CspgIacapiApi) end end # unit tests for get_credentials_mixin0 - # Gets the registry credentials + # Gets the registry credentials (external endpoint) # @param [Hash] opts the optional parameters - # @return [ModelsRegistryCredentialsResponse] + # @return [CommonRegistryCredentialsResponse] describe 'get_credentials_mixin0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/api/cspm_registration_api_spec.rb b/spec/api/cspm_registration_api_spec.rb index efad3bac..7eeac102 100644 --- a/spec/api/cspm_registration_api_spec.rb +++ b/spec/api/cspm_registration_api_spec.rb @@ -142,6 +142,17 @@ end end + # unit tests for delete_cspm_azure_management_group + # Deletes Azure management groups from the system. + # @param [Hash] opts the optional parameters + # @option opts [Array] :tenant_ids Tenant ids to remove + # @return [MsaspecResponseFields] + describe 'delete_cspm_azure_management_group test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for delete_cspmgcp_account # Deletes a GCP account from the system. # @param [Hash] opts the optional parameters @@ -191,7 +202,7 @@ # unit tests for get_configuration_detection_ids_v2 # Get list of active misconfiguration ids - including custom policy detections in addition to default policy detections. # @param [Hash] opts the optional parameters - # @option opts [String] :filter use_current_scan_ids - *use this to get records for latest scans* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string + # @option opts [String] :filter use_current_scan_ids - *use this to get records for latest scans (ignored when next_token is set)* account_name account_id agent_id attack_types azure_subscription_id cloud_provider cloud_service_keyword custom_policy_id is_managed policy_id policy_type resource_id region status scan_time severity severity_string # @option opts [String] :sort account_name account_id attack_types azure_subscription_id cloud_provider cloud_service_keyword status is_managed policy_id policy_type resource_id region scan_time severity severity_string timestamp # @option opts [Integer] :limit The max number of detections to return # @option opts [Integer] :offset Offset returned detections. Cannot be combined with next_token filter @@ -247,6 +258,18 @@ # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. # @param [Hash] opts the optional parameters # @option opts [Array] :ids AWS account IDs + # @option opts [String] :template Template to be rendered + # @option opts [String] :account_type Type of account, it can be commercial or gov + # @option opts [Array] :accounts The list of accounts to register, values should be in the form: account,profile + # @option opts [String] :behavior_assessment_enabled + # @option opts [String] :sensor_management_enabled + # @option opts [String] :dspm_enabled + # @option opts [Array] :dspm_regions + # @option opts [String] :dspm_role + # @option opts [String] :use_existing_cloudtrail + # @option opts [String] :organization_id The AWS organization ID to be registered + # @option opts [String] :aws_profile The AWS profile to be used during registration + # @option opts [String] :custom_role_name The custom IAM role to be used during registration # @return [RegistrationAWSProvisionGetAccountScriptResponseV2] describe 'get_cspm_aws_account_scripts_attachment test' do it 'should work' do @@ -260,7 +283,8 @@ # @option opts [Array] :ids AWS account IDs # @option opts [String] :use_existing_cloudtrail # @option opts [String] :region Region - # @return [RegistrationAWSAccountConsoleURL] + # @option opts [String] :template Template to be rendered + # @return [RegistrationAWSConsoleURLResponseV2] describe 'get_cspm_aws_console_setup_urls test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -398,6 +422,17 @@ end end + # unit tests for get_cspmgcp_validate_accounts_ext + # Run a synchronous health check. + # @param body + # @param [Hash] opts the optional parameters + # @return [RegistrationGCPAccountValidationResponseV1] + describe 'get_cspmgcp_validate_accounts_ext test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for patch_cspm_aws_account # Patches a existing account in our system for a customer. # @param body @@ -477,4 +512,26 @@ end end + # unit tests for update_cspmgcp_service_accounts_ext + # Patches the service account key for external clients. + # @param body + # @param [Hash] opts the optional parameters + # @return [RegistrationGCPServiceAccountResponseExtV1] + describe 'update_cspmgcp_service_accounts_ext test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for validate_cspmgcp_service_account_ext + # Validates credentials for a service account + # @param body + # @param [Hash] opts the optional parameters + # @return [RegistrationGCPServiceAccountValidationResponseV1] + describe 'validate_cspmgcp_service_account_ext test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/api/custom_ioa_api_spec.rb b/spec/api/custom_ioa_api_spec.rb index 93405222..08bf5cf6 100644 --- a/spec/api/custom_ioa_api_spec.rb +++ b/spec/api/custom_ioa_api_spec.rb @@ -83,14 +83,14 @@ end end - # unit tests for delete_rules + # unit tests for delete_rules_0 # Delete rules from a rule group by ID. # @param rule_group_id The parent rule group # @param ids The IDs of the entities # @param [Hash] opts the optional parameters # @option opts [String] :comment Explains why the entity is being deleted # @return [MsaReplyMetaOnly] - describe 'delete_rules test' do + describe 'delete_rules_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -189,12 +189,12 @@ # unit tests for query_rule_groups_full # Find all rule groups matching the query with optional filter. # @param [Hash] opts the optional parameters - # @option opts [String] :sort Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} + # @option opts [String] :sort Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} # @option opts [String] :filter FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. # @option opts [String] :q Match query criteria, which includes all the filter string fields # @option opts [String] :offset Starting index of overall result set from which to return IDs # @option opts [Integer] :limit Number of IDs to return - # @return [MsaQueryResponse] + # @return [ApiRuleGroupsResponse] describe 'query_rule_groups_full test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -204,7 +204,7 @@ # unit tests for query_rule_groups_mixin0 # Finds all rule group IDs matching the query with optional filter. # @param [Hash] opts the optional parameters - # @option opts [String] :sort Possible order by fields: {enabled, name, created_by, created_on, modified_by, modified_on} + # @option opts [String] :sort Possible order by fields: {created_by, created_on, enabled, modified_by, modified_on, name} # @option opts [String] :filter FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. # @option opts [String] :q Match query criteria, which includes all the filter string fields # @option opts [String] :offset Starting index of overall result set from which to return IDs @@ -231,7 +231,7 @@ # unit tests for query_rules_mixin0 # Finds all rule IDs matching the query with optional filter. # @param [Hash] opts the optional parameters - # @option opts [String] :sort Possible order by fields: {rules.current_version.description, rules.current_version.action_label, rules.current_version.modified_on, rules.created_on, rules.current_version.name, rules.created_by, rules.current_version.pattern_severity, rules.current_version.modified_by, rules.ruletype_name, rules.enabled} + # @option opts [String] :sort Possible order by fields: {rules.created_by, rules.created_on, rules.current_version.action_label, rules.current_version.description, rules.current_version.modified_by, rules.current_version.modified_on, rules.current_version.name, rules.current_version.pattern_severity, rules.enabled, rules.ruletype_name} # @option opts [String] :filter FQL query specifying the filter parameters. Filter term criteria: [enabled platform name description rules.action_label rules.name rules.description rules.pattern_severity rules.ruletype_name rules.enabled]. Filter range criteria: created_on, modified_on; use any common date format, such as '2010-05-15T14:55:21.892315096Z'. # @option opts [String] :q Match query criteria, which includes all the filter string fields # @option opts [String] :offset Starting index of overall result set from which to return IDs @@ -254,12 +254,23 @@ end end - # unit tests for update_rules + # unit tests for update_rules_0 # Update rules within a rule group. Return the updated rules. # @param body # @param [Hash] opts the optional parameters # @return [ApiRulesResponse] - describe 'update_rules test' do + describe 'update_rules_0 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for update_rules_v2 + # Update name, description, enabled or field_values for individual rules within a rule group. The v1 flavor of this call requires the caller to specify the complete state for all the rules in the rule group, instead the v2 flavor will accept the subset of rules in the rule group and apply the attribute updates to the subset of rules in the rule group.Return the updated rules. + # @param body + # @param [Hash] opts the optional parameters + # @return [ApiRulesResponse] + describe 'update_rules_v2 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/api/custom_storage_api_spec.rb b/spec/api/custom_storage_api_spec.rb index 5fef58e9..7e37332e 100644 --- a/spec/api/custom_storage_api_spec.rb +++ b/spec/api/custom_storage_api_spec.rb @@ -55,13 +55,27 @@ # @param object_key The object key # @param [Hash] opts the optional parameters # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. - # @return [CustomType3191042536] + # @return [CustomStorageResponse] describe 'delete_object test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + # unit tests for delete_versioned_object + # Delete the specified versioned object + # @param collection_name The name of the collection + # @param collection_version The version of the collection + # @param object_key The object key + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. + # @return [CustomType3191042536] + describe 'delete_versioned_object test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for get_object # Get the bytes for the specified object # @param collection_name The name of the collection @@ -79,13 +93,39 @@ # @param collection_name The name of the collection # @param object_key The object key # @param [Hash] opts the optional parameters - # @return [CustomType3191042536] + # @return [CustomStorageResponse] describe 'get_object_metadata test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + # unit tests for get_versioned_object + # Get the bytes for the specified object + # @param collection_name The name of the collection + # @param collection_version The version of the collection + # @param object_key The object key + # @param [Hash] opts the optional parameters + # @return [File] + describe 'get_versioned_object test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_versioned_object_metadata + # Get the metadata for the specified object + # @param collection_name The name of the collection + # @param collection_version The version of the collection + # @param object_key The object key + # @param [Hash] opts the optional parameters + # @return [CustomType3191042536] + describe 'get_versioned_object_metadata test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for list_objects # List the object keys in the specified collection in alphabetical order # @param collection_name The name of the collection @@ -93,13 +133,28 @@ # @option opts [String] :_end The end key to end listing to # @option opts [Integer] :limit The limit of results to return # @option opts [String] :start The start key to start listing from - # @return [CustomType1255839303] + # @return [CustomStorageObjectKeys] describe 'list_objects test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + # unit tests for list_objects_by_version + # List the object keys in the specified collection in alphabetical order + # @param collection_name The name of the collection + # @param collection_version The version of the collection + # @param [Hash] opts the optional parameters + # @option opts [String] :_end The end key to end listing to + # @option opts [Integer] :limit The limit of results to return + # @option opts [String] :start The start key to start listing from + # @return [CustomType1255839303] + describe 'list_objects_by_version test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for put_object # Put the specified new object at the given key or overwrite an existing object at the given key # @param collection_name The name of the collection @@ -108,13 +163,28 @@ # @param [Hash] opts the optional parameters # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. # @option opts [String] :schema_version The version of the collection schema - # @return [CustomType3191042536] + # @return [CustomStorageResponse] describe 'put_object test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + # unit tests for put_object_by_version + # Put the specified new object at the given key or overwrite an existing object at the given key + # @param collection_name The name of the collection + # @param collection_version The version of the collection + # @param object_key The object key + # @param body + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :dry_run If false, run the operation as normal. If true, validate that the request *would* succeed, but don't execute it. + # @return [CustomType3191042536] + describe 'put_object_by_version test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for search_objects # Search for objects that match the specified filter criteria (returns metadata, not actual objects) # @param collection_name The name of the collection @@ -123,11 +193,27 @@ # @option opts [Integer] :limit The limit of results to return # @option opts [Integer] :offset The offset of results to return # @option opts [String] :sort The sort order for the returned results. - # @return [CustomType3191042536] + # @return [CustomStorageResponse] describe 'search_objects test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + # unit tests for search_objects_by_version + # Search for objects that match the specified filter criteria (returns metadata, not actual objects) + # @param collection_name The name of the collection + # @param collection_version The version of the collection + # @param filter The filter to limit the returned results. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :limit The limit of results to return + # @option opts [Integer] :offset The offset of results to return + # @option opts [String] :sort The sort order for the returned results. + # @return [CustomType3191042536] + describe 'search_objects_by_version test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/api/d4c_registration_api_spec.rb b/spec/api/d4c_registration_api_spec.rb index e722660c..deec8aae 100644 --- a/spec/api/d4c_registration_api_spec.rb +++ b/spec/api/d4c_registration_api_spec.rb @@ -71,12 +71,12 @@ end end - # unit tests for create_d4_cgcp_account + # unit tests for create_d4_c_gcp_account # Creates a new account in our system for a customer and generates a new service account for them to add access to in their GCP environment to grant us access. # @param body # @param [Hash] opts the optional parameters # @return [RegistrationGCPAccountResponseV1] - describe 'create_d4_cgcp_account test' do + describe 'create_d4_c_gcp_account test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -150,25 +150,14 @@ # Return a URL for customer to visit in their cloud environment to grant us access to their AWS environment. # @param [Hash] opts the optional parameters # @option opts [String] :region Region - # @return [RegistrationAWSAccountConsoleURL] + # @return [RegistrationAWSConsoleURLResponseV2] describe 'get_d4_c_aws_console_setup_urls test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for get_d4_caws_account_scripts_attachment - # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. - # @param [Hash] opts the optional parameters - # @option opts [Array] :ids AWS account IDs - # @return [RegistrationAWSProvisionGetAccountScriptResponseV2] - describe 'get_d4_caws_account_scripts_attachment test' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - # unit tests for get_d4_ccgp_account + # unit tests for get_d4_c_gcp_account # Returns information about the current status of an GCP account. # @param [Hash] opts the optional parameters # @option opts [String] :parent_type GCP Hierarchy Parent Type, organization/folder/project @@ -179,29 +168,51 @@ # @option opts [Integer] :offset The offset to start retrieving records from # @option opts [String] :sort Order fields in ascending or descending order. Ex: parent_type|asc. # @return [RegistrationGCPAccountResponseV1] - describe 'get_d4_ccgp_account test' do + describe 'get_d4_c_gcp_account test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for get_d4_cgcp_service_accounts_ext - # Returns the service account id and client email for external clients. + # unit tests for get_d4_c_gcp_user_scripts + # Return a script for customer to run in their cloud environment to grant us access to their GCP environment # @param [Hash] opts the optional parameters - # @option opts [String] :id Service Account ID - # @return [RegistrationGCPServiceAccountResponseExtV1] - describe 'get_d4_cgcp_service_accounts_ext test' do + # @option opts [String] :parent_type GCP Hierarchy Parent Type, organization/folder/project + # @return [RegistrationGCPProvisionGetUserScriptResponseV1] + describe 'get_d4_c_gcp_user_scripts test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for get_d4_cgcp_user_scripts - # Return a script for customer to run in their cloud environment to grant us access to their GCP environment + # unit tests for get_d4_caws_account_scripts_attachment + # Return a script for customer to run in their cloud environment to grant us access to their AWS environment as a downloadable attachment. # @param [Hash] opts the optional parameters - # @option opts [String] :parent_type GCP Hierarchy Parent Type, organization/folder/project - # @return [RegistrationGCPProvisionGetUserScriptResponseV1] - describe 'get_d4_cgcp_user_scripts test' do + # @option opts [Array] :ids AWS account IDs + # @option opts [String] :template Template to be rendered + # @option opts [Array] :accounts The list of accounts to register + # @option opts [String] :behavior_assessment_enabled + # @option opts [String] :sensor_management_enabled + # @option opts [String] :dspm_enabled + # @option opts [Array] :dspm_regions + # @option opts [String] :dspm_role + # @option opts [String] :use_existing_cloudtrail + # @option opts [String] :organization_id The AWS organization ID to be registered + # @option opts [String] :aws_profile The AWS profile to be used during registration + # @option opts [String] :custom_role_name The custom IAM role to be used during registration + # @return [RegistrationAWSProvisionGetAccountScriptResponseV2] + describe 'get_d4_caws_account_scripts_attachment test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_d4_cgcp_service_accounts_ext + # Returns the service account id and client email for external clients. + # @param [Hash] opts the optional parameters + # @option opts [String] :id Service Account ID + # @return [RegistrationGCPServiceAccountResponseExtV1] + describe 'get_d4_cgcp_service_accounts_ext test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -284,6 +295,17 @@ end end + # unit tests for update_d4_cgcp_service_accounts_ext + # Patches the service account key for external clients. + # @param body + # @param [Hash] opts the optional parameters + # @return [RegistrationGCPServiceAccountResponseExtV1] + describe 'update_d4_cgcp_service_accounts_ext test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for update_discover_cloud_azure_account_client_id # Update an Azure service account in our system by with the user-created client_id created with the public key we've provided # @param id ClientID to use for the Service Principal associated with the customer's Azure account diff --git a/spec/api/datascanner_api_spec.rb b/spec/api/datascanner_api_spec.rb new file mode 100644 index 00000000..84b76906 --- /dev/null +++ b/spec/api/datascanner_api_spec.rb @@ -0,0 +1,85 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::DatascannerApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'DatascannerApi' do + before do + # run before each test + @api_instance = Falcon::DatascannerApi.new + end + + after do + # run after each test + end + + describe 'test an instance of DatascannerApi' do + it 'should create an instance of DatascannerApi' do + expect(@api_instance).to be_instance_of(Falcon::DatascannerApi) + end + end + + # unit tests for get_data_scanner_tasks + # - GetDataScannerTasks is a route for the data scanner to fetch pending tasks + # @param x_scanner_id ID of the data scanner + # @param [Hash] opts the optional parameters + # @return [Hash] + describe 'get_data_scanner_tasks test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_image_registry_credentials + # - GetImageRegistryCredentials is a route that gets credentials in order to fetch the data scanner image. + # @param [Hash] opts the optional parameters + # @return [Hash] + describe 'get_image_registry_credentials test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for update_data_scanner_tasks + # - PatchDataScannerTasks is a route for the data scanner to report back on tasks statuses + # @param x_scanner_id ID of the data scanner + # @param x_machine_id Provider ID of machine + # @param [Hash] opts the optional parameters + # @return [Hash] + describe 'update_data_scanner_tasks test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/default_api_spec.rb b/spec/api/default_api_spec.rb new file mode 100644 index 00000000..10ba0c40 --- /dev/null +++ b/spec/api/default_api_spec.rb @@ -0,0 +1,128 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::DefaultApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'DefaultApi' do + before do + # run before each test + @api_instance = Falcon::DefaultApi.new + end + + after do + # run after each test + end + + describe 'test an instance of DefaultApi' do + it 'should create an instance of DefaultApi' do + expect(@api_instance).to be_instance_of(Falcon::DefaultApi) + end + end + + # unit tests for cloud_registration_aws_create_account + # Creates a new account in our system for a customer. + # @param body + # @param [Hash] opts the optional parameters + # @return [RestAWSAccountCreateResponseExtV1] + describe 'cloud_registration_aws_create_account test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for cloud_registration_aws_delete_account + # Deletes an existing AWS account or organization in our system. + # @param [Hash] opts the optional parameters + # @option opts [Array] :ids AWS account IDs to remove + # @option opts [Array] :organization_ids AWS organization IDs to remove + # @return [MsaspecResponseFields] + describe 'cloud_registration_aws_delete_account test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for cloud_registration_aws_get_accounts + # Retrieve existing AWS accounts by account IDs + # @param [Hash] opts the optional parameters + # @option opts [Array] :ids AWS account IDs to filter + # @return [RestAWSAccountCreateResponseExtV1] + describe 'cloud_registration_aws_get_accounts test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for cloud_registration_aws_query_accounts + # Retrieve existing AWS accounts by account IDs + # @param products Products registered for an account + # @param features Features registered for an account + # @param [Hash] opts the optional parameters + # @option opts [Array] :organization_ids Organization IDs used to filter accounts + # @option opts [String] :account_status Account status to filter results by. + # @option opts [Integer] :limit The maximum number of items to return. When not specified or 0, 100 is used. When larger than 500, 500 is used. + # @option opts [Integer] :offset The offset to start retrieving records from. + # @option opts [String] :group_by Field to group by. + # @return [RestAWSAccountCreateResponseExtV1] + describe 'cloud_registration_aws_query_accounts test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for cloud_registration_aws_update_account + # Patches a existing account in our system for a customer. + # @param body + # @param [Hash] opts the optional parameters + # @return [RestAWSAccountCreateResponseExtV1] + describe 'cloud_registration_aws_update_account test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for cloud_registration_aws_validate_accounts + # Validates the AWS account in our system for a provided CID. For internal clients only. + # @param products Product registered for an account + # @param feature Features registered for an account + # @param [Hash] opts the optional parameters + # @option opts [String] :account_id AWS Account ID + # @option opts [String] :iam_role_arn IAM Role ARN + # @return [RestAWSAccountValidationResponse] + describe 'cloud_registration_aws_validate_accounts test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/delivery_settings_api_spec.rb b/spec/api/delivery_settings_api_spec.rb new file mode 100644 index 00000000..5ab235e3 --- /dev/null +++ b/spec/api/delivery_settings_api_spec.rb @@ -0,0 +1,73 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::DeliverySettingsApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'DeliverySettingsApi' do + before do + # run before each test + @api_instance = Falcon::DeliverySettingsApi.new + end + + after do + # run after each test + end + + describe 'test an instance of DeliverySettingsApi' do + it 'should create an instance of DeliverySettingsApi' do + expect(@api_instance).to be_instance_of(Falcon::DeliverySettingsApi) + end + end + + # unit tests for get_delivery_settings + # Get Delivery Settings + # @param [Hash] opts the optional parameters + # @return [ModelsDeliverySettingsEntityResponse] + describe 'get_delivery_settings test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for post_delivery_settings + # Create Delivery Settings + # @param body + # @param [Hash] opts the optional parameters + # @return [ModelsDeliverySettingsEntityResponse] + describe 'post_delivery_settings test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/discover_api_spec.rb b/spec/api/discover_api_spec.rb index c3d58fbf..55a9aa7d 100644 --- a/spec/api/discover_api_spec.rb +++ b/spec/api/discover_api_spec.rb @@ -49,6 +49,36 @@ end end + # unit tests for combined_applications + # Search for applications in your environment by providing an FQL filter and paging details. Returns details on applications which match the filter criteria. + # @param filter Search for applications in your environment by providing an FQL filter. Available filter fields that support exact match: name, version, vendor, name_vendor, name_vendor_version, first_seen_timestamp, installation_timestamp, architectures, installation_paths, versioning_scheme, groups, is_normalized, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, last_used_timestamp, last_updated_timestamp, is_suspicious, host.id, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports wildcard (*): name, version, vendor, name_vendor, name_vendor_version, architectures, installation_paths, groups, last_used_user_sid, last_used_user_name, last_used_file_name, last_used_file_hash, host.platform_name, host.hostname, cid, host.os_version, host.machine_domain, host.ou, host.site_name, host.country, host.current_mac_address, host.current_network_prefix, host.tags, host.groups, host.product_type_desc, host.kernel_version, host.system_manufacturer, host.internet_exposure, host.agent_version, host.external_ip, host.aid Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, installation_timestamp, last_used_timestamp, last_updated_timestamp All filter fields and operations supports negation (!). + # @param [Hash] opts the optional parameters + # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + # @option opts [Integer] :limit The number of application ids to return in this response (Min: 1, Max: 1000, Default: 100). Use with the `after` parameter to manage pagination of results. + # @option opts [String] :sort Sort applications by their properties. A single sort field is allowed. + # @option opts [Array] :facet Select various details blocks to be returned for each application entity. Supported values: <ul><li>browser_extension</li><li>host_info</li><li>install_usage</li></ul> + # @return [DomainDiscoverAPICombinedApplicationsResponse] + describe 'combined_applications test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for combined_hosts + # Search for assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns details on assets which match the filter criteria. + # @param filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, local_ips_count, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_count, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, data_providers_count, mac_addresses, local_ip_addresses, reduced_functionality_mode, number_of_disk_drives, processor_package_count, physical_core_count, logical_core_count, total_disk_space, disk_sizes.disk_name, disk_sizes.disk_space, cpu_processor_name, total_memory, encryption_status, encrypted_drives, encrypted_drives_count, unencrypted_drives, unencrypted_drives_count, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, total_bios_files, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.mount_path, mount_storage_info.used_space, mount_storage_info.available_space, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, ad_user_account_control, account_enabled, creation_timestamp, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports wildcard (*): id, aid, entity_type, country, city, platform_name, os_version, kernel_version, product_type_desc, tags, groups, agent_version, system_product_name, system_manufacturer, system_serial_number, bios_manufacturer, bios_version, ou, machine_domain, site_name, external_ip, hostname, network_interfaces.local_ip, network_interfaces.mac_address, network_interfaces.interface_alias, network_interfaces.interface_description, network_interfaces.network_prefix, last_discoverer_aid, discoverer_aids, discoverer_tags, discoverer_platform_names, discoverer_product_type_descs, confidence, internet_exposure, os_is_eol, data_providers, mac_addresses, local_ip_addresses, reduced_functionality_mode, disk_sizes.disk_name, cpu_processor_name, encryption_status, encrypted_drives, unencrypted_drives, os_security.secure_boot_requested_status, os_security.device_guard_status, os_security.device_guard_status, os_security.device_guard_status, os_security.system_guard_status, os_security.credential_guard_status, os_security.iommu_protection_status, os_security.secure_boot_enabled_status, os_security.uefi_memory_protection_status, os_security.virtualization_based_security_status, os_security.kernel_dma_protection_status, bios_hashes_data.sha256_hash, bios_hashes_data.measurement_type, bios_id, mount_storage_info.mount_path, form_factor, servicenow_id, owned_by, managed_by, assigned_to, department, fqdn, used_for, object_guid, object_sid, account_enabled, email, os_service_pack, location, state, cpu_manufacturer, discovering_by Available filter fields that supports range comparisons (>, <, >=, <=): first_seen_timestamp, last_seen_timestamp, local_ips_count, discoverer_count, confidence, number_of_disk_drives, processor_package_count, physical_core_count, data_providers_count, logical_core_count, total_disk_space, disk_sizes.disk_space, total_memory, encrypted_drives_count, unencrypted_drives_count, total_bios_files, average_processor_usage, average_memory_usage, average_memory_usage_pct, max_processor_usage, max_memory_usage, max_memory_usage_pct, used_disk_space, used_disk_space_pct, available_disk_space, available_disk_space_pct, mount_storage_info.used_space, mount_storage_info.available_space, ad_user_account_control, creation_timestamp All filter fields and operations supports negation (!). + # @param [Hash] opts the optional parameters + # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + # @option opts [Integer] :limit The number of asset IDs to return in this response (min: 1, max: 1000, default: 100). Use with the `after` parameter to manage pagination of results. + # @option opts [String] :sort Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> + # @option opts [Array] :facet Select various details blocks to be returned for each host entity. Supported values: <ul><li>system_insights</li><li>third_party</li><li>risk_factors</li></ul> + # @return [DomainDiscoverAPICombinedHostsResponse] + describe 'combined_hosts test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for get_accounts # Get details on accounts by providing one or more IDs. # @param ids One or more account IDs (max: 100). Find account IDs with GET `/discover/queries/accounts/v1` diff --git a/spec/api/discover_iot_api_spec.rb b/spec/api/discover_iot_api_spec.rb index 93b03641..662f9a09 100644 --- a/spec/api/discover_iot_api_spec.rb +++ b/spec/api/discover_iot_api_spec.rb @@ -66,7 +66,7 @@ # @option opts [Integer] :offset An offset used with the `limit` parameter to manage pagination of results. On your first request, don’t provide an `offset`. On subsequent requests, add previous `offset` with the previous `limit` to continue from that place in the results. # @option opts [Integer] :limit The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `offset` parameter to manage pagination of results. # @option opts [String] :sort Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> - # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). + # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers, local_ips_count, network_interfaces.local_ip, classification Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count, local_ips_count All filter fields and operations supports negation (!). # @return [MsaspecQueryResponse] describe 'query_iot_hosts test' do it 'should work' do @@ -74,4 +74,18 @@ end end + # unit tests for query_iot_hosts_v2 + # Search for IoT assets in your environment by providing an FQL (Falcon Query Language) filter and paging details. Returns a set of asset IDs which match the filter criteria. + # @param [Hash] opts the optional parameters + # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. + # @option opts [Integer] :limit The number of asset IDs to return in this response (min: 1, max: 100, default: 100). Use with the `after` parameter to manage pagination of results. + # @option opts [String] :sort Sort assets by their properties. A single sort field is allowed. Common sort options include: <ul><li>hostname|asc</li><li>product_type_desc|desc</li></ul> + # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>entity_type:'managed'</li><li>product_type_desc:'Workstation'</li><li>platform_name:'Windows'</li><li>last_seen_timestamp:>'now-7d'</li></ul> Available filter fields that support exact match: device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, physical_connections_count, data_providers Available filter fields that supports wildcard (*): device_family, device_class, device_type, device_mode, business_criticality, line_of_business, virtual_zone, subnet, purdue_level, vlan, local_ip_addresses, mac_addresses, data_providers Available filter fields that supports range comparisons (>, <, >=, <=): physical_connections_count All filter fields and operations supports negation (!). + # @return [DomainDiscoverAPIResponse] + describe 'query_iot_hosts_v2 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/api/downloads_api_api_spec.rb b/spec/api/downloads_api_api_spec.rb new file mode 100644 index 00000000..b055dd76 --- /dev/null +++ b/spec/api/downloads_api_api_spec.rb @@ -0,0 +1,80 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::DownloadsApiApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'DownloadsApiApi' do + before do + # run before each test + @api_instance = Falcon::DownloadsApiApi.new + end + + after do + # run after each test + end + + describe 'test an instance of DownloadsApiApi' do + it 'should create an instance of DownloadsApiApi' do + expect(@api_instance).to be_instance_of(Falcon::DownloadsApiApi) + end + end + + # unit tests for download_file + # Gets pre-signed URL for the file + # @param file_name Name of the file to be downloaded + # @param file_version Version of the file to be downloaded + # @param [Hash] opts the optional parameters + # @return [CommonEntitiesResponse] + describe 'download_file test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for enumerate_file + # Enumerates a list of files available for CID + # @param [Hash] opts the optional parameters + # @option opts [String] :file_name Apply filtering on file name + # @option opts [String] :file_version Apply filtering on file version + # @option opts [String] :platform Apply filtering on file platform + # @option opts [String] :os Apply filtering on operating system + # @option opts [String] :arch Apply filtering on architecture + # @option opts [String] :category Apply filtering on file category + # @return [CommonEntitiesResponse] + describe 'enumerate_file test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/exposure_management_api_spec.rb b/spec/api/exposure_management_api_spec.rb new file mode 100644 index 00000000..c636cd53 --- /dev/null +++ b/spec/api/exposure_management_api_spec.rb @@ -0,0 +1,178 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::ExposureManagementApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'ExposureManagementApi' do + before do + # run before each test + @api_instance = Falcon::ExposureManagementApi.new + end + + after do + # run after each test + end + + describe 'test an instance of ExposureManagementApi' do + it 'should create an instance of ExposureManagementApi' do + expect(@api_instance).to be_instance_of(Falcon::ExposureManagementApi) + end + end + + # unit tests for aggregate_external_assets + # Returns external assets aggregates. + # Returns external assets aggregates as specified via JSON in request body. + # @param body Aggregation specification. + # @param [Hash] opts the optional parameters + # @return [MsaAggregatesResponse] + describe 'aggregate_external_assets test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for blob_download_external_assets + # Download the entire contents of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + # Download the entire contents of the blob. + # @param asset_id The Asset ID + # @param hash The File Hash + # @param [Hash] opts the optional parameters + # @return [Array] + describe 'blob_download_external_assets test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for blob_preview_external_assets + # Download a preview of the blob. The relative link to this endpoint is returned in the GET /entities/external-assets/v1 request. + # Download a preview of the blob. + # @param asset_id The Asset ID + # @param hash The File Hash + # @param [Hash] opts the optional parameters + # @return [DomainExternalAssetsBlobAPITypeV1] + describe 'blob_preview_external_assets test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for combined_ecosystem_subsidiaries + # Retrieves a list of ecosystem subsidiaries with their detailed information. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset Starting index of result set from which to return subsidiaries + # @option opts [Integer] :limit The maximum number of subsidiaries to return in the response. + # @option opts [String] :sort The field by which to sort the list of subsidiaries. Possible values:<ul><li>name</li><li>primary_domain</li></ul></br>Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). + # @option opts [String] :version_id The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. + # @return [DomainFemEcosystemSubsidiariesEntitiesResponse] + describe 'combined_ecosystem_subsidiaries test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for delete_external_assets + # Delete multiple external assets. + # @param ids One or more asset IDs (max: 100). + # @param body + # @param [Hash] opts the optional parameters + # @return [MsaspecQueryResponse] + describe 'delete_external_assets test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_ecosystem_subsidiaries + # Retrieves detailed information about ecosystem subsidiaries by ID. + # @param ids One or more asset IDs (max: 100). Find ecosystem subsidiary IDs with GET `/fem/entities/ecosystem-subsidiaries/v1` + # @param [Hash] opts the optional parameters + # @option opts [String] :version_id The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. + # @return [DomainFemEcosystemSubsidiariesEntitiesResponse] + describe 'get_ecosystem_subsidiaries test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_external_assets + # Get details on external assets by providing one or more IDs. + # @param ids One or more asset IDs (max: 100). Find asset IDs with GET `/fem/queries/external-assets/v1` + # @param [Hash] opts the optional parameters + # @return [DomainExternalAssetsAPITypeV1] + describe 'get_external_assets test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for patch_external_assets + # Update the details of external assets. + # @param body + # @param [Hash] opts the optional parameters + # @return [DomainExternalAssetsAPITypeV1] + describe 'patch_external_assets test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for query_ecosystem_subsidiaries + # Retrieves a list of IDs for ecosystem subsidiaries. Use these IDs with the /entities/ecosystem-subsidiaries/v1 endpoints. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset Starting index of result set from which to return subsidiaries + # @option opts [Integer] :limit The maximum number of IDs to return in the response. + # @option opts [String] :sort The field by which to sort the list of IDs. Possible values:<ul><li>name</li><li>primary_domain</li></ul></br>Sort order can be specified by appending \"asc\" or \"desc\" to the field name (e.g. \"name|asc\" or \"primary_domain|desc\"). + # @option opts [String] :version_id The version ID of the ecosystem subsidiaries data, represented as a hash string. This parameter is required to ensure data consistency and prevent stale data. If a new version of the ecosystem subsidiaries data is written, the version ID will be updated. By including this parameter in the request, the client can ensure that the response will be invalidated if a new version is written. + # @return [DomainFemEcosystemSubsidiariesQueryResponse] + describe 'query_ecosystem_subsidiaries test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for query_external_assets + # Get a list of external asset IDs that match the provided filter conditions. Use these IDs with the /entities/external-assets/v1 endpoints + # @param [Hash] opts the optional parameters + # @option opts [String] :offset Starting index of result set from which to return IDs. + # @option opts [Integer] :limit Number of IDs to return. + # @option opts [String] :sort Order by fields. + # @option opts [String] :filter Filter assets using an FQL query. Common filter options include:<ul><li>asset_type:'ip'</li><li>last_seen_timestamp:>'now-7d'</li></ul> </br>Available filter fields that support exact match: asset_id, asset_type, confidence, connectivity_status, criticality, criticality_description, criticality_timestamp, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.last_seen, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, first_seen, id, internet_exposure, ip.asn, ip.cloud_provider, ip.cloud_vm.description, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.first_seen, ip.services.last_seen, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, last_seen, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by, triage.updated_timestamp </br>Available filter fields that supports wildcard (*): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.resolved_ips, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.hosting_provider, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.ip_address, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by </br>Available filter fields that supports in ([v1, v2]): asset_id, asset_type, confidence, connectivity_status, criticality, criticality_username, data_providers, discovered_by, dns_domain.fqdn, dns_domain.isps, dns_domain.parent_domain, dns_domain.services.applications.category, dns_domain.services.applications.cpe, dns_domain.services.applications.name, dns_domain.services.applications.vendor, dns_domain.services.applications.version, dns_domain.services.cloud_provider, dns_domain.services.cpes, dns_domain.services.id, dns_domain.services.platform_name, dns_domain.services.port, dns_domain.services.protocol, dns_domain.services.protocol_port, dns_domain.services.status, dns_domain.services.status_code, dns_domain.services.transport, dns_domain.type, id, internet_exposure, ip.asn, ip.cloud_vm.instance_id, ip.cloud_vm.lifecycle, ip.cloud_vm.mac_address, ip.cloud_vm.owner_id, ip.cloud_vm.platform, ip.cloud_vm.region, ip.cloud_vm.security_groups, ip.cloud_vm.source, ip.cloud_vm.status, ip.fqdns, ip.isp, ip.location.area_code, ip.location.city, ip.location.country_code, ip.location.country_name, ip.location.postal_code, ip.location.region_code, ip.location.region_name, ip.location.timezone, ip.ptr, ip.aid, ip.services.applications.category, ip.services.applications.cpe, ip.services.applications.name, ip.services.applications.vendor, ip.services.applications.version, ip.services.cloud_provider, ip.services.cpes, ip.services.platform_name, ip.services.port, ip.services.protocol, ip.services.protocol_port, ip.services.status, ip.services.status_code, ip.services.transport, manual, perimeter, subsidiaries.id, subsidiaries.name, triage.action, triage.assigned_to, triage.status, triage.updated_by </br>Available filter fields that supports range comparisons (>, <, >=, <=): criticality_timestamp, dns_domain.resolved_ips, dns_domain.services.first_seen, dns_domain.services.last_seen, dns_domain.services.port, dns_domain.services.status_code, first_seen, ip.cloud_vm.private_ip, ip.cloud_vm.public_ip, ip.ip_address, ip.services.first_seen, ip.services.last_seen, ip.services.port, ip.services.status_code, last_seen, triage.updated_timestamp </br>All filter fields and operations supports negation (!). + # @return [MsaspecQueryResponse] + describe 'query_external_assets test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/falcon_complete_dashboard_api_spec.rb b/spec/api/falcon_complete_dashboard_api_spec.rb index a512d7a6..9242d36d 100644 --- a/spec/api/falcon_complete_dashboard_api_spec.rb +++ b/spec/api/falcon_complete_dashboard_api_spec.rb @@ -160,6 +160,17 @@ end end + # unit tests for aggregate_support_issues + # Retrieve aggregate support issue ticket values based on the matched filter + # @param body + # @param [Hash] opts the optional parameters + # @return [MsaAggregatesResponse] + describe 'aggregate_support_issues test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for aggregate_total_device_counts # Retrieve aggregate total host/devices based on the matched filter # @param body @@ -178,7 +189,7 @@ # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] describe 'get_device_count_collection_queries_by_filter test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -192,7 +203,7 @@ # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] describe 'query_alert_ids_by_filter test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -206,7 +217,7 @@ # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] describe 'query_allow_list_filter test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -220,7 +231,7 @@ # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] describe 'query_block_list_filter test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -234,7 +245,7 @@ # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] describe 'query_detection_ids_by_filter test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -248,7 +259,7 @@ # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] describe 'query_escalations_filter test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -262,7 +273,7 @@ # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] describe 'query_incident_ids_by_filter test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -276,7 +287,7 @@ # @option opts [String] :sort The property to sort on, followed by a dot (.), followed by the sort direction, either \"asc\" or \"desc\". # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). # @option opts [String] :offset Starting index of overall result set from which to return ids. - # @return [MsaspecQueryResponse] + # @return [MsaQueryResponse] describe 'query_remediations_filter test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/api/falcon_container_image_api_spec.rb b/spec/api/falcon_container_image_api_spec.rb index 2d72614f..8d3d8ba6 100644 --- a/spec/api/falcon_container_image_api_spec.rb +++ b/spec/api/falcon_container_image_api_spec.rb @@ -71,6 +71,50 @@ end end + # unit tests for download_export_file + # Download an export file + # @param id Export job ID. + # @param [Hash] opts the optional parameters + # @return [Array] + describe 'download_export_file test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for launch_export_job + # Launch an export job of a Container Security resource. Maximum of 1 job in progress per resource + # @param body Supported resources: - `assets.clusters` - `assets.containers` - `assets.deployments` - `assets.images` - `assets.namespaces` - `assets.nodes` - `assets.pods` - `images.images-assessment-expanded` - `images.images-assessment` - `images.images-detections` - `images.packages` - `images.vulnerabilities` - `investigate.container-alerts` - `investigate.drift-indicators` - `investigate.kubernetes-ioms` - `investigate.runtime-detections` - `investigate.unidentified-containers` - `network.events` - `policies.exclusions` + # @param [Hash] opts the optional parameters + # @return [ExportsLaunchExportResponse] + describe 'launch_export_job test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for query_export_jobs + # Query export jobs entities + # @param [Hash] opts the optional parameters + # @option opts [String] :filter FQL query specifying the filter parameters. Only the last 100 jobs are returned. Supported filters: - `resource`: (string) - `status`: (string) + # @return [MsaspecQueryResponse] + describe 'query_export_jobs test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for read_export_jobs + # Read export jobs entities + # @param ids Export Job IDs to read. Allowed up to 100 IDs per request. + # @param [Hash] opts the optional parameters + # @return [ExportsExportsResponse] + describe 'read_export_jobs test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for read_registry_entities # Retrieve registry entities identified by the customer id # @param [Hash] opts the optional parameters diff --git a/spec/api/falconx_sandbox_api_spec.rb b/spec/api/falconx_sandbox_api_spec.rb index 28ac6ed3..f49003b7 100644 --- a/spec/api/falconx_sandbox_api_spec.rb +++ b/spec/api/falconx_sandbox_api_spec.rb @@ -193,7 +193,7 @@ end end - # unit tests for query_submissions + # unit tests for query_submissions_mixin0 # Find submission IDs for uploaded files by providing an FQL filter and paging details. Returns a set of submission IDs that match your criteria. # @param [Hash] opts the optional parameters # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). @@ -201,7 +201,7 @@ # @option opts [Integer] :limit Maximum number of submission IDs to return. Max: 5000. # @option opts [String] :sort Sort order: `asc` or `desc`. # @return [MsaspecQueryResponse] - describe 'query_submissions test' do + describe 'query_submissions_mixin0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -209,8 +209,9 @@ # unit tests for submit # Submit an uploaded file or a URL for sandbox analysis. Time required for analysis varies but is usually less than 15 minutes. - # @param body Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. + # @param body Submit either a URL or a sample SHA256 for sandbox analysis. The sample file must have been previously uploaded through `/samples/entities/samples/v2`. You must specify a JSON object that includes the `falconx.SubmissionParametersV1` key/value pairs shown below. **`environment_id`**: Specifies the sandbox environment used for analysis. Values: - `400`: MacOS Catalina 10.15 - `410`: MacOS Sonoma ARM 64 bit - `300`: Linux Ubuntu 16.04, 64-bit - `200`: Android (static analysis) - `160`: Windows 10, 64-bit - `140`: Windows 11, 64-bit - `110`: Windows 7, 64-bit - `100`: Windows 7, 32-bit **`sha256`** ID of the sample, which is a SHA256 hash value. Find a sample ID from the response when uploading a malware sample or search with `/falconx/queries/submissions/v1`.The `url` parameter must be unset if `sha256` is used. **`url`** A web page or file URL. It can be HTTP(S) or FTP. The `sha256` parameter must be unset if `url` is used. **`action_script`** (optional): Runtime script for sandbox analysis. Values: - `default` - `default_maxantievasion` - `default_randomfiles` - `default_randomtheme` - `default_openie` **`command_line`** (optional): Command line script passed to the submitted file at runtime. Max length: 2048 characters **`document_password`** (optional): Auto-filled for Adobe or Office files that prompt for a password. Max length: 32 characters **`enable_tor`** (optional): Deprecated, please use `network_settings` instead. If `true`, sandbox analysis routes network traffic via TOR. Default: `false`. **`network_settings`** (optional): Specifies the sandbox network_settings used for analysis. Values: - `default`: Fully operating network - `tor`: Route network traffic via TOR - `simulated`: Simulate network traffic - `offline`: No network traffic **`submit_name`** (optional): Name of the malware sample that's used for file type detection and analysis **`system_date`** (optional): Set a custom date in the format `yyyy-MM-dd` for the sandbox environment **`system_time`** (optional): Set a custom time in the format `HH:mm` for the sandbox environment. # @param [Hash] opts the optional parameters + # @option opts [String] :aid Agent ID # @return [FalconxSubmissionV1Response] describe 'submit test' do it 'should work' do diff --git a/spec/api/filevantage_api_spec.rb b/spec/api/filevantage_api_spec.rb index 157f4bb4..10ea8fa7 100644 --- a/spec/api/filevantage_api_spec.rb +++ b/spec/api/filevantage_api_spec.rb @@ -49,13 +49,13 @@ end end - # unit tests for create_policies + # unit tests for create_policies_0 # Creates a new policy of the specified type. New policies are always added at the end of the precedence list for the provided policy type. # After they are created, host and rule groups can be assigned, scheduled exclusions can be defined, and policy precedence can be set. # @param body Create a new policy. * `name` must be between 1 and 100 characters. * `description` can be between 0 and 500 characters. * `platform` must be one of `Windows`, `Linux`, or `Mac` Rule and host group assignment and policy precedence setting is performed via their respective patch end-points. # @param [Hash] opts the optional parameters # @return [PoliciesResponse] - describe 'create_policies test' do + describe 'create_policies_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -76,7 +76,7 @@ # unit tests for create_rules # Creates a new rule configuration within the specified rule group. # Creates a new rule configuration within the specified rule group. - # @param body Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` + # @param body Create a new rule configuration for the specified rule group. * `id` is not supported for creation of a rule, the new id of the created rule will be included in the response. * `rule_group_id` to add the new rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` - is not supported for creation of a rule, new rules will be added last in precedence order. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files whose content will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_permissions_key_changes` * `watch_delete_value_changes` * `watch_create_file_changes` # @param [Hash] opts the optional parameters # @return [RulegroupsRulesResponse] describe 'create_rules test' do @@ -147,18 +147,43 @@ end end + # unit tests for get_actions_mixin0 + # Retrieves the processing results for 1 or more actions. + # The processing results of each action that match the provided ids will be returned. + # @param ids One or more actions ids in the form of `ids=ID1&ids=ID2` + # @param [Hash] opts the optional parameters + # @return [ActionsGetActionResponse] + describe 'get_actions_mixin0 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for get_changes # Retrieve information on changes # Retrieve key attributes of Falcon FileVantage changes for the specified ids. # @param ids One or more change ids in the form of `ids=ID1&ids=ID2`. The maximum number of ids that can be requested at once is `500`. # @param [Hash] opts the optional parameters - # @return [ChangesGetChangesResponse] + # @return [PublicGetChangesResponse] describe 'get_changes test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + # unit tests for get_contents + # Retrieves the content captured for the provided change id + # Retrieves the before and after change content for the provided change id. + # @param id ID of the change in the form of id=ID1 + # @param [Hash] opts the optional parameters + # @option opts [String] :accept_encoding Providing the value of `gzip` compresses the response, otherwise the content is returned uncompressed. + # @return [ContentchangesChangeContentsResponse] + describe 'get_contents test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for get_policies # Retrieves the configuration for 1 or more policies. # The configuration of each policy that match the provided id will be returned. @@ -211,7 +236,7 @@ # unit tests for high_volume_query_changes # Returns 1 or more change ids - # Returns a list of Falcon FileVantage change IDs filtered, sorted and limited by the query parameters provided. It can retrieve an unlimited number of results using multiple requests. + # Returns a list of Falcon FileVantage change ids filtered, sorted and limited by the query parameters provided. It can retrieve an unlimited number of results using multiple requests. # @param [Hash] opts the optional parameters # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request don't provide a value for the `after` token. On subsequent requests provide the `after` token value from the previous response to continue pagination from where you left. If the response returns an empty `after` token it means there are no more results to return. # @option opts [Integer] :limit The maximum number of ids to return. Defaults to `100` if not specified. The maximum number of results that can be returned in a single call is `5000`. @@ -224,9 +249,24 @@ end end + # unit tests for query_actions_mixin0 + # Returns one or more action ids + # Returns the list of action ids filtered, sorted, and limited to the query parameters provided. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The first action index to return in the response. If not provided it will default to '0'. Use with the `limit` parameter to manage pagination of results. + # @option opts [Integer] :limit The maximum number of actions to return in the response (default: 100; max: 500). Use with the `offset` parameter to manage pagination of results + # @option opts [String] :sort The sort expression that should be used to sort the results (e.g. created_date|desc) + # @option opts [String] :filter Filter changes using a query in Falcon Query Language (FQL). Common filter options include: - `status` - `operation_type` The full list of allowed filter parameters can be reviewed in our API documentation. + # @return [MsaspecQueryResponse] + describe 'query_actions_mixin0 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for query_changes # Returns 1 or more change ids - # Returns a list of Falcon FileVantage change IDs filtered, sorted and limited by the query parameters provided. Using this endpoint you can retrieve up to `10000` results by using pagination with multiple requests. If you need to retrieve more than `10000` results consider using the `/queries/changes/v3` endpoint + # Returns a list of Falcon FileVantage change ids filtered, sorted and limited by the query parameters provided. Using this endpoint you can retrieve up to `10000` results by using pagination with multiple requests. If you need to retrieve more than `10000` results consider using the `/queries/changes/v3` endpoint # @param [Hash] opts the optional parameters # @option opts [Integer] :offset The offset to start retrieving records from. Defaults to `0` if not specified. # @option opts [Integer] :limit The maximum number of ids to return. Defaults to `100` if not specified. The maximum number of results that can be returned in a single call is `500`. @@ -281,13 +321,37 @@ end end - # unit tests for update_policies + # unit tests for signal_changes_external + # Initiates workflows for the provided change ids + # Provides the ability to initiate workflows for the specified change ids. Only 100 change ids can be provided per workflow request. + # @param body Change ids to initiate the workflows; limited to 100 per request. + # @param [Hash] opts the optional parameters + # @return [WorkflowResponse] + describe 'signal_changes_external test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for start_actions + # Initiates the specified action on the provided change ids + # Initiates the suppression, unsuppression, or purging of the provided change ids. Note that only 1 action may be initiated and active at a time. + # @param body Create a new action. * `operation` must be one of the `suppress`, `unsuppress`, or `purge` * `change_ids` represent the ids of the changes the operation will perform; limited to 100 ids per action * `comment` optional comment to describe the reason for the action + # @param [Hash] opts the optional parameters + # @return [ActionsActionResponse] + describe 'start_actions test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for update_policies_0 # Updates the general information of the provided policy. # Only name, description, and enabled status of the policy is allowed to be update. Rule and host group assignment is performed via their respective patch end points. # @param body Enables updates to the following fields for an existing policy. * `id` of the policy to update. * `name` must be between 1 and 100 characters. * `description` can be between 0 and 500 characters. * `platform` may not be modified after the policy is created. * `enabled` must be one of `true` or `false`. Rule and host group assignment and policy precedence setting is performed via their respective patch end-points. # @param [Hash] opts the optional parameters # @return [PoliciesResponse] - describe 'update_policies test' do + describe 'update_policies_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -307,14 +371,14 @@ end end - # unit tests for update_policy_precedence + # unit tests for update_policy_precedence_0 # Updates the policy precedence for all policies of a specific type. # Requests that do not represent all ids of the provided policy type will not be processed. # @param ids Precedence of the policies for the provided type in the form of `ids=ID1&ids=ID2` # @param type The policy type for which to set the precedence order, must be one of `Windows`, `Linux` or `Mac`. # @param [Hash] opts the optional parameters # @return [PoliciesPrecedenceResponse] - describe 'update_policy_precedence test' do + describe 'update_policy_precedence_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -362,7 +426,7 @@ # unit tests for update_rules # Updates the provided rule configuration within the specified rule group. # The rule must currently exist within the specified rule group. - # @param body Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` + # @param body Update the rule configuration for the specified rule ID and group. * `id` of the rule to update. * `rule_group_id` that contains the rule configuration. * `description` can be between 0 and 500 characters. * `path` representing the file system or registry path to monitor. * must be between 1 and 250 characters. * All paths must end with the path separator, e.g. c:\\windows\\ /usr/bin/ * `severity` to categorize change events produced by this rule; must be one of: `Low`, `Medium`, `High` or `Critical` * `depth` below the base path to monitor; must be one of: `1`, `2`, `3`, `4`, `5` or `ANY` * `precedence` is the order in which rules will be evaluated starting with 1. Specifying a precedence value that is already set for another rule in the group will result this rule being placed before that existing rule. Falcon GLOB syntax is supported for the following 6 properties. Allowed rule group configuration is based on the type of rule group the rule group is added to. * `include` represents the files, directories, registry keys, or registry values that will be monitored. * `exclude` represents the files, directories, registry keys, or registry values that will `NOT` be monitored. * `include_users` represents the changes performed by specific users that will be monitored. * `exclude_users` represents the changes performed by specific users that will `NOT` be monitored. * `include_processes` represents the changes performed by specific processes that will be monitored. * `exclude_processes` represents the changes performed by specific processes that will be `NOT` monitored. * `content_files` represents the files that will be monitored. Listed files must match the file include pattern and not match the file exclude pattern * `content_registry_values` represents the registry values whose content will be monitored. Listed registry values must match the registry include pattern and not match the registry exclude pattern * `enable_content_capture` * `enable_hash_capture` File system directory monitoring: * `watch_delete_directory_changes` * `watch_create_directory_changes` * `watch_rename_directory_changes` * `watch_attributes_directory_changes` (`macOS` is not supported at this time) * `watch_permissions_directory_changes` (`macOS` is not supported at this time) File system file monitoring: * `watch_rename_file_changes` * `watch_write_file_changes` * `watch_create_file_changes` * `watch_delete_file_changes` * `watch_attributes_file_changes` (`macOS` is not supported at this time) * `watch_permissions_file_changes` (`macOS` is not supported at this time) Windows registry key and value monitoring: * `watch_create_key_changes` * `watch_delete_key_changes` * `watch_rename_key_changes` * `watch_set_value_changes` * `watch_delete_value_changes` * `watch_create_file_changes` # @param [Hash] opts the optional parameters # @return [RulegroupsRulesResponse] describe 'update_rules test' do diff --git a/spec/api/firewall_management_api_spec.rb b/spec/api/firewall_management_api_spec.rb index e94db1f0..742c5eba 100644 --- a/spec/api/firewall_management_api_spec.rb +++ b/spec/api/firewall_management_api_spec.rb @@ -146,13 +146,13 @@ end end - # unit tests for delete_rule_groups + # unit tests for delete_rule_groups_0 # Delete rule group entities by ID # @param ids The IDs of the rule groups to be deleted # @param [Hash] opts the optional parameters # @option opts [String] :comment Audit log comment for this action # @return [FwmgrApiQueryResponse] - describe 'delete_rule_groups test' do + describe 'delete_rule_groups_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -226,23 +226,23 @@ end end - # unit tests for get_rule_groups + # unit tests for get_rule_groups_0 # Get rule group entities by ID. These groups do not contain their rule entites, just the rule IDs in precedence order. # @param ids The IDs of the rule groups to retrieve # @param [Hash] opts the optional parameters # @return [FwmgrApiRuleGroupsResponse] - describe 'get_rule_groups test' do + describe 'get_rule_groups_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for get_rules + # unit tests for get_rules_0 # Get rule entities by ID (64-bit unsigned int as decimal string) or Family ID (32-character hexadecimal string) # @param ids The rules to retrieve, identified by ID # @param [Hash] opts the optional parameters # @return [FwmgrApiRulesResponse] - describe 'get_rules test' do + describe 'get_rules_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -322,7 +322,7 @@ end end - # unit tests for query_rule_groups + # unit tests for query_rule_groups_0 # Find all rule group IDs matching the query with filter # @param [Hash] opts the optional parameters # @option opts [String] :sort Possible order by fields: @@ -332,7 +332,7 @@ # @option opts [String] :after A pagination token used with the `limit` parameter to manage pagination of results. On your first request, don't provide an `after` token. On subsequent requests, provide the `after` token from the previous response to continue from that place in the results. # @option opts [Integer] :limit Number of ids to return. # @return [FwmgrApiQueryResponse] - describe 'query_rule_groups test' do + describe 'query_rule_groups_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/api/foundry_logscale_api_spec.rb b/spec/api/foundry_logscale_api_spec.rb index 39534315..758d7cc2 100644 --- a/spec/api/foundry_logscale_api_spec.rb +++ b/spec/api/foundry_logscale_api_spec.rb @@ -56,8 +56,11 @@ # @option opts [String] :app_id Application ID. # @option opts [Boolean] :include_schema_generation Include generated schemas in the response # @option opts [Boolean] :include_test_data Include test data when executing searches + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema # @option opts [Boolean] :metadata Whether to include metadata in the response # @option opts [String] :mode Mode to execute the query under. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] describe 'create_saved_searches_dynamic_execute_alt_v1 test' do it 'should work' do @@ -72,8 +75,11 @@ # @option opts [String] :app_id Application ID. # @option opts [Boolean] :include_schema_generation Include generated schemas in the response # @option opts [Boolean] :include_test_data Include test data when executing searches + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema # @option opts [Boolean] :metadata Whether to include metadata in the response # @option opts [String] :mode Mode to execute the query under. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] describe 'create_saved_searches_dynamic_execute_v1 test' do it 'should work' do @@ -88,7 +94,10 @@ # @option opts [String] :app_id Application ID. # @option opts [Boolean] :detailed Whether to include search field details # @option opts [Boolean] :include_test_data Include test data when executing searches + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema # @option opts [Boolean] :metadata Whether to include metadata in the response + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] describe 'create_saved_searches_execute_alt_v1 test' do it 'should work' do @@ -103,7 +112,10 @@ # @option opts [String] :app_id Application ID. # @option opts [Boolean] :detailed Whether to include search field details # @option opts [Boolean] :include_test_data Include test data when executing searches + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema # @option opts [Boolean] :metadata Whether to include metadata in the response + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] describe 'create_saved_searches_execute_v1 test' do it 'should work' do @@ -138,9 +150,13 @@ # @param job_id Job ID for a previously executed async query # @param [Hash] opts the optional parameters # @option opts [String] :app_id Application ID. + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string + # @option opts [Boolean] :job_status_only If set to true, result rows are dropped from the response and only the job status is returned # @option opts [String] :limit Maximum number of records to return. + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema # @option opts [Boolean] :metadata Whether to include metadata in the response # @option opts [String] :offset Starting pagination offset of records to return. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] describe 'get_saved_searches_execute_alt_v1 test' do it 'should work' do @@ -153,9 +169,13 @@ # @param job_id Job ID for a previously executed async query # @param [Hash] opts the optional parameters # @option opts [String] :app_id Application ID. + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string + # @option opts [Boolean] :job_status_only If set to true, result rows are dropped from the response and only the job status is returned # @option opts [String] :limit Maximum number of records to return. + # @option opts [Boolean] :match_response_schema Whether to validate search results against their schema # @option opts [Boolean] :metadata Whether to include metadata in the response # @option opts [String] :offset Starting pagination offset of records to return. + # @option opts [String] :x_cs_useruuid Requester UUID. # @return [ApidomainQueryResponseWrapperV1] describe 'get_saved_searches_execute_v1 test' do it 'should work' do @@ -167,6 +187,7 @@ # Get the results of a saved search as a file # @param job_id Job ID for a previously executed async query # @param [Hash] opts the optional parameters + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string # @option opts [String] :result_format Result Format # @return [File] describe 'get_saved_searches_job_results_download_alt_v1 test' do @@ -179,6 +200,7 @@ # Get the results of a saved search as a file # @param job_id Job ID for a previously executed async query # @param [Hash] opts the optional parameters + # @option opts [Boolean] :infer_json_types Whether to try to infer data types in json event response instead of returning map[string]string # @option opts [String] :result_format Result Format # @return [File] describe 'get_saved_searches_job_results_download_v1 test' do @@ -187,10 +209,27 @@ end end + # unit tests for ingest_data_async_v1 + # Asynchronously ingest data into the application repository + # @param [Hash] opts the optional parameters + # @option opts [String] :data_content JSON data to ingest + # @option opts [File] :data_file Data file to ingest + # @option opts [String] :repo Repository name if not part of a foundry app + # @option opts [Array] :tag Custom tag for ingested data in the form tag:value + # @option opts [String] :tag_source Tag the data with the specified source + # @option opts [Boolean] :test_data Tag the data with test-ingest + # @return [ClientDataIngestResponseWrapperV1] + describe 'ingest_data_async_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for ingest_data_v1 - # Ingest data into the application repository - # @param data_file Data file to ingest + # Synchronously ingest data into the application repository # @param [Hash] opts the optional parameters + # @option opts [String] :data_content JSON data to ingest + # @option opts [File] :data_file Data file to ingest # @option opts [Array] :tag Custom tag for ingested data in the form tag:value # @option opts [String] :tag_source Tag the data with the specified source # @option opts [Boolean] :test_data Tag the data with test-ingest diff --git a/spec/api/handle_api_spec.rb b/spec/api/handle_api_spec.rb new file mode 100644 index 00000000..8bce1453 --- /dev/null +++ b/spec/api/handle_api_spec.rb @@ -0,0 +1,62 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::HandleApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'HandleApi' do + before do + # run before each test + @api_instance = Falcon::HandleApi.new + end + + after do + # run after each test + end + + describe 'test an instance of HandleApi' do + it 'should create an instance of HandleApi' do + expect(@api_instance).to be_instance_of(Falcon::HandleApi) + end + end + + # unit tests for handle + # - Handle is responsible for producing the input message into the corresponded Kafka Topic + # @param [Hash] opts the optional parameters + # @return [Hash] + describe 'handle test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/host_migration_api_spec.rb b/spec/api/host_migration_api_spec.rb new file mode 100644 index 00000000..67014ec3 --- /dev/null +++ b/spec/api/host_migration_api_spec.rb @@ -0,0 +1,180 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::HostMigrationApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'HostMigrationApi' do + before do + # run before each test + @api_instance = Falcon::HostMigrationApi.new + end + + after do + # run after each test + end + + describe 'test an instance of HostMigrationApi' do + it 'should create an instance of HostMigrationApi' do + expect(@api_instance).to be_instance_of(Falcon::HostMigrationApi) + end + end + + # unit tests for create_migration_v1 + # Create a device migration job. + # `device_ids` and `filter` are mutually exclusive. Filter takes precedence. + # @param body + # @param [Hash] opts the optional parameters + # @return [ApiCreateMigrationResponseV1] + describe 'create_migration_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_host_migration_ids_v1 + # Query host migration IDs. + # Query host migration IDs. + # @param id The migration job to query + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [Integer] :limit The maximum records to return. [1-10000] + # @option opts [String] :sort The property to sort by. + # @option opts [String] :filter The filter expression that should be used to limit the results. Valid fields: hostname, status, source_cid, id, created_time, groups, hostgroups, static_host_groups, target_cid, migration_id, host_migration_id + # @return [MsaspecQueryResponse] + describe 'get_host_migration_ids_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_host_migrations_v1 + # Get host migration details. + # # Events The `events` field describes actions that have occurred to the host migration entity. Each object is defined by the `action` field. When `user` is present, it is the user who performed the action. `time` is when the action occurred. ## Event actions ### added This action is emitted when the host migration is created. ``` { \"action\": \"added\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### assigned_static_host_groups This action is emitted when a user assigns static host groups to a host migration. `ids` are the ids of the new host groups that have been assigned. ``` { \"action\": \"assigned_static_host_groups\", \"ids\": [\"foo\", \"bar\"], \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### removed_static_host_groups This action is emitted when a user removes static host groups from a host migration. `ids` are the ids of the host groups that have been removed. ``` { \"action\": \"removed_static_host_groups\", \"ids\": [\"foo\", \"bar\"], \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### queued This action is emitted when the migration is started. ``` { \"action\": \"queued\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### failed This action is emitted when the host migration fails. `reason` is the reason for failure. `reason` can be `unsupported_sensor_version`, `unsupported_sensor_platform`, `host_missing`, `migration_expired`, or `internal_error`. ``` { \"action\": \"failed\", \"reason\": \"unsupported_sensor_version\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### cancelled This action is emitted when the migration has been cancelled. ``` { \"action\": \"cancelled\", \"user\": \"example@example.com\", \"time\": \"2024-01-01T00:00:00Z\" } ``` ### completed This action is emitted when the host has successfully migrated. ``` { \"action\": \"completed\", \"time\": \"2024-01-01T00:00:00Z\" } ``` # Status Details The `status_details` field is an optional field that provides some more details about the status of a failed host migration. It may be omitted or empty from a response. ### internal_error This status detail is provided when an internal occurs during a host migration. ### canceled_by_user This status detail is provided when a migration has been canceled by a user. ### host_missing This status detail is provided when a host migration is canceled because the source host can no longer be found. ### migration_expired This status detail is provided when a host migration is expired because the migration is too old. ### migration_already_in_progress This status detail is provided when attempting to start a host migration on a host that is already in progress in another migration. ### source_host_unsupported_version This status detail is provided when attempting to create or start a host migration when the sensor is on an unsupported version. ### source_host_unsupported_platform This status detail is provided when attempting to create or start a host migration when the sensor is an unsupported platform. + # @param body + # @param [Hash] opts the optional parameters + # @return [ApiGetHostMigrationResponseV1] + describe 'get_host_migrations_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_migration_destinations_v1 + # Get destinations for a migration. + # `device_ids` and `filter` are mutually exclusive. + # @param body + # @param [Hash] opts the optional parameters + # @return [ApiGetMigrationDestinationsResponseV1] + describe 'get_migration_destinations_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_migration_ids_v1 + # Query migration jobs. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The offset to start retrieving records from + # @option opts [Integer] :limit The maximum records to return. [1-10000] + # @option opts [String] :sort The property to sort by. + # @option opts [String] :filter The filter expression that should be used to limit the results. Valid fields: status, migration_status, created_by, created_time, name, id, migration_id, target_cid + # @return [MsaspecQueryResponse] + describe 'get_migration_ids_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_migrations_v1 + # Get migration job details. + # @param ids The migration jobs of interest. + # @param [Hash] opts the optional parameters + # @return [ApiGetMigrationsResponseV1] + describe 'get_migrations_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for host_migration_aggregates_v1 + # Get host migration aggregates as specified via json in request body. + # Get host migration aggregates as specified via json in request body. # Supported Types Both types support the following FQL filter properties: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`, `created_time`. The values `groups` and `hostgroups` are aliases for `static_host_groups`. The value `host_migration_id` is an alias for `id` ## Terms `\"type\": \"terms\"` Supported `field` values: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`. `sort` must be done on the same value as `field` and include a direction (`asc` or `desc`). Supports all FQL fields except for `groups`, `hostgroups`, or `static_host_groups`. Examples sort value: `status|asc` or `created_by|desc` ## Date Range `\"type\": \"date_range\"` Supported `field` fields: `created_time`. Does not support `sort`, `size`, or `from`. + # @param body + # @param [Hash] opts the optional parameters + # @return [MsaAggregatesResponse] + describe 'host_migration_aggregates_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for host_migrations_actions_v1 + # Perform an action on host migrations. + # The available actions are `add_host_groups`, `remove_host_groups`, and `remove_hosts`. FQL filter supports the following fields: `groups`, `hostgroups`, `static_host_groups`, `hostname`, `status`, `target_cid`, `source_cid`, `migration_id`, `id`, `host_migration_id`, `created_time`. These actions only works if the migration has not started. `add_host_groups` adds static host groups to the selected hosts in a migration. This action accepts the following action parameter: `{ \"name\": \"host_group\": \"value\": \"$host_group_id\" }`. Action parameters can be repeated to add multiple static host groups in a single request. `remove_host_groups` removes static host groups from the selected hosts in a migration. This action accepts the following action parameter: `{ \"name\": \"host_group\": \"value\": \"$host_group_id\" }`. Action parameters can be repeated to remove multiple static host groups in a single request. `remove_hosts` removes the selected hosts from a migration. This action does not accept any action parameters. + # @param id The migration job to perform actions on + # @param action_name The action to perform + # @param body + # @param [Hash] opts the optional parameters + # @return [MsaspecQueryResponse] + describe 'host_migrations_actions_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for migration_aggregates_v1 + # Get migration aggregates as specified via json in request body. + # Get migration aggregates as specified via json in request body. # Supported Types Both types support the following FQL filter props: `name`, `id`, `migration_id`, `target_cid`, `status`, `migration_status`, `created_by`, `created_time`. The value `migration_status` is an alias for `status`. The value `migration_id` is an alias for `id`. ## Terms `\"type\": \"terms\"` Supported `field` values: `name`, `id`, `migration_id,` `target_cid`, `status`, `migration_status`, `created_by`. `sort` on `terms` type must be done on the same value as `field` and include a direction (`asc` or `desc`). Supports all supported FQL fields. Examples sort value: `status|asc` or `created_by|desc`. ## Date Range `\"type\": \"date_range\"` Supported `field` fields: `created_time`. Does not support `sort`, `size`, or `from`. + # @param body + # @param [Hash] opts the optional parameters + # @return [MsaAggregatesResponse] + describe 'migration_aggregates_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for migrations_actions_v1 + # Perform an action on a migration job. + # The available actions are `start_migration`, `cancel_migration`, `rename_migration`, and `delete_migration`. `start_migration` starts the selected migrations. This action only works if the migration has not started. This action does not accept any action parameters. Only one migration may be started per request. `cancel_migration` cancels the selected migrations. This actions only works if the migration has started and not completed. This action does not accept any action parameters. `rename_migration` renames the selected migrations. This action can be called at any time. Only 1 action parameter may be supplied. Action parameters take the form of `{\"name\": \"migration_name\": \"value\": \"$new_migration_name\"}`. `delete_migration` deletes the selected migrations. This action only works if the migration has not started. This action does not accept any action parameters. + # @param action_name The action to perform + # @param body + # @param [Hash] opts the optional parameters + # @return [MsaspecQueryResponse] + describe 'migrations_actions_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/hosts_api_spec.rb b/spec/api/hosts_api_spec.rb index a50d7951..aa3fb73a 100644 --- a/spec/api/hosts_api_spec.rb +++ b/spec/api/hosts_api_spec.rb @@ -147,8 +147,8 @@ # unit tests for query_devices_by_filter_scroll # Search for hosts in your environment by platform, hostname, IP, and other criteria with continuous pagination capability (based on offset pointer which expires after 2 minutes with no maximum limit) # @param [Hash] opts the optional parameters - # @option opts [String] :offset The offset to page from, for the next result set - # @option opts [Integer] :limit The maximum records to return. [1-5000] + # @option opts [String] :offset The offset to page from, provided from the previous scroll call, for the next result set. For the first call, do not supply an offset. + # @option opts [Integer] :limit The maximum records to return. [1-10000] # @option opts [String] :sort The property to sort by (e.g. status.desc or hostname.asc) # @option opts [String] :filter The filter expression that should be used to limit the results # @return [DeviceapiDeviceResponse] diff --git a/spec/api/humio_auth_proxy_api_spec.rb b/spec/api/humio_auth_proxy_api_spec.rb new file mode 100644 index 00000000..f08c7529 --- /dev/null +++ b/spec/api/humio_auth_proxy_api_spec.rb @@ -0,0 +1,137 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::HumioAuthProxyApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'HumioAuthProxyApi' do + before do + # run before each test + @api_instance = Falcon::HumioAuthProxyApi.new + end + + after do + # run after each test + end + + describe 'test an instance of HumioAuthProxyApi' do + it 'should create an instance of HumioAuthProxyApi' do + expect(@api_instance).to be_instance_of(Falcon::HumioAuthProxyApi) + end + end + + # unit tests for get_lookup_from_package_v1 + # Download lookup file in package from NGSIEM + # @param repository name of repository + # @param package name of package + # @param filename name of lookup file + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'get_lookup_from_package_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_lookup_from_package_with_namespace_v1 + # Download lookup file in namespaced package from NGSIEM + # @param repository name of repository + # @param namespace name of namespace + # @param package name of package + # @param filename name of lookup file + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'get_lookup_from_package_with_namespace_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_lookup_v1 + # Download lookup file from NGSIEM + # @param repository name of repository + # @param filename name of lookup file + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'get_lookup_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_search_status_v1 + # Get status of search + # @param repository name of repository + # @param id id of query + # @param [Hash] opts the optional parameters + # @return [MsaspecResponseFields] + describe 'get_search_status_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for start_search_v1 + # Initiate search + # @param repository name of repository + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'start_search_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for stop_search_v1 + # Stop search + # @param repository name of repository + # @param id id of query + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'stop_search_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for upload_lookup_v1 + # Upload file to NGSIEM + # @param repository name of repository + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'upload_lookup_v1 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/identity_protection_api_spec.rb b/spec/api/identity_protection_api_spec.rb index 95c13450..5c912e39 100644 --- a/spec/api/identity_protection_api_spec.rb +++ b/spec/api/identity_protection_api_spec.rb @@ -49,6 +49,44 @@ end end + # unit tests for api_preempt_proxy_delete_policy_rules + # Delete policy rules + # @param authorization Authorization Header + # @param ids Rule IDs + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'api_preempt_proxy_delete_policy_rules test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for api_preempt_proxy_get_policy_rules + # Get policy rules + # @param authorization Authorization Header + # @param ids Rule IDs + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'api_preempt_proxy_get_policy_rules test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for api_preempt_proxy_get_policy_rules_query + # Query policy rule IDs + # @param authorization Authorization Header + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :enabled Whether the rule is enabled + # @option opts [Boolean] :simulation_mode Whether the rule is in simulation mode + # @option opts [String] :name Rule name + # @return [nil] + describe 'api_preempt_proxy_get_policy_rules_query test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for api_preempt_proxy_post_graphql # Identity Protection GraphQL API. Allows to retrieve entities, timeline activities, identity-based incidents and security assessment. Allows to perform actions on entities and identity-based incidents. # @param authorization Authorization Header @@ -60,4 +98,16 @@ end end + # unit tests for api_preempt_proxy_post_policy_rules + # Create policy rule + # @param authorization Authorization Header + # @param body + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'api_preempt_proxy_post_policy_rules test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/api/intel_api_spec.rb b/spec/api/intel_api_spec.rb index 6a7c19c3..039445a7 100644 --- a/spec/api/intel_api_spec.rb +++ b/spec/api/intel_api_spec.rb @@ -89,7 +89,7 @@ # @param [Hash] opts the optional parameters # @option opts [String] :id The ID of the report you want to download as a PDF. # @option opts [String] :ids The ID of the report you want to download as a PDF. This parameter is used only if no id parameter given. - # @return [nil] + # @return [File] describe 'get_intel_report_pdf test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -113,7 +113,7 @@ # @param [Hash] opts the optional parameters # @option opts [String] :accept Choose the format you want the rule set in. # @option opts [String] :format Choose the format you want the rule set in. Valid formats are zip and gzip. Defaults to zip. - # @return [nil] + # @return [File] describe 'get_intel_rule_file test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -122,19 +122,44 @@ # unit tests for get_latest_intel_rule_file # Download the latest rule set. - # @param type The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness + # @param type The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog # @param [Hash] opts the optional parameters # @option opts [String] :accept Choose the format you want the rule set in. # @option opts [String] :if_none_match Download the latest rule set only if it doesn't have an ETag matching the given ones. # @option opts [String] :if_modified_since Download the latest rule set only if the rule was modified after this date. http, ANSIC and RFC850 formats accepted # @option opts [String] :format Choose the format you want the rule set in. Valid formats are zip and gzip. Defaults to zip. - # @return [nil] + # @option opts [String] :if_modified_since2 Download Only if changed since + # @return [File] describe 'get_latest_intel_rule_file test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + # unit tests for get_malware_entities + # Get malware entities for specified ids. + # @param ids Malware family name in lower case with spaces, dots and slashes replaced with dashes + # @param [Hash] opts the optional parameters + # @return [DomainMalwareResponse] + describe 'get_malware_entities test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_malware_mitre_report + # Export Mitre ATT&CK information for a given malware family. + # @param id Malware family name in lower case with spaces replaced with dashes + # @param format Supported report formats: CSV, JSON or JSON_NAVIGATOR + # @param [Hash] opts the optional parameters + # @option opts [String] :x_cs_useruuid User id + # @return [nil] + describe 'get_malware_mitre_report test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for get_mitre_report # Export Mitre ATT&CK information for a given actor. # @param actor_id Actor ID(derived from the actor's name) @@ -267,7 +292,7 @@ # unit tests for query_intel_rule_ids # Search for rule IDs that match provided filter criteria. - # @param type The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness + # @param type The rule news report type. Accepted values: snort-suricata-master snort-suricata-update snort-suricata-changelog yara-master yara-update yara-changelog common-event-format netwitness cql-master cql-update cql-changelog # @param [Hash] opts the optional parameters # @option opts [Integer] :offset Set the starting row number to return reports from. Defaults to 0. # @option opts [Integer] :limit The number of rule IDs to return. Defaults to 10. @@ -285,6 +310,21 @@ end end + # unit tests for query_malware + # Get malware family names that match provided FQL filters. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset Set the starting row number to return malware IDs from. Defaults to 0. + # @option opts [Integer] :limit Set the number of malware IDs to return. The value must be between 1 and 5000. + # @option opts [String] :sort Order fields in ascending or descending order. Ex: created_date|asc. + # @option opts [String] :filter Filter your query by specifying FQL filter parameters. + # @option opts [String] :q Perform a generic substring search across all fields. + # @return [DomainQueryResponse] + describe 'query_malware test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for query_mitre_attacks # Gets MITRE tactics and techniques for the given actor, returning concatenation of id and tactic and technique ids, example: fancy-bear_TA0011_T1071 # @param [Hash] opts the optional parameters @@ -297,6 +337,17 @@ end end + # unit tests for query_mitre_attacks_for_malware + # Gets MITRE tactics and techniques for the given malware + # @param ids Malware family name in lower case with spaces replaced with dashes + # @param [Hash] opts the optional parameters + # @return [DomainQueryResponse] + describe 'query_mitre_attacks_for_malware test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for query_vulnerabilities # Get vulnerabilities IDs # @param [Hash] opts the optional parameters diff --git a/spec/api/ioa_exclusions_api_spec.rb b/spec/api/ioa_exclusions_api_spec.rb index 19bfb3cc..8b5c10ae 100644 --- a/spec/api/ioa_exclusions_api_spec.rb +++ b/spec/api/ioa_exclusions_api_spec.rb @@ -86,7 +86,9 @@ # unit tests for query_ioa_exclusions_v1 # Search for IOA exclusions. # @param [Hash] opts the optional parameters - # @option opts [String] :filter The filter expression that should be used to limit the results. + # @option opts [String] :filter The filter expression that should be used to limit the results. Filtered queries involving regex fields should specify their expressions in the `ifn_regex` and `cl_regex` parameters. + # @option opts [String] :ifn_regex The `ifn_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. + # @option opts [String] :cl_regex The `cl_regex` expression to filter exclusions by, used alongside expressions specified in the filter query parameter. # @option opts [Integer] :offset The offset to start retrieving records from # @option opts [Integer] :limit The maximum records to return. [1-500] # @option opts [String] :sort The sort expression that should be used to sort the results. diff --git a/spec/api/kubernetes_protection_api_spec.rb b/spec/api/kubernetes_protection_api_spec.rb index 3c8fcf5f..9c8f54c4 100644 --- a/spec/api/kubernetes_protection_api_spec.rb +++ b/spec/api/kubernetes_protection_api_spec.rb @@ -75,7 +75,7 @@ # Delete AWS accounts. # @param ids AWS Account IDs # @param [Hash] opts the optional parameters - # @return [MsaspecMetaInfo] + # @return [MsaMetaInfo] describe 'delete_aws_accounts_mixin0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -99,7 +99,7 @@ # @option opts [Integer] :limit The upper-bound on the number of container records to retrieve. # @option opts [Integer] :offset It is used to get the offset # @option opts [String] :sort Field to sort results by - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsContainerRuntimePivotResponse] describe 'find_containers_by_container_run_time_version test' do it 'should work' do @@ -240,7 +240,7 @@ # unit tests for group_containers_by_managed # Group the containers by Managed # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsContainerCoverageResponseEntity] describe 'group_containers_by_managed test' do it 'should work' do @@ -279,7 +279,7 @@ # unit tests for read_cluster_combined # Retrieve kubernetes clusters identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Search Kubernetes clusters using a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -293,7 +293,7 @@ # unit tests for read_cluster_count # Retrieve cluster counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @return [CommonCountResponse] describe 'read_cluster_count test' do it 'should work' do @@ -326,7 +326,7 @@ # unit tests for read_clusters_by_kubernetes_version_count # Bucket clusters by kubernetes version # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @return [ModelsAggregateValuesByFieldResponse] describe 'read_clusters_by_kubernetes_version_count test' do it 'should work' do @@ -337,7 +337,7 @@ # unit tests for read_clusters_by_status_count # Bucket clusters by status # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_status,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,cluster_status,container_count,kubernetes_version,last_seen,management_status,node_count,pod_count,tags + # @option opts [String] :filter Retrieve count of Kubernetes clusters that match a query in Falcon Query Language (FQL). Supported filters: access,agent_id,agent_status,agent_type,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,cluster_status,container_count,iar_coverage,kac_agent_id,kubernetes_version,last_seen,management_status,node_count,pod_count,tags # @return [ModelsAggregateValuesByFieldResponse] describe 'read_clusters_by_status_count test' do it 'should work' do @@ -348,7 +348,7 @@ # unit tests for read_container_combined # Retrieve containers identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -362,7 +362,7 @@ # unit tests for read_container_count # Retrieve container counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [CommonCountResponse] describe 'read_container_count test' do it 'should work' do @@ -397,7 +397,7 @@ # unit tests for read_container_image_detections_count_by_date # Retrieve count of image assessment detections on running containers over a period of time # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAPIFilterResponse] describe 'read_container_image_detections_count_by_date test' do it 'should work' do @@ -408,7 +408,7 @@ # unit tests for read_container_images_by_most_used # Bucket container by image-digest # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAggregateValuesByFieldResponse] describe 'read_container_images_by_most_used test' do it 'should work' do @@ -430,7 +430,7 @@ # unit tests for read_container_vulnerabilities_by_severity_count # Retrieve container vulnerabilities by severity counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Get vulnerabilities count by severity for container using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAggregateValuesByFieldResponse] describe 'read_container_vulnerabilities_by_severity_count test' do it 'should work' do @@ -441,7 +441,7 @@ # unit tests for read_containers_by_date_range_count # Retrieve containers by date range counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Get container counts using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAggregateValuesByFieldResponse] describe 'read_containers_by_date_range_count test' do it 'should work' do @@ -452,7 +452,7 @@ # unit tests for read_containers_sensor_coverage # Bucket containers by agent type and calculate sensor coverage # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAggregateValuesByFieldResponse] describe 'read_containers_sensor_coverage test' do it 'should work' do @@ -463,7 +463,7 @@ # unit tests for read_deployment_combined # Retrieve kubernetes deployments identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count + # @option opts [String] :filter Search Kubernetes deployments using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -477,7 +477,7 @@ # unit tests for read_deployment_count # Retrieve deployment counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,deployment_id,deployment_name,first_seen,last_seen,namespace,pod_count + # @option opts [String] :filter Retrieve count of Kubernetes deployments that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,deployment_id,deployment_name,deployment_status,first_seen,kac_agent_id,last_seen,namespace,pod_count,resource_status # @return [CommonCountResponse] describe 'read_deployment_count test' do it 'should work' do @@ -510,7 +510,7 @@ # unit tests for read_distinct_container_image_count # Retrieve count of distinct images running on containers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Search Kubernetes containers using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAPIFilterResponse] describe 'read_distinct_container_image_count test' do it 'should work' do @@ -521,7 +521,7 @@ # unit tests for read_kubernetes_iom_by_date_range # Returns the count of Kubernetes IOMs by the date. by default it's for 7 days. # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity # @return [K8siomsKubernetesIOMFieldValue] describe 'read_kubernetes_iom_by_date_range test' do it 'should work' do @@ -532,7 +532,7 @@ # unit tests for read_kubernetes_iom_count # Returns the total count of Kubernetes IOMs over the past seven days # @param [Hash] opts the optional parameters - # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,severity + # @option opts [String] :filter Filter images using a query in Falcon Query Language (FQL). Supported filters: cid,created_timestamp,detect_timestamp,prevented,severity # @return [K8siomsKubernetesIOMCountValue] describe 'read_kubernetes_iom_count test' do it 'should work' do @@ -551,10 +551,31 @@ end end + # unit tests for read_namespace_count + # Retrieve namespace counts + # @param [Hash] opts the optional parameters + # @option opts [String] :filter Retrieve count of Kubernetes namespaces that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,first_seen,kac_agent_id,last_seen,namespace_id,namespace_name,resource_status + # @return [CommonCountResponse] + describe 'read_namespace_count test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for read_namespaces_by_date_range_count + # Retrieve namespaces by date range counts + # @param [Hash] opts the optional parameters + # @return [ModelsAggregateValuesByFieldResponse] + describe 'read_namespaces_by_date_range_count test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for read_node_combined # Retrieve kubernetes nodes identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -568,7 +589,7 @@ # unit tests for read_node_count # Retrieve node counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Retrieve count of Kubernetes nodes that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [CommonCountResponse] describe 'read_node_count test' do it 'should work' do @@ -591,7 +612,7 @@ # unit tests for read_nodes_by_cloud_count # Bucket nodes by cloud providers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [ModelsAggregateValuesByFieldResponse] describe 'read_nodes_by_cloud_count test' do it 'should work' do @@ -602,7 +623,7 @@ # unit tests for read_nodes_by_container_engine_version_count # Bucket nodes by their container engine version # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [ModelsAggregateValuesByFieldResponse] describe 'read_nodes_by_container_engine_version_count test' do it 'should work' do @@ -613,7 +634,7 @@ # unit tests for read_nodes_by_date_range_count # Retrieve nodes by date range counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: aid,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,last_seen,linux_sensor_coverage,node_name,pod_count + # @option opts [String] :filter Search Kubernetes nodes using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,container_runtime_version,first_seen,image_digest,ipv4,kac_agent_id,last_seen,linux_sensor_coverage,node_name,pod_count,resource_status # @return [ModelsAggregateValuesByFieldResponse] describe 'read_nodes_by_date_range_count test' do it 'should work' do @@ -624,7 +645,7 @@ # unit tests for read_pod_combined # Retrieve kubernetes pods identified by the provided filter criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user + # @option opts [String] :filter Search Kubernetes pods using a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -638,7 +659,7 @@ # unit tests for read_pod_count # Retrieve pod counts # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_count,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user + # @option opts [String] :filter Retrieve count of Kubernetes pods that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,annotations_list,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_count,first_seen,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,owner_id,owner_type,pod_external_id,pod_id,pod_name,port,privileged,resource_status,root_write_access,run_as_root_group,run_as_root_user # @return [CommonCountResponse] describe 'read_pod_count test' do it 'should work' do @@ -671,7 +692,7 @@ # unit tests for read_running_container_images # Retrieve images on running containers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status + # @option opts [String] :filter Retrieve list of images on running containers using a query in Falcon Query Language (FQL). Supported filters: cid,cluster_id,cluster_name,hosts,image_digest,image_has_been_assessed,image_id,image_name,image_registry,image_repository,image_tag,last_seen,running_status # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort Field to sort results by @@ -685,7 +706,7 @@ # unit tests for read_vulnerable_container_image_count # Retrieve count of vulnerable images running on containers # @param [Hash] opts the optional parameters - # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cluster_id,cluster_name,container_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status + # @option opts [String] :filter Retrieve count of Kubernetes containers that match a query in Falcon Query Language (FQL). Supported filters: agent_id,agent_type,allow_privilege_escalation,cid,cloud_account_id,cloud_name,cloud_region,cloud_service,cluster_id,cluster_name,container_id,container_image_id,container_name,cve_id,detection_name,first_seen,image_detection_count,image_digest,image_has_been_assessed,image_id,image_registry,image_repository,image_tag,image_vulnerability_count,insecure_mount_source,insecure_mount_type,insecure_propagation_mode,interactive_mode,ipv4,ipv6,kac_agent_id,labels,last_seen,namespace,node_name,node_uid,package_name_version,pod_id,pod_name,port,privileged,root_write_access,run_as_root_group,run_as_root_user,running_status # @return [ModelsAPIFilterResponse] describe 'read_vulnerable_container_image_count test' do it 'should work' do @@ -706,7 +727,7 @@ # unit tests for search_and_read_kubernetes_iom_entities # Search Kubernetes IOM by the provided search criteria # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity + # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort The fields to sort the records on. @@ -720,7 +741,7 @@ # unit tests for search_kubernetes_ioms # Search Kubernetes IOMs by the provided search criteria. this endpoint returns a list of Kubernetes IOM UUIDs matching the query # @param [Hash] opts the optional parameters - # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,resource_id,resource_name,resource_type,severity + # @option opts [String] :filter Search Kubernetes IOMs using a query in Falcon Query Language (FQL). Supported filters: cid,cis_id,cluster_id,cluster_name,containers_impacted_count,containers_impacted_ids,detection_type,name,namespace,prevented,resource_id,resource_name,resource_type,severity # @option opts [Integer] :limit The upper-bound on the number of records to retrieve. # @option opts [Integer] :offset The offset from where to begin. # @option opts [String] :sort The fields to sort the records on. diff --git a/spec/api/mobile_enrollment_api_spec.rb b/spec/api/mobile_enrollment_api_spec.rb index 74d763d0..3cde0a0a 100644 --- a/spec/api/mobile_enrollment_api_spec.rb +++ b/spec/api/mobile_enrollment_api_spec.rb @@ -62,4 +62,17 @@ end end + # unit tests for request_device_enrollment_v4 + # Trigger on-boarding process for a mobile device + # @param body + # @param [Hash] opts the optional parameters + # @option opts [String] :action_name Action to perform + # @option opts [String] :filter FQL filter + # @return [ApiPostEnrollmentDetailsResponse] + describe 'request_device_enrollment_v4 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/api/oauth2_api_spec.rb b/spec/api/oauth2_api_spec.rb index f127663e..0eb18a7e 100644 --- a/spec/api/oauth2_api_spec.rb +++ b/spec/api/oauth2_api_spec.rb @@ -67,7 +67,7 @@ # @param token The OAuth2 access token you want to revoke. Include your API client ID and secret in basic auth format (`Authorization: basic <encoded API client ID and secret>`) in your request header. # @param [Hash] opts the optional parameters # @option opts [String] :client_id The OAuth2 client ID you are revoking the token for. - # @return [MsaReplyMetaOnly] + # @return [MsaspecResponseFields] describe 'oauth2_revoke_token test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/api/quick_scan_api_spec.rb b/spec/api/quick_scan_api_spec.rb index e6099599..cbd819ab 100644 --- a/spec/api/quick_scan_api_spec.rb +++ b/spec/api/quick_scan_api_spec.rb @@ -71,7 +71,7 @@ end end - # unit tests for query_submissions_mixin0 + # unit tests for query_submissions # Find IDs for submitted scans by providing an FQL filter and paging details. Returns a set of volume IDs that match your criteria. # @param [Hash] opts the optional parameters # @option opts [String] :filter Optional filter and sort criteria in the form of an FQL query. For more information about FQL queries, see [our FQL documentation in Falcon](https://falcon.crowdstrike.com/support/documentation/45/falcon-query-language-feature-guide). @@ -79,7 +79,7 @@ # @option opts [Integer] :limit Maximum number of volume IDs to return. Max: 5000. # @option opts [String] :sort Sort order: `asc` or `desc`. # @return [MlscannerapiQueryResponse] - describe 'query_submissions_mixin0 test' do + describe 'query_submissions test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/api/quick_scan_pro_api_spec.rb b/spec/api/quick_scan_pro_api_spec.rb new file mode 100644 index 00000000..27c788bd --- /dev/null +++ b/spec/api/quick_scan_pro_api_spec.rb @@ -0,0 +1,122 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::QuickScanProApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'QuickScanProApi' do + before do + # run before each test + @api_instance = Falcon::QuickScanProApi.new + end + + after do + # run after each test + end + + describe 'test an instance of QuickScanProApi' do + it 'should create an instance of QuickScanProApi' do + expect(@api_instance).to be_instance_of(Falcon::QuickScanProApi) + end + end + + # unit tests for delete_file + # Deletes file by its sha256 identifier. + # @param ids File's SHA256 + # @param [Hash] opts the optional parameters + # @return [QuickscanproDeleteFileResponse] + describe 'delete_file test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for delete_scan_result + # Deletes the result of an QuickScan Pro scan. + # @param ids Scan job IDs previously created by LaunchScan + # @param [Hash] opts the optional parameters + # @return [MsaspecQueryResponse] + describe 'delete_scan_result test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for get_scan_result + # Gets the result of an QuickScan Pro scan. + # @param ids Scan job IDs previously created by LaunchScan + # @param [Hash] opts the optional parameters + # @return [QuickscanproGetScanResultResponse] + describe 'get_scan_result test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for launch_scan + # Starts scanning a file uploaded through '/quickscanpro/entities/files/v1'. + # @param body + # @param [Hash] opts the optional parameters + # @return [QuickscanproLaunchScanResponse] + describe 'launch_scan test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for query_scan_results + # FQL query specifying the filter parameters + # @param filter Empty value means to not filter on anything Available filter fields that supports match (~): _all, mitre_attacks.description Available filter fields that supports exact match: cid,sha256,id,status,type,entity,executor,verdict,verdict_reason,verdict_source,artifacts.file_artifacts.sha256,artifacts.file_artifacts.filename,artifacts.file_artifacts.verdict,artifacts.file_artifacts.verdict_reasons,artifacts.url_artifacts.url,artifacts.url_artifacts.verdict,artifacts.url_artifacts.verdict_reasons,mitre_attacks.attack_id,mitre_attacks.attack_id_wiki,mitre_attacks.tactic,mitre_attacks.technique,mitre_attacks.capec_id,mitre_attacks.parent.attack_id,mitre_attacks.parent.attack_id_wiki,mitre_attacks.parent.technique Available filter fields that supports wildcard (*): mitre_attacks.description Available filter fields that supports range comparisons (>, <, >=, <=): created_timestamp, updated_timestamp All filter fields and operations supports negation (!). _all field is used to search between all fields. + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The offset to start retrieving ids from. + # @option opts [Integer] :limit Maximum number of IDs to return. Max: 5000. + # @option opts [String] :sort Sort order: `asc` or `desc`. Sort supported fields `created_timestamp` + # @return [QuickscanproQueryScanResultsResponse] + describe 'query_scan_results test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for upload_file_quick_scan_pro + # Uploads a file to be further analyzed with QuickScan Pro. The samples expire after 90 days. + # @param file Binary file to be uploaded. Max file size: 256 MB. + # @param [Hash] opts the optional parameters + # @option opts [Boolean] :scan If true, after upload, it starts scanning immediately. Default scan mode is 'false' + # @return [QuickscanproFileUploadResponse] + describe 'upload_file_quick_scan_pro test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/real_time_response_admin_api_spec.rb b/spec/api/real_time_response_admin_api_spec.rb index 8fec3a09..f9a4ecb5 100644 --- a/spec/api/real_time_response_admin_api_spec.rb +++ b/spec/api/real_time_response_admin_api_spec.rb @@ -51,7 +51,7 @@ # unit tests for batch_admin_cmd # Batch executes a RTR administrator command across the hosts mapped to the given batch ID. - # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. + # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. # @param [Hash] opts the optional parameters # @option opts [Integer] :timeout Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. # @option opts [String] :timeout_duration Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. @@ -130,7 +130,7 @@ # unit tests for r_tr_execute_admin_command # Execute a RTR administrator command on a single host. - # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on + # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `put` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `run` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on # @param [Hash] opts the optional parameters # @return [DomainCommandExecuteResponseWrapper] describe 'r_tr_execute_admin_command test' do diff --git a/spec/api/real_time_response_api_spec.rb b/spec/api/real_time_response_api_spec.rb index 5103ac12..3cfe96a0 100644 --- a/spec/api/real_time_response_api_spec.rb +++ b/spec/api/real_time_response_api_spec.rb @@ -51,7 +51,7 @@ # unit tests for batch_active_responder_cmd # Batch executes a RTR active-responder command across the hosts mapped to the given batch ID. - # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. + # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `get some_file.txt` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. # @param [Hash] opts the optional parameters # @option opts [Integer] :timeout Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. # @option opts [String] :timeout_duration Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. @@ -65,7 +65,7 @@ # unit tests for batch_cmd # Batch executes a RTR read-only command across the hosts mapped to the given batch ID. - # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. + # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`batch_id`** Batch ID to execute the command on. Received from `/real-time-response/combined/batch-init-session/v1`. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`optional_hosts`** List of a subset of hosts we want to run the command on. If this list is supplied, only these hosts will receive the command. # @param [Hash] opts the optional parameters # @option opts [Integer] :timeout Timeout for how long to wait for the request in seconds, default timeout is 30 seconds. Maximum is 5 minutes. # @option opts [String] :timeout_duration Timeout duration for how long to wait for the request in duration syntax. Example, `10s`. Valid units: `ns, us, ms, s, m, h`. Maximum is 5 minutes. @@ -215,7 +215,7 @@ # unit tests for r_tr_execute_active_responder_command # Execute an active responder command on a single host. - # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on + # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `cp` - `encrypt` - `env` - `eventlog` - `filehash` - `get` - `getsid` - `help` - `history` - `ipconfig` - `kill` - `ls` - `map` - `memdump` - `mkdir` - `mount` - `mv` - `netstat` - `ps` - `reg query` - `reg set` - `reg delete` - `reg load` - `reg unload` - `restart` - `rm` - `runscript` - `shutdown` - `unmap` - `update history` - `update install` - `update list` - `update query` - `xmemdump` - `zip` Required values. The rest of the fields are unused. **`base_command`** Active-Responder command type we are going to execute, for example: `get` or `cp`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `get some_file.txt` **`session_id`** RTR session ID to run the command on # @param [Hash] opts the optional parameters # @return [DomainCommandExecuteResponseWrapper] describe 'r_tr_execute_active_responder_command test' do @@ -226,7 +226,7 @@ # unit tests for r_tr_execute_command # Execute a command on a single host. - # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/support/documentation/11/getting-started-guide#rtr_commands): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on + # @param body Use this endpoint to run these [real time response commands](https://falcon.crowdstrike.com/documentation/page/b8c1738c/real-time-response-and-network-containment#k893b7c0): - `cat` - `cd` - `clear` - `env` - `eventlog` - `filehash` - `getsid` - `help` - `history` - `ipconfig` - `ls` - `mount` - `netstat` - `ps` - `reg query` Required values. The rest of the fields are unused. **`base_command`** read-only command type we are going to execute, for example: `ls` or `cd`. Refer to the RTR documentation for the full list of commands. **`command_string`** Full command string for the command. For example `cd C:\\some_directory` **`session_id`** RTR session ID to run the command on # @param [Hash] opts the optional parameters # @return [DomainCommandExecuteResponseWrapper] describe 'r_tr_execute_command test' do @@ -241,7 +241,7 @@ # @param sha256 Extracted SHA256 (e.g. 'efa256a96af3b556cd3fc9d8b1cf587d72807d7805ced441e8149fc279db422b') # @param [Hash] opts the optional parameters # @option opts [String] :filename Filename to use for the archive name and the file within the archive. - # @return [Array] + # @return [File] describe 'r_tr_get_extracted_file_contents test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/api/recon_api_spec.rb b/spec/api/recon_api_spec.rb index a74ce6e8..2b07a7f8 100644 --- a/spec/api/recon_api_spec.rb +++ b/spec/api/recon_api_spec.rb @@ -183,7 +183,8 @@ end # unit tests for get_notifications_detailed_translated_v1 - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match.This endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request + # Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. + # Get detailed notifications based on their IDs. These include the translated raw intelligence content that generated the match or part of it. This API endpoint will return translated notification content. The only target language available is English. A single notification can be translated per request. In case the item's content is only partial, a URL is provided under the resource's 'details.full_content_url' path, but the content available at this URL will be the original one. # @param ids Notification IDs. # @param [Hash] opts the optional parameters # @return [DomainNotificationDetailsResponseV1] @@ -194,7 +195,8 @@ end # unit tests for get_notifications_detailed_v1 - # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match. + # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. + # Get detailed notifications based on their IDs. These include the raw intelligence content that generated the match or part of it. In case the content is only partial, a URL is provided under the resource's 'details.full_content_url' path. When present, use this URL to retrieve the full raw text content of the item. Please note this URL has a limited TTL. To get a fresh valid one, perform a new call to this API endpoint. # @param ids Notification IDs. # @param [Hash] opts the optional parameters # @return [DomainNotificationDetailsResponseV1] @@ -312,6 +314,7 @@ # @option opts [String] :sort Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. # @option opts [String] :filter FQL query to filter rules by. Possible filter properties are: [id cid user_uuid topic priority permissions status filter breach_monitoring_enabled substring_matching_enabled created_timestamp last_updated_timestamp]. # @option opts [String] :q Free text search across all indexed fields. + # @option opts [String] :secondary_sort Possible order by fields: created_timestamp, last_updated_timestamp. Ex: `last_updated_timestamp|desc`. # @return [DomainRuleQueryResponseV1] describe 'query_rules_v1 test' do it 'should work' do diff --git a/spec/api/report_executions_api_spec.rb b/spec/api/report_executions_api_spec.rb index be255fbc..3eac58a5 100644 --- a/spec/api/report_executions_api_spec.rb +++ b/spec/api/report_executions_api_spec.rb @@ -50,10 +50,10 @@ end # unit tests for report_executions_download_get - # Get report entity download + # Get report entity download. Returns either a JSON object or a CSV string. # @param ids The report_execution id to download # @param [Hash] opts the optional parameters - # @return [Array] + # @return [Object] describe 'report_executions_download_get test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/api/sensor_download_api_spec.rb b/spec/api/sensor_download_api_spec.rb index 67a08812..7505e550 100644 --- a/spec/api/sensor_download_api_spec.rb +++ b/spec/api/sensor_download_api_spec.rb @@ -53,13 +53,24 @@ # Download sensor installer by SHA256 ID # @param id SHA256 of the installer to download # @param [Hash] opts the optional parameters - # @return [Object] + # @return [File] describe 'download_sensor_installer_by_id test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + # unit tests for download_sensor_installer_by_id_v2 + # Download sensor installer by SHA256 ID + # @param id SHA256 of the installer to download + # @param [Hash] opts the optional parameters + # @return [File] + describe 'download_sensor_installer_by_id_v2 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for get_combined_sensor_installers_by_query # Get sensor installer details by provided query # @param [Hash] opts the optional parameters @@ -74,6 +85,20 @@ end end + # unit tests for get_combined_sensor_installers_by_query_v2 + # Get sensor installer details by provided query + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + # @option opts [String] :sort Sort items using their properties. Common sort options include: <ul><li>version|asc</li><li>release_date|desc</li></ul> + # @option opts [String] :filter Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include: <ul><li>platform:\"windows\"</li><li>version:>\"5.2\"</li></ul> + # @return [DomainSensorInstallersV2] + describe 'get_combined_sensor_installers_by_query_v2 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for get_sensor_installers_by_query # Get sensor installer IDs by provided query # @param [Hash] opts the optional parameters @@ -88,6 +113,20 @@ end end + # unit tests for get_sensor_installers_by_query_v2 + # Get sensor installer IDs by provided query + # @param [Hash] opts the optional parameters + # @option opts [Integer] :offset The first item to return, where 0 is the latest item. Use with the limit parameter to manage pagination of results. + # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 500). Use with the offset parameter to manage pagination of results. + # @option opts [String] :sort Sort items using their properties. Common sort options include: <ul><li>version|asc</li><li>release_date|desc</li></ul> + # @option opts [String] :filter Filter items using a query in Falcon Query Language (FQL). An asterisk wildcard * includes all results. Common filter options include: <ul><li>platform:\"windows\"</li><li>version:>\"5.2\"</li></ul> + # @return [MsaspecQueryResponse] + describe 'get_sensor_installers_by_query_v2 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for get_sensor_installers_ccidby_query # Get CCID to use with sensor installers # @param [Hash] opts the optional parameters @@ -109,4 +148,15 @@ end end + # unit tests for get_sensor_installers_entities_v2 + # Get sensor installer details by provided SHA256 IDs + # @param ids The IDs of the installers + # @param [Hash] opts the optional parameters + # @return [DomainSensorInstallersV2] + describe 'get_sensor_installers_entities_v2 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/api/sensor_usage_api_api_spec.rb b/spec/api/sensor_usage_api_api_spec.rb new file mode 100644 index 00000000..a0fddda3 --- /dev/null +++ b/spec/api/sensor_usage_api_api_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::SensorUsageApiApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'SensorUsageApiApi' do + before do + # run before each test + @api_instance = Falcon::SensorUsageApiApi.new + end + + after do + # run after each test + end + + describe 'test an instance of SensorUsageApiApi' do + it 'should create an instance of SensorUsageApiApi' do + expect(@api_instance).to be_instance_of(Falcon::SensorUsageApiApi) + end + end + + # unit tests for get_sensor_usage_weekly + # Fetches weekly average. Each data point represents the average of how many unique AIDs were seen per week for the previous 28 days. + # @param [Hash] opts the optional parameters + # @option opts [String] :filter The FQL search filter. Allowed fields: \"event_date\" : A specified date that will be final date of the results returned. Specified date cannot be after the default. Format: '2024-06-11' Default: the current date, minus 2 days, in UTC \"period\" : An integer surrounded by single quotes representing the number of days to return. Format: '30' Default: '28' Minimum: '1' Maximum: '395' \"selected_cids\" : A comma separated list of CIDs to return data for. Caller must be a parent CID or have special access enabled. Format: 'cid_1,cid_2,cid_3' Default: for parent CIDs the default is the parent and all children, otherwise the current CID + # @return [ApiWeeklyAverageResponse] + describe 'get_sensor_usage_weekly test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/spotlight_vulnerabilities_api_spec.rb b/spec/api/spotlight_vulnerabilities_api_spec.rb index 07b476c0..fdb363d7 100644 --- a/spec/api/spotlight_vulnerabilities_api_spec.rb +++ b/spec/api/spotlight_vulnerabilities_api_spec.rb @@ -75,18 +75,18 @@ end end - # unit tests for get_vulnerabilities + # unit tests for get_vulnerabilities_0 # Get details on vulnerabilities by providing one or more IDs # @param ids One or more vulnerability IDs (max: 400). Find vulnerability IDs with GET /spotlight/queries/vulnerabilities/v1 # @param [Hash] opts the optional parameters # @return [DomainSPAPIVulnerabilitiesEntitiesResponseV2] - describe 'get_vulnerabilities test' do + describe 'get_vulnerabilities_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for query_vulnerabilities + # unit tests for query_vulnerabilities_0 # Search for Vulnerabilities in your environment by providing an FQL filter and paging details. Returns a set of Vulnerability IDs which match the filter criteria # @param filter Filter items using a query in Falcon Query Language (FQL). Wildcards * and empty filter values are unsupported. Available filter fields that supports match (~): N/A Available filter fields that supports exact match: aid, cid, last_seen_within, status, cve.id, cve.is_cisa_kev, cve.remediation_level, cve.cps_rating, cve.exprt_rating, cve.exploit_status_to_include, cve.severity, cve.types, host_info.asset_criticality, host_info.asset_roles, host_info.internet_exposure, host_info.tags, host_info.groups, host_info.product_type_desc, host_info.platform_name, suppression_info.is_suppressed, suppression_info.reason Available filter fields that supports wildcard (*): N/A Available filter fields that supports range comparisons (>, <, >=, <=): created_timestamp, closed_timestamp, updated_timestamp # @param [Hash] opts the optional parameters @@ -94,7 +94,7 @@ # @option opts [Integer] :limit The number of items to return in this response (default: 100, max: 400). Use with the after parameter to manage pagination of results. # @option opts [String] :sort Sort vulnerabilities by their properties. Available sort options: <ul><li>updated_timestamp|asc/desc</li><li>closed_timestamp|asc</li><li>updated_timestamp|asc/desc</li></ul>. Can be used in a format <field>|asc for ascending order or <field>|desc for descending order. # @return [DomainSPAPIQueryResponse] - describe 'query_vulnerabilities test' do + describe 'query_vulnerabilities_0 test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/api/threatgraph_api_spec.rb b/spec/api/threatgraph_api_spec.rb new file mode 100644 index 00000000..e08dd6e8 --- /dev/null +++ b/spec/api/threatgraph_api_spec.rb @@ -0,0 +1,136 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' + +# Unit tests for Falcon::ThreatgraphApi +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe 'ThreatgraphApi' do + before do + # run before each test + @api_instance = Falcon::ThreatgraphApi.new + end + + after do + # run after each test + end + + describe 'test an instance of ThreatgraphApi' do + it 'should create an instance of ThreatgraphApi' do + expect(@api_instance).to be_instance_of(Falcon::ThreatgraphApi) + end + end + + # unit tests for combined_edges_get + # Retrieve edges for a given vertex id. One edge type must be specified + # @param ids Vertex ID to get details for. Only one value is supported + # @param edge_type The type of edges that you would like to retrieve + # @param [Hash] opts the optional parameters + # @option opts [Integer] :limit How many edges to return in a single request [1-100] + # @option opts [String] :offset The offset to use to retrieve the next page of results + # @option opts [String] :direction The direction of edges that you would like to retrieve. + # @option opts [String] :scope Scope of the request + # @option opts [Boolean] :nano Return nano-precision entity timestamps + # @return [nil] + describe 'combined_edges_get test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for combined_ran_on_get + # Look up instances of indicators such as hashes, domain names, and ip addresses that have been seen on devices in your environment. + # @param value The value of the indicator to search by. + # @param type The type of indicator that you would like to retrieve + # @param [Hash] opts the optional parameters + # @option opts [Integer] :limit How many edges to return in a single request [1-100] + # @option opts [String] :offset The offset to use to retrieve the next page of results + # @option opts [Boolean] :nano Return nano-precision entity timestamps + # @return [nil] + describe 'combined_ran_on_get test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for combined_summary_get + # Retrieve summary for a given vertex ID + # @param vertex_type Type of vertex to get properties for + # @param ids Vertex ID to get details for + # @param [Hash] opts the optional parameters + # @option opts [String] :scope Scope of the request + # @option opts [Boolean] :nano Return nano-precision entity timestamps + # @return [nil] + describe 'combined_summary_get test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for entities_vertices_get + # Retrieve metadata for a given vertex ID. Note: This is a legacy endpoint used by CrowdStrike Store partners prior to release of the ThreatGraph OAuth 2.0 APIs. If you’re not currently using this endpoint, use the /v2 endpoint instead. + # @param vertex_type Type of vertex to get properties for + # @param ids Vertex ID to get details for + # @param [Hash] opts the optional parameters + # @option opts [String] :scope Scope of the request + # @option opts [Boolean] :nano Return nano-precision entity timestamps + # @return [ThreatgraphVertexDetailsResponse] + describe 'entities_vertices_get test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for entities_vertices_getv2 + # Retrieve metadata for a given vertex ID + # @param vertex_type Type of vertex to get properties for + # @param ids Vertex ID to get details for + # @param [Hash] opts the optional parameters + # @option opts [String] :scope Scope of the request + # @option opts [Boolean] :nano Return nano-precision entity timestamps + # @return [ThreatgraphVertexDetailsResponse] + describe 'entities_vertices_getv2 test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + # unit tests for queries_edgetypes_get + # Show all available edge types + # @param [Hash] opts the optional parameters + # @return [nil] + describe 'queries_edgetypes_get test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/api/workflows_api_spec.rb b/spec/api/workflows_api_spec.rb index 74b5e795..f3cc83c0 100644 --- a/spec/api/workflows_api_spec.rb +++ b/spec/api/workflows_api_spec.rb @@ -49,27 +49,29 @@ end end - # unit tests for workflow_definitions_combined - # Search workflow definitions based on the provided filter + # unit tests for workflow_activities_combined + # Search for activities by name. Returns all supported activities if no filter specified # @param [Hash] opts the optional parameters # @option opts [String] :filter FQL query specifying filter parameters. # @option opts [String] :offset Starting pagination offset of records to return. # @option opts [Integer] :limit Maximum number of records to return. # @option opts [String] :sort Sort items by providing a comma separated list of property and direction (eg name.desc,time.asc). If direction is omitted, defaults to descending. - # @return [DefinitionsDefinitionExternalResponse] - describe 'workflow_definitions_combined test' do + # @return [ActivitiesActivityExternalResponse] + describe 'workflow_activities_combined test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - # unit tests for workflow_definitions_create - # Creates a workflow definition based on the provided model - # @param body + # unit tests for workflow_definitions_combined + # Search workflow definitions based on the provided filter # @param [Hash] opts the optional parameters - # @option opts [Boolean] :validate_only When enabled, prevents saving workflow after validating - # @return [ApiResourceIDsResponse] - describe 'workflow_definitions_create test' do + # @option opts [String] :filter FQL query specifying filter parameters. + # @option opts [String] :offset Starting pagination offset of records to return. + # @option opts [Integer] :limit Maximum number of records to return. + # @option opts [String] :sort Sort items by providing a comma separated list of property and direction (eg name.desc,time.asc). If direction is omitted, defaults to descending. + # @return [DefinitionsDefinitionExternalResponse] + describe 'workflow_definitions_combined test' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -79,6 +81,7 @@ # Exports a workflow definition for the given definition ID # @param id ID of workflow definitions to return details for # @param [Hash] opts the optional parameters + # @option opts [Boolean] :sanitize whether or not to sanitize PII from workflow before it's exported # @return [Array] describe 'workflow_definitions_export test' do it 'should work' do @@ -128,6 +131,24 @@ end end + # unit tests for workflow_execute_internal + # Executes an on-demand Workflow - internal workflows permitted, the body is JSON used to trigger the execution, the response the execution ID(s) + # @param body + # @param [Hash] opts the optional parameters + # @option opts [Array] :execution_cid CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. + # @option opts [Array] :definition_id Definition ID to execute, either a name or an ID can be specified. + # @option opts [String] :name Workflow name to execute, either a name or an ID can be specified. + # @option opts [String] :key Key used to help deduplicate executions, if unset a new UUID is used + # @option opts [Integer] :depth Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. + # @option opts [Integer] :batch_size Used to set the batchSize, if unset the default batchSize is used + # @option opts [String] :source_event_url Used to record a URL to the source that led to triggering this workflow + # @return [ApiResourceIDsResponse] + describe 'workflow_execute_internal test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for workflow_execution_results # Get execution result of a given execution # @param ids workflow execution id to return results for. @@ -176,6 +197,24 @@ end end + # unit tests for workflow_mock_execute + # Executes a workflow definition with mocks + # @param body + # @param [Hash] opts the optional parameters + # @option opts [Array] :execution_cid CID(s) to execute on. This can be a child if this is a flight control enabled definition. If unset the definition CID is used. + # @option opts [String] :definition_id Definition ID to execute, either a name or an ID, or the definition itself in the request body, can be specified. + # @option opts [String] :name Workflow name to execute, either a name or an ID, or the definition itself in the request body, can be specified. + # @option opts [String] :key Key used to help deduplicate executions, if unset a new UUID is used + # @option opts [Integer] :depth Used to record the execution depth to help limit execution loops when a workflow triggers another. The maximum depth is 4. + # @option opts [String] :source_event_url Used to record a URL to the source that led to triggering this workflow + # @option opts [Boolean] :validate_only When enabled, prevents execution after validating mocks against definition + # @return [ApiResourceIDsResponse] + describe 'workflow_mock_execute test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for workflow_system_definitions_de_provision # Deprovisions a system definition that was previously provisioned on the target CID # @param body @@ -209,6 +248,17 @@ end end + # unit tests for workflow_triggers_combined + # Search for triggers by namespaced identifier, i.e. FalconAudit, Detection, or FalconAudit/Detection/Status. Returns all triggers if no filter specified + # @param [Hash] opts the optional parameters + # @option opts [String] :filter FQL query specifying filter parameters. + # @return [TriggersTriggerExternalResponse] + describe 'workflow_triggers_combined test' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + # unit tests for workflow_update_human_input_v1 # Provides an input in response to a human input action. Depending on action configuration, one or more of Approve, Decline, and/or Escalate are permitted. # @param id ID of human input to provide an input to diff --git a/spec/api_client_spec.rb b/spec/api_client_spec.rb deleted file mode 100644 index 99ff5dae..00000000 --- a/spec/api_client_spec.rb +++ /dev/null @@ -1,245 +0,0 @@ -=begin -Crimson Falcon - Ruby Client SDK - -Code auto-generated by OpenAPI Generator; DO NOT EDIT. - -MIT License - -Copyright (c) 2023 Crowdstrike - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -=end - -require 'spec_helper' - -describe Falcon::ApiClient do - context 'initialization' do - context 'URL stuff' do - context 'host' do - it 'removes http from host' do - Falcon.configure { |c| c.host = 'http://example.com' } - expect(Falcon::Configuration.default.host).to eq('example.com') - end - - it 'removes https from host' do - Falcon.configure { |c| c.host = 'https://wookiee.com' } - expect(Falcon::ApiClient.default.config.host).to eq('wookiee.com') - end - - it 'removes trailing path from host' do - Falcon.configure { |c| c.host = 'hobo.com/v4' } - expect(Falcon::Configuration.default.host).to eq('hobo.com') - end - end - - context 'base_path' do - it "prepends a slash to base_path" do - Falcon.configure { |c| c.base_path = 'v4/dog' } - expect(Falcon::Configuration.default.base_path).to eq('/v4/dog') - end - - it "doesn't prepend a slash if one is already there" do - Falcon.configure { |c| c.base_path = '/v4/dog' } - expect(Falcon::Configuration.default.base_path).to eq('/v4/dog') - end - - it "ends up as a blank string if nil" do - Falcon.configure { |c| c.base_path = nil } - expect(Falcon::Configuration.default.base_path).to eq('') - end - end - end - end - - describe 'params_encoding in #build_request' do - let(:config) { Falcon::Configuration.new } - let(:api_client) { Falcon::ApiClient.new(config) } - - it 'defaults to nil' do - expect(Falcon::Configuration.default.params_encoding).to eq(nil) - expect(config.params_encoding).to eq(nil) - - request = api_client.build_request(:get, '/test') - expect(request.options[:params_encoding]).to eq(nil) - end - - it 'can be customized' do - config.params_encoding = :multi - request = api_client.build_request(:get, '/test') - expect(request.options[:params_encoding]).to eq(:multi) - end - end - - describe 'timeout in #build_request' do - let(:config) { Falcon::Configuration.new } - let(:api_client) { Falcon::ApiClient.new(config) } - - it 'defaults to 0' do - expect(Falcon::Configuration.default.timeout).to eq(0) - expect(config.timeout).to eq(0) - - request = api_client.build_request(:get, '/test') - expect(request.options[:timeout]).to eq(0) - end - - it 'can be customized' do - config.timeout = 100 - request = api_client.build_request(:get, '/test') - expect(request.options[:timeout]).to eq(100) - end - end - - - - describe '#deserialize' do - it "handles Array" do - api_client = Falcon::ApiClient.new - headers = { 'Content-Type' => 'application/json' } - response = double('response', headers: headers, body: '[12, 34]') - data = api_client.deserialize(response, 'Array') - expect(data).to be_instance_of(Array) - expect(data).to eq([12, 34]) - end - - it 'handles Array>' do - api_client = Falcon::ApiClient.new - headers = { 'Content-Type' => 'application/json' } - response = double('response', headers: headers, body: '[[12, 34], [56]]') - data = api_client.deserialize(response, 'Array>') - expect(data).to be_instance_of(Array) - expect(data).to eq([[12, 34], [56]]) - end - - it 'handles Hash' do - api_client = Falcon::ApiClient.new - headers = { 'Content-Type' => 'application/json' } - response = double('response', headers: headers, body: '{"message": "Hello"}') - data = api_client.deserialize(response, 'Hash') - expect(data).to be_instance_of(Hash) - expect(data).to eq(:message => 'Hello') - end - end - - describe "#object_to_hash" do - it 'ignores nils and includes empty arrays' do - # uncomment below to test object_to_hash for model - # api_client = Falcon::ApiClient.new - # _model = Falcon::ModelName.new - # update the model attribute below - # _model.id = 1 - # update the expected value (hash) below - # expected = {id: 1, name: '', tags: []} - # expect(api_client.object_to_hash(_model)).to eq(expected) - end - end - - describe '#build_collection_param' do - let(:param) { ['aa', 'bb', 'cc'] } - let(:api_client) { Falcon::ApiClient.new } - - it 'works for csv' do - expect(api_client.build_collection_param(param, :csv)).to eq('aa,bb,cc') - end - - it 'works for ssv' do - expect(api_client.build_collection_param(param, :ssv)).to eq('aa bb cc') - end - - it 'works for tsv' do - expect(api_client.build_collection_param(param, :tsv)).to eq("aa\tbb\tcc") - end - - it 'works for pipes' do - expect(api_client.build_collection_param(param, :pipes)).to eq('aa|bb|cc') - end - - it 'works for multi' do - expect(api_client.build_collection_param(param, :multi)).to eq(['aa', 'bb', 'cc']) - end - - it 'fails for invalid collection format' do - expect { api_client.build_collection_param(param, :INVALID) }.to raise_error(RuntimeError, 'unknown collection format: :INVALID') - end - end - - describe '#json_mime?' do - let(:api_client) { Falcon::ApiClient.new } - - it 'works' do - expect(api_client.json_mime?(nil)).to eq false - expect(api_client.json_mime?('')).to eq false - - expect(api_client.json_mime?('application/json')).to eq true - expect(api_client.json_mime?('application/json; charset=UTF8')).to eq true - expect(api_client.json_mime?('APPLICATION/JSON')).to eq true - - expect(api_client.json_mime?('application/xml')).to eq false - expect(api_client.json_mime?('text/plain')).to eq false - expect(api_client.json_mime?('application/jsonp')).to eq false - end - end - - describe '#select_header_accept' do - let(:api_client) { Falcon::ApiClient.new } - - it 'works' do - expect(api_client.select_header_accept(nil)).to be_nil - expect(api_client.select_header_accept([])).to be_nil - - expect(api_client.select_header_accept(['application/json'])).to eq('application/json') - expect(api_client.select_header_accept(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8') - expect(api_client.select_header_accept(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON') - - expect(api_client.select_header_accept(['application/xml'])).to eq('application/xml') - expect(api_client.select_header_accept(['text/html', 'application/xml'])).to eq('text/html,application/xml') - end - end - - describe '#select_header_content_type' do - let(:api_client) { Falcon::ApiClient.new } - - it 'works' do - expect(api_client.select_header_content_type(nil)).to be_nil - expect(api_client.select_header_content_type([])).to be_nil - - expect(api_client.select_header_content_type(['application/json'])).to eq('application/json') - expect(api_client.select_header_content_type(['application/xml', 'application/json; charset=UTF8'])).to eq('application/json; charset=UTF8') - expect(api_client.select_header_content_type(['APPLICATION/JSON', 'text/html'])).to eq('APPLICATION/JSON') - expect(api_client.select_header_content_type(['application/xml'])).to eq('application/xml') - expect(api_client.select_header_content_type(['text/plain', 'application/xml'])).to eq('text/plain') - end - end - - describe '#sanitize_filename' do - let(:api_client) { Falcon::ApiClient.new } - - it 'works' do - expect(api_client.sanitize_filename('sun')).to eq('sun') - expect(api_client.sanitize_filename('sun.gif')).to eq('sun.gif') - expect(api_client.sanitize_filename('../sun.gif')).to eq('sun.gif') - expect(api_client.sanitize_filename('/var/tmp/sun.gif')).to eq('sun.gif') - expect(api_client.sanitize_filename('./sun.gif')).to eq('sun.gif') - expect(api_client.sanitize_filename('..\sun.gif')).to eq('sun.gif') - expect(api_client.sanitize_filename('\var\tmp\sun.gif')).to eq('sun.gif') - expect(api_client.sanitize_filename('c:\var\tmp\sun.gif')).to eq('sun.gif') - expect(api_client.sanitize_filename('.\sun.gif')).to eq('sun.gif') - end - end -end diff --git a/spec/configuration_spec.rb b/spec/configuration_spec.rb deleted file mode 100644 index fad4b3c4..00000000 --- a/spec/configuration_spec.rb +++ /dev/null @@ -1,59 +0,0 @@ -=begin -Crimson Falcon - Ruby Client SDK - -Code auto-generated by OpenAPI Generator; DO NOT EDIT. - -MIT License - -Copyright (c) 2023 Crowdstrike - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -=end - -require 'spec_helper' - -describe Falcon::Configuration do - let(:config) { Falcon::Configuration.default } - - before(:each) do - # uncomment below to setup host and base_path - # require 'URI' - # uri = URI.parse("https://api.crowdstrike.com") - # Falcon.configure do |c| - # c.host = uri.host - # c.base_path = uri.path - # end - end - - describe '#base_url' do - it 'should have the default value' do - # uncomment below to test default value of the base path - # expect(config.base_url).to eq("https://api.crowdstrike.com") - end - - it 'should remove trailing slashes' do - [nil, '', '/', '//'].each do |base_path| - config.base_path = base_path - # uncomment below to test trailing slashes - # expect(config.base_url).to eq("https://api.crowdstrike.com") - end - end - end -end diff --git a/spec/models/actions_action_response_spec.rb b/spec/models/actions_action_response_spec.rb new file mode 100644 index 00000000..4244a8ab --- /dev/null +++ b/spec/models/actions_action_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ActionsActionResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ActionsActionResponse do + let(:instance) { Falcon::ActionsActionResponse.new } + + describe 'test an instance of ActionsActionResponse' do + it 'should create an instance of ActionsActionResponse' do + expect(instance).to be_instance_of(Falcon::ActionsActionResponse) + end + end + describe 'test attribute "action_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/actions_action_spec.rb b/spec/models/actions_action_spec.rb new file mode 100644 index 00000000..6d962fb7 --- /dev/null +++ b/spec/models/actions_action_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ActionsAction +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ActionsAction do + let(:instance) { Falcon::ActionsAction.new } + + describe 'test an instance of ActionsAction' do + it 'should create an instance of ActionsAction' do + expect(instance).to be_instance_of(Falcon::ActionsAction) + end + end + describe 'test attribute "expected_change_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "operation_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "previous_change_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_change_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_api_entity_matched_v1_spec.rb b/spec/models/actions_create_action_request_spec.rb similarity index 78% rename from spec/models/domain_api_entity_matched_v1_spec.rb rename to spec/models/actions_create_action_request_spec.rb index e7b85ef1..0901cd3f 100644 --- a/spec/models/domain_api_entity_matched_v1_spec.rb +++ b/spec/models/actions_create_action_request_spec.rb @@ -31,30 +31,30 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainAPIEntityMatchedV1 +# Unit tests for Falcon::ActionsCreateActionRequest # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainAPIEntityMatchedV1 do - let(:instance) { Falcon::DomainAPIEntityMatchedV1.new } +describe Falcon::ActionsCreateActionRequest do + let(:instance) { Falcon::ActionsCreateActionRequest.new } - describe 'test an instance of DomainAPIEntityMatchedV1' do - it 'should create an instance of DomainAPIEntityMatchedV1' do - expect(instance).to be_instance_of(Falcon::DomainAPIEntityMatchedV1) + describe 'test an instance of ActionsCreateActionRequest' do + it 'should create an instance of ActionsCreateActionRequest' do + expect(instance).to be_instance_of(Falcon::ActionsCreateActionRequest) end end - describe 'test attribute "asset_id"' do + describe 'test attribute "change_ids"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "data_provider"' do + describe 'test attribute "comment"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "provider_asset_id"' do + describe 'test attribute "operation"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/actions_get_action_response_spec.rb b/spec/models/actions_get_action_response_spec.rb new file mode 100644 index 00000000..d87523db --- /dev/null +++ b/spec/models/actions_get_action_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ActionsGetActionResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ActionsGetActionResponse do + let(:instance) { Falcon::ActionsGetActionResponse.new } + + describe 'test an instance of ActionsGetActionResponse' do + it 'should create an instance of ActionsGetActionResponse' do + expect(instance).to be_instance_of(Falcon::ActionsGetActionResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/activities_activity_ext_field_spec.rb b/spec/models/activities_activity_ext_field_spec.rb new file mode 100644 index 00000000..8af949c6 --- /dev/null +++ b/spec/models/activities_activity_ext_field_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ActivitiesActivityExtField +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ActivitiesActivityExtField do + let(:instance) { Falcon::ActivitiesActivityExtField.new } + + describe 'test an instance of ActivitiesActivityExtField' do + it 'should create an instance of ActivitiesActivityExtField' do + expect(instance).to be_instance_of(Falcon::ActivitiesActivityExtField) + end + end + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "example"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "x_cs_not_parameterizable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/activities_activity_external_response_spec.rb b/spec/models/activities_activity_external_response_spec.rb new file mode 100644 index 00000000..212d0d4e --- /dev/null +++ b/spec/models/activities_activity_external_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ActivitiesActivityExternalResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ActivitiesActivityExternalResponse do + let(:instance) { Falcon::ActivitiesActivityExternalResponse.new } + + describe 'test an instance of ActivitiesActivityExternalResponse' do + it 'should create an instance of ActivitiesActivityExternalResponse' do + expect(instance).to be_instance_of(Falcon::ActivitiesActivityExternalResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/activities_activity_spec.rb b/spec/models/activities_activity_spec.rb new file mode 100644 index 00000000..e1a9654e --- /dev/null +++ b/spec/models/activities_activity_spec.rb @@ -0,0 +1,165 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ActivitiesActivity +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ActivitiesActivity do + let(:instance) { Falcon::ActivitiesActivity.new } + + describe 'test an instance of ActivitiesActivity' do + it 'should create an instance of ActivitiesActivity' do + expect(instance).to be_instance_of(Falcon::ActivitiesActivity) + end + end + describe 'test attribute "api_scope"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "app_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_class"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "disruptive"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "has_permission"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "input_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "input_schema"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mock_output"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "namespace"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "output_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "output_schema"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tag_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "use_cases"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vendor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_botnet_inject_spec.rb b/spec/models/activity_spec.rb similarity index 80% rename from spec/models/domain_botnet_inject_spec.rb rename to spec/models/activity_spec.rb index 5f035908..f4fed36b 100644 --- a/spec/models/domain_botnet_inject_spec.rb +++ b/spec/models/activity_spec.rb @@ -31,24 +31,24 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainBotnetInject +# Unit tests for Falcon::Activity # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainBotnetInject do - let(:instance) { Falcon::DomainBotnetInject.new } +describe Falcon::Activity do + let(:instance) { Falcon::Activity.new } - describe 'test an instance of DomainBotnetInject' do - it 'should create an instance of DomainBotnetInject' do - expect(instance).to be_instance_of(Falcon::DomainBotnetInject) + describe 'test an instance of Activity' do + it 'should create an instance of Activity' do + expect(instance).to be_instance_of(Falcon::Activity) end end - describe 'test attribute "inject"' do + describe 'test attribute "access_type"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "pattern"' do + describe 'test attribute "access_type_custom"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/alerts_container_alerts_count_value_spec.rb b/spec/models/alerts_container_alerts_count_value_spec.rb index 6910b84b..72bc7ce9 100644 --- a/spec/models/alerts_container_alerts_count_value_spec.rb +++ b/spec/models/alerts_container_alerts_count_value_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::AlertsContainerAlertsCountValue) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/api_cert_based_exclusion_create_req_v1_spec.rb b/spec/models/api_cert_based_exclusion_create_req_v1_spec.rb new file mode 100644 index 00000000..425c1c73 --- /dev/null +++ b/spec/models/api_cert_based_exclusion_create_req_v1_spec.rb @@ -0,0 +1,117 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCertBasedExclusionCreateReqV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCertBasedExclusionCreateReqV1 do + let(:instance) { Falcon::ApiCertBasedExclusionCreateReqV1.new } + + describe 'test an instance of ApiCertBasedExclusionCreateReqV1' do + it 'should create an instance of ApiCertBasedExclusionCreateReqV1' do + expect(instance).to be_instance_of(Falcon::ApiCertBasedExclusionCreateReqV1) + end + end + describe 'test attribute "applied_globally"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "certificate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "children_cids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "comment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_on"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "host_groups"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "modified_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "modified_on"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_cert_based_exclusion_resp_v1_spec.rb b/spec/models/api_cert_based_exclusion_resp_v1_spec.rb new file mode 100644 index 00000000..ba7897eb --- /dev/null +++ b/spec/models/api_cert_based_exclusion_resp_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCertBasedExclusionRespV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCertBasedExclusionRespV1 do + let(:instance) { Falcon::ApiCertBasedExclusionRespV1.new } + + describe 'test an instance of ApiCertBasedExclusionRespV1' do + it 'should create an instance of ApiCertBasedExclusionRespV1' do + expect(instance).to be_instance_of(Falcon::ApiCertBasedExclusionRespV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_cert_based_exclusion_update_req_v1_spec.rb b/spec/models/api_cert_based_exclusion_update_req_v1_spec.rb new file mode 100644 index 00000000..9d49fb31 --- /dev/null +++ b/spec/models/api_cert_based_exclusion_update_req_v1_spec.rb @@ -0,0 +1,123 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCertBasedExclusionUpdateReqV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCertBasedExclusionUpdateReqV1 do + let(:instance) { Falcon::ApiCertBasedExclusionUpdateReqV1.new } + + describe 'test an instance of ApiCertBasedExclusionUpdateReqV1' do + it 'should create an instance of ApiCertBasedExclusionUpdateReqV1' do + expect(instance).to be_instance_of(Falcon::ApiCertBasedExclusionUpdateReqV1) + end + end + describe 'test attribute "applied_globally"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "certificate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "children_cids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "comment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_on"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "host_groups"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "modified_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "modified_on"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_event_spec.rb b/spec/models/api_cert_based_exclusion_v1_spec.rb similarity index 78% rename from spec/models/domain_event_spec.rb rename to spec/models/api_cert_based_exclusion_v1_spec.rb index 3d7e99cc..3a6d63e9 100644 --- a/spec/models/domain_event_spec.rb +++ b/spec/models/api_cert_based_exclusion_v1_spec.rb @@ -31,96 +31,96 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainEvent +# Unit tests for Falcon::ApiCertBasedExclusionV1 # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainEvent do - let(:instance) { Falcon::DomainEvent.new } +describe Falcon::ApiCertBasedExclusionV1 do + let(:instance) { Falcon::ApiCertBasedExclusionV1.new } - describe 'test an instance of DomainEvent' do - it 'should create an instance of DomainEvent' do - expect(instance).to be_instance_of(Falcon::DomainEvent) + describe 'test an instance of ApiCertBasedExclusionV1' do + it 'should create an instance of ApiCertBasedExclusionV1' do + expect(instance).to be_instance_of(Falcon::ApiCertBasedExclusionV1) end end - describe 'test attribute "body"' do + describe 'test attribute "applied_globally"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "body_is_truncated"' do + describe 'test attribute "certificate"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "body_link"' do + describe 'test attribute "children_cids"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "botnet_config_source"' do + describe 'test attribute "cid"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "created_date"' do + describe 'test attribute "comment"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "ddos_attack_source"' do + describe 'test attribute "created_by"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "event_type"' do + describe 'test attribute "created_on"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "fingerprint"' do + describe 'test attribute "description"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "id"' do + describe 'test attribute "host_groups"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "matched_rules"' do + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "pastebin_text_source"' do + describe 'test attribute "modified_by"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "tags"' do + describe 'test attribute "modified_on"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "tweet_source"' do + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "updated_date"' do + describe 'test attribute "status"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/api_cert_based_exclusions_create_req_v1_spec.rb b/spec/models/api_cert_based_exclusions_create_req_v1_spec.rb new file mode 100644 index 00000000..559dd879 --- /dev/null +++ b/spec/models/api_cert_based_exclusions_create_req_v1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCertBasedExclusionsCreateReqV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCertBasedExclusionsCreateReqV1 do + let(:instance) { Falcon::ApiCertBasedExclusionsCreateReqV1.new } + + describe 'test an instance of ApiCertBasedExclusionsCreateReqV1' do + it 'should create an instance of ApiCertBasedExclusionsCreateReqV1' do + expect(instance).to be_instance_of(Falcon::ApiCertBasedExclusionsCreateReqV1) + end + end + describe 'test attribute "exclusions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_cert_based_exclusions_update_req_v1_spec.rb b/spec/models/api_cert_based_exclusions_update_req_v1_spec.rb new file mode 100644 index 00000000..3e926e5f --- /dev/null +++ b/spec/models/api_cert_based_exclusions_update_req_v1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCertBasedExclusionsUpdateReqV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCertBasedExclusionsUpdateReqV1 do + let(:instance) { Falcon::ApiCertBasedExclusionsUpdateReqV1.new } + + describe 'test an instance of ApiCertBasedExclusionsUpdateReqV1' do + it 'should create an instance of ApiCertBasedExclusionsUpdateReqV1' do + expect(instance).to be_instance_of(Falcon::ApiCertBasedExclusionsUpdateReqV1) + end + end + describe 'test attribute "exclusions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_certificate_req_v1_spec.rb b/spec/models/api_certificate_req_v1_spec.rb new file mode 100644 index 00000000..9dc69c37 --- /dev/null +++ b/spec/models/api_certificate_req_v1_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCertificateReqV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCertificateReqV1 do + let(:instance) { Falcon::ApiCertificateReqV1.new } + + describe 'test an instance of ApiCertificateReqV1' do + it 'should create an instance of ApiCertificateReqV1' do + expect(instance).to be_instance_of(Falcon::ApiCertificateReqV1) + end + end + describe 'test attribute "issuer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "serial"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "subject"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "thumbprint"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "valid_from"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "valid_to"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_certificate_v1_spec.rb b/spec/models/api_certificate_v1_spec.rb new file mode 100644 index 00000000..59307b28 --- /dev/null +++ b/spec/models/api_certificate_v1_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCertificateV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCertificateV1 do + let(:instance) { Falcon::ApiCertificateV1.new } + + describe 'test an instance of ApiCertificateV1' do + it 'should create an instance of ApiCertificateV1' do + expect(instance).to be_instance_of(Falcon::ApiCertificateV1) + end + end + describe 'test attribute "issuer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "serial"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "subject"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "thumbprint"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "valid_from"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "valid_to"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_certificates_response_v1_spec.rb b/spec/models/api_certificates_response_v1_spec.rb new file mode 100644 index 00000000..3750a089 --- /dev/null +++ b/spec/models/api_certificates_response_v1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCertificatesResponseV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCertificatesResponseV1 do + let(:instance) { Falcon::ApiCertificatesResponseV1.new } + + describe 'test an instance of ApiCertificatesResponseV1' do + it 'should create an instance of ApiCertificatesResponseV1' do + expect(instance).to be_instance_of(Falcon::ApiCertificatesResponseV1) + end + end + describe 'test attribute "certificates"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_create_migration_request_v1_spec.rb b/spec/models/api_create_migration_request_v1_spec.rb new file mode 100644 index 00000000..88edcf23 --- /dev/null +++ b/spec/models/api_create_migration_request_v1_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCreateMigrationRequestV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCreateMigrationRequestV1 do + let(:instance) { Falcon::ApiCreateMigrationRequestV1.new } + + describe 'test an instance of ApiCreateMigrationRequestV1' do + it 'should create an instance of ApiCreateMigrationRequestV1' do + expect(instance).to be_instance_of(Falcon::ApiCreateMigrationRequestV1) + end + end + describe 'test attribute "device_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "filter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "target_cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_create_migration_response_v1_spec.rb b/spec/models/api_create_migration_response_v1_spec.rb new file mode 100644 index 00000000..feceb875 --- /dev/null +++ b/spec/models/api_create_migration_response_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiCreateMigrationResponseV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiCreateMigrationResponseV1 do + let(:instance) { Falcon::ApiCreateMigrationResponseV1.new } + + describe 'test an instance of ApiCreateMigrationResponseV1' do + it 'should create an instance of ApiCreateMigrationResponseV1' do + expect(instance).to be_instance_of(Falcon::ApiCreateMigrationResponseV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_tweet_source_spec.rb b/spec/models/api_event_spec.rb similarity index 79% rename from spec/models/domain_tweet_source_spec.rb rename to spec/models/api_event_spec.rb index ef0fa626..26fbc15f 100644 --- a/spec/models/domain_tweet_source_spec.rb +++ b/spec/models/api_event_spec.rb @@ -31,42 +31,42 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainTweetSource +# Unit tests for Falcon::ApiEvent # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainTweetSource do - let(:instance) { Falcon::DomainTweetSource.new } +describe Falcon::ApiEvent do + let(:instance) { Falcon::ApiEvent.new } - describe 'test an instance of DomainTweetSource' do - it 'should create an instance of DomainTweetSource' do - expect(instance).to be_instance_of(Falcon::DomainTweetSource) + describe 'test an instance of ApiEvent' do + it 'should create an instance of ApiEvent' do + expect(instance).to be_instance_of(Falcon::ApiEvent) end end - describe 'test attribute "author_name"' do + describe 'test attribute "action"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "language"' do + describe 'test attribute "ids"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "legacy_source"' do + describe 'test attribute "reason"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "source_link"' do + describe 'test attribute "time"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "tweet_id"' do + describe 'test attribute "user"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/api_get_host_migration_response_v1_spec.rb b/spec/models/api_get_host_migration_response_v1_spec.rb new file mode 100644 index 00000000..739ec2a3 --- /dev/null +++ b/spec/models/api_get_host_migration_response_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiGetHostMigrationResponseV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiGetHostMigrationResponseV1 do + let(:instance) { Falcon::ApiGetHostMigrationResponseV1.new } + + describe 'test an instance of ApiGetHostMigrationResponseV1' do + it 'should create an instance of ApiGetHostMigrationResponseV1' do + expect(instance).to be_instance_of(Falcon::ApiGetHostMigrationResponseV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_get_migration_destinations_request_body_v1_spec.rb b/spec/models/api_get_migration_destinations_request_body_v1_spec.rb new file mode 100644 index 00000000..60c49e0b --- /dev/null +++ b/spec/models/api_get_migration_destinations_request_body_v1_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiGetMigrationDestinationsRequestBodyV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiGetMigrationDestinationsRequestBodyV1 do + let(:instance) { Falcon::ApiGetMigrationDestinationsRequestBodyV1.new } + + describe 'test an instance of ApiGetMigrationDestinationsRequestBodyV1' do + it 'should create an instance of ApiGetMigrationDestinationsRequestBodyV1' do + expect(instance).to be_instance_of(Falcon::ApiGetMigrationDestinationsRequestBodyV1) + end + end + describe 'test attribute "device_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "filter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_get_migration_destinations_response_v1_spec.rb b/spec/models/api_get_migration_destinations_response_v1_spec.rb new file mode 100644 index 00000000..0aa72e2a --- /dev/null +++ b/spec/models/api_get_migration_destinations_response_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiGetMigrationDestinationsResponseV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiGetMigrationDestinationsResponseV1 do + let(:instance) { Falcon::ApiGetMigrationDestinationsResponseV1.new } + + describe 'test an instance of ApiGetMigrationDestinationsResponseV1' do + it 'should create an instance of ApiGetMigrationDestinationsResponseV1' do + expect(instance).to be_instance_of(Falcon::ApiGetMigrationDestinationsResponseV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_rule_entities_response_spec.rb b/spec/models/api_get_migrations_response_v1_spec.rb similarity index 83% rename from spec/models/domain_rule_entities_response_spec.rb rename to spec/models/api_get_migrations_response_v1_spec.rb index 209b23f5..b824f9b6 100644 --- a/spec/models/domain_rule_entities_response_spec.rb +++ b/spec/models/api_get_migrations_response_v1_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainRuleEntitiesResponse +# Unit tests for Falcon::ApiGetMigrationsResponseV1 # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainRuleEntitiesResponse do - let(:instance) { Falcon::DomainRuleEntitiesResponse.new } +describe Falcon::ApiGetMigrationsResponseV1 do + let(:instance) { Falcon::ApiGetMigrationsResponseV1.new } - describe 'test an instance of DomainRuleEntitiesResponse' do - it 'should create an instance of DomainRuleEntitiesResponse' do - expect(instance).to be_instance_of(Falcon::DomainRuleEntitiesResponse) + describe 'test an instance of ApiGetMigrationsResponseV1' do + it 'should create an instance of ApiGetMigrationsResponseV1' do + expect(instance).to be_instance_of(Falcon::ApiGetMigrationsResponseV1) end end describe 'test attribute "errors"' do diff --git a/spec/models/api_host_migration_spec.rb b/spec/models/api_host_migration_spec.rb new file mode 100644 index 00000000..21647fd5 --- /dev/null +++ b/spec/models/api_host_migration_spec.rb @@ -0,0 +1,129 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiHostMigration +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiHostMigration do + let(:instance) { Falcon::ApiHostMigration.new } + + describe 'test an instance of ApiHostMigration' do + it 'should create an instance of ApiHostMigration' do + expect(instance).to be_instance_of(Falcon::ApiHostMigration) + end + end + describe 'test attribute "created_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "events"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "host_migration_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hostgroups"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hostname"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "migration_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "platform"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source_cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source_device_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status_details"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "target_cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "target_device_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_hourly_average_response_spec.rb b/spec/models/api_hourly_average_response_spec.rb new file mode 100644 index 00000000..22ba7243 --- /dev/null +++ b/spec/models/api_hourly_average_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiHourlyAverageResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiHourlyAverageResponse do + let(:instance) { Falcon::ApiHourlyAverageResponse.new } + + describe 'test an instance of ApiHourlyAverageResponse' do + it 'should create an instance of ApiHourlyAverageResponse' do + expect(instance).to be_instance_of(Falcon::ApiHourlyAverageResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_mfa_resource_ids_response_spec.rb b/spec/models/api_mfa_resource_ids_response_spec.rb new file mode 100644 index 00000000..fd4dc7e3 --- /dev/null +++ b/spec/models/api_mfa_resource_ids_response_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiMFAResourceIDsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiMFAResourceIDsResponse do + let(:instance) { Falcon::ApiMFAResourceIDsResponse.new } + + describe 'test an instance of ApiMFAResourceIDsResponse' do + it 'should create an instance of ApiMFAResourceIDsResponse' do + expect(instance).to be_instance_of(Falcon::ApiMFAResourceIDsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_next"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_migrate_hosts_info_spec.rb b/spec/models/api_migrate_hosts_info_spec.rb new file mode 100644 index 00000000..ebb711fc --- /dev/null +++ b/spec/models/api_migrate_hosts_info_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiMigrateHostsInfo +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiMigrateHostsInfo do + let(:instance) { Falcon::ApiMigrateHostsInfo.new } + + describe 'test an instance of ApiMigrateHostsInfo' do + it 'should create an instance of ApiMigrateHostsInfo' do + expect(instance).to be_instance_of(Falcon::ApiMigrateHostsInfo) + end + end + describe 'test attribute "hosts_errored"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hosts_queued"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "migration_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_migration_spec.rb b/spec/models/api_migration_spec.rb new file mode 100644 index 00000000..ffab0065 --- /dev/null +++ b/spec/models/api_migration_spec.rb @@ -0,0 +1,117 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiMigration +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiMigration do + let(:instance) { Falcon::ApiMigration.new } + + describe 'test an instance of ApiMigration' do + it 'should create an instance of ApiMigration' do + expect(instance).to be_instance_of(Falcon::ApiMigration) + end + end + describe 'test attribute "canceled_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "completed_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "migration_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "migration_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "started_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "target_cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_hosts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_object_metadata_spec.rb b/spec/models/api_object_metadata_spec.rb index 78edb866..ef950eee 100644 --- a/spec/models/api_object_metadata_spec.rb +++ b/spec/models/api_object_metadata_spec.rb @@ -48,6 +48,12 @@ end end + describe 'test attribute "collection_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "last_modified_time"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/api_post_enrollment_details_v4_spec.rb b/spec/models/api_post_enrollment_details_v4_spec.rb new file mode 100644 index 00000000..48243956 --- /dev/null +++ b/spec/models/api_post_enrollment_details_v4_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiPostEnrollmentDetailsV4 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiPostEnrollmentDetailsV4 do + let(:instance) { Falcon::ApiPostEnrollmentDetailsV4.new } + + describe 'test an instance of ApiPostEnrollmentDetailsV4' do + it 'should create an instance of ApiPostEnrollmentDetailsV4' do + expect(instance).to be_instance_of(Falcon::ApiPostEnrollmentDetailsV4) + end + end + describe 'test attribute "email_addresses"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enrollment_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "expires_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/custom_type3191042536_spec.rb b/spec/models/api_resp_certificates_v1_spec.rb similarity index 84% rename from spec/models/custom_type3191042536_spec.rb rename to spec/models/api_resp_certificates_v1_spec.rb index e0256a70..76171b2f 100644 --- a/spec/models/custom_type3191042536_spec.rb +++ b/spec/models/api_resp_certificates_v1_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::CustomType3191042536 +# Unit tests for Falcon::ApiRespCertificatesV1 # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::CustomType3191042536 do - let(:instance) { Falcon::CustomType3191042536.new } +describe Falcon::ApiRespCertificatesV1 do + let(:instance) { Falcon::ApiRespCertificatesV1.new } - describe 'test an instance of CustomType3191042536' do - it 'should create an instance of CustomType3191042536' do - expect(instance).to be_instance_of(Falcon::CustomType3191042536) + describe 'test an instance of ApiRespCertificatesV1' do + it 'should create an instance of ApiRespCertificatesV1' do + expect(instance).to be_instance_of(Falcon::ApiRespCertificatesV1) end end describe 'test attribute "errors"' do diff --git a/spec/models/domain_botnet_config_source_spec.rb b/spec/models/api_rule_update_v2_spec.rb similarity index 78% rename from spec/models/domain_botnet_config_source_spec.rb rename to spec/models/api_rule_update_v2_spec.rb index bcdef011..621cdcb2 100644 --- a/spec/models/domain_botnet_config_source_spec.rb +++ b/spec/models/api_rule_update_v2_spec.rb @@ -31,60 +31,60 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainBotnetConfigSource +# Unit tests for Falcon::ApiRuleUpdateV2 # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainBotnetConfigSource do - let(:instance) { Falcon::DomainBotnetConfigSource.new } +describe Falcon::ApiRuleUpdateV2 do + let(:instance) { Falcon::ApiRuleUpdateV2.new } - describe 'test an instance of DomainBotnetConfigSource' do - it 'should create an instance of DomainBotnetConfigSource' do - expect(instance).to be_instance_of(Falcon::DomainBotnetConfigSource) + describe 'test an instance of ApiRuleUpdateV2' do + it 'should create an instance of ApiRuleUpdateV2' do + expect(instance).to be_instance_of(Falcon::ApiRuleUpdateV2) end end - describe 'test attribute "actions"' do + describe 'test attribute "description"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "body"' do + describe 'test attribute "disposition_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "botnet"' do + describe 'test attribute "enabled"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "config_type"' do + describe 'test attribute "field_values"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "injects"' do + describe 'test attribute "instance_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "sub_botnet"' do + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "subject"' do + describe 'test attribute "pattern_severity"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "variables"' do + describe 'test attribute "rulegroup_version"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/api_rule_updates_request_v2_spec.rb b/spec/models/api_rule_updates_request_v2_spec.rb new file mode 100644 index 00000000..76013db4 --- /dev/null +++ b/spec/models/api_rule_updates_request_v2_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiRuleUpdatesRequestV2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiRuleUpdatesRequestV2 do + let(:instance) { Falcon::ApiRuleUpdatesRequestV2.new } + + describe 'test an instance of ApiRuleUpdatesRequestV2' do + it 'should create an instance of ApiRuleUpdatesRequestV2' do + expect(instance).to be_instance_of(Falcon::ApiRuleUpdatesRequestV2) + end + end + describe 'test attribute "comment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rule_updates"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rulegroup_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rulegroup_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/api_weekly_average_response_spec.rb b/spec/models/api_weekly_average_response_spec.rb new file mode 100644 index 00000000..b512a963 --- /dev/null +++ b/spec/models/api_weekly_average_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ApiWeeklyAverageResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ApiWeeklyAverageResponse do + let(:instance) { Falcon::ApiWeeklyAverageResponse.new } + + describe 'test an instance of ApiWeeklyAverageResponse' do + it 'should create an instance of ApiWeeklyAverageResponse' do + expect(instance).to be_instance_of(Falcon::ApiWeeklyAverageResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/apidomain_query_response_v1_spec.rb b/spec/models/apidomain_query_response_v1_spec.rb index c8c9fd5e..5593f514 100644 --- a/spec/models/apidomain_query_response_v1_spec.rb +++ b/spec/models/apidomain_query_response_v1_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "filtered_event_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "job_status"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/apidomain_saved_search_execute_request_v1_spec.rb b/spec/models/apidomain_saved_search_execute_request_v1_spec.rb index 2368d917..11e98df1 100644 --- a/spec/models/apidomain_saved_search_execute_request_v1_spec.rb +++ b/spec/models/apidomain_saved_search_execute_request_v1_spec.rb @@ -42,25 +42,25 @@ expect(instance).to be_instance_of(Falcon::ApidomainSavedSearchExecuteRequestV1) end end - describe 'test attribute "_end"' do + describe 'test attribute "extra_rename"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "id"' do + describe 'test attribute "extra_search"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "mode"' do + describe 'test attribute "extra_sort"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "name"' do + describe 'test attribute "extra_where"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -72,6 +72,36 @@ end end + describe 'test attribute "_end"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fql_statements"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mode"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "start"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/changes_change_spec.rb b/spec/models/changes_change_spec.rb index 60bf707c..00b3c684 100644 --- a/spec/models/changes_change_spec.rb +++ b/spec/models/changes_change_spec.rb @@ -102,6 +102,12 @@ end end + describe 'test attribute "file_size"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "grandparent_process_image_file_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -162,6 +168,12 @@ end end + describe 'test attribute "permissions_mac"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "platform_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/changes_host_spec.rb b/spec/models/changes_host_spec.rb index acb9df90..33993755 100644 --- a/spec/models/changes_host_spec.rb +++ b/spec/models/changes_host_spec.rb @@ -84,4 +84,10 @@ end end + describe 'test attribute "tags"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/changes_permissions_mac_spec.rb b/spec/models/changes_permissions_mac_spec.rb new file mode 100644 index 00000000..477148fd --- /dev/null +++ b/spec/models/changes_permissions_mac_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ChangesPermissionsMac +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ChangesPermissionsMac do + let(:instance) { Falcon::ChangesPermissionsMac.new } + + describe 'test an instance of ChangesPermissionsMac' do + it 'should create an instance of ChangesPermissionsMac' do + expect(instance).to be_instance_of(Falcon::ChangesPermissionsMac) + end + end + describe 'test attribute "acl"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "basic"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "common_attributes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "group"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "owner"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "security_info"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_matched_rule_spec.rb b/spec/models/client_fql_statement_spec.rb similarity index 80% rename from spec/models/domain_matched_rule_spec.rb rename to spec/models/client_fql_statement_spec.rb index e6746dd2..d7ccdd2b 100644 --- a/spec/models/domain_matched_rule_spec.rb +++ b/spec/models/client_fql_statement_spec.rb @@ -31,30 +31,30 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainMatchedRule +# Unit tests for Falcon::ClientFQLStatement # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainMatchedRule do - let(:instance) { Falcon::DomainMatchedRule.new } +describe Falcon::ClientFQLStatement do + let(:instance) { Falcon::ClientFQLStatement.new } - describe 'test an instance of DomainMatchedRule' do - it 'should create an instance of DomainMatchedRule' do - expect(instance).to be_instance_of(Falcon::DomainMatchedRule) + describe 'test an instance of ClientFQLStatement' do + it 'should create an instance of ClientFQLStatement' do + expect(instance).to be_instance_of(Falcon::ClientFQLStatement) end end - describe 'test attribute "customer_id"' do + describe 'test attribute "op"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "hit_id"' do + describe 'test attribute "prop"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "rule_id"' do + describe 'test attribute "value"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/client_job_status_spec.rb b/spec/models/client_job_status_spec.rb index c6890401..7af6e68f 100644 --- a/spec/models/client_job_status_spec.rb +++ b/spec/models/client_job_status_spec.rb @@ -72,6 +72,12 @@ end end + describe 'test attribute "filtered_event_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "job_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/common_count_as_resource_spec.rb b/spec/models/common_count_as_resource_spec.rb index fae8123e..5c329b42 100644 --- a/spec/models/common_count_as_resource_spec.rb +++ b/spec/models/common_count_as_resource_spec.rb @@ -48,10 +48,4 @@ end end - describe 'test attribute "label"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - end diff --git a/spec/models/common_count_response_spec.rb b/spec/models/common_count_response_spec.rb index 931dfbb9..8b2ac7d6 100644 --- a/spec/models/common_count_response_spec.rb +++ b/spec/models/common_count_response_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::CommonCountResponse) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/common_credentials_spec.rb b/spec/models/common_credentials_spec.rb new file mode 100644 index 00000000..a84c061b --- /dev/null +++ b/spec/models/common_credentials_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::CommonCredentials +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::CommonCredentials do + let(:instance) { Falcon::CommonCredentials.new } + + describe 'test an instance of CommonCredentials' do + it 'should create an instance of CommonCredentials' do + expect(instance).to be_instance_of(Falcon::CommonCredentials) + end + end + describe 'test attribute "token"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/common_entities_response_spec.rb b/spec/models/common_entities_response_spec.rb new file mode 100644 index 00000000..85ded2cf --- /dev/null +++ b/spec/models/common_entities_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::CommonEntitiesResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::CommonEntitiesResponse do + let(:instance) { Falcon::CommonEntitiesResponse.new } + + describe 'test an instance of CommonEntitiesResponse' do + it 'should create an instance of CommonEntitiesResponse' do + expect(instance).to be_instance_of(Falcon::CommonEntitiesResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/common_registry_credentials_response_spec.rb b/spec/models/common_registry_credentials_response_spec.rb new file mode 100644 index 00000000..c51acad1 --- /dev/null +++ b/spec/models/common_registry_credentials_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::CommonRegistryCredentialsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::CommonRegistryCredentialsResponse do + let(:instance) { Falcon::CommonRegistryCredentialsResponse.new } + + describe 'test an instance of CommonRegistryCredentialsResponse' do + it 'should create an instance of CommonRegistryCredentialsResponse' do + expect(instance).to be_instance_of(Falcon::CommonRegistryCredentialsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/contentchanges_change_contents_response_spec.rb b/spec/models/contentchanges_change_contents_response_spec.rb new file mode 100644 index 00000000..6fba158c --- /dev/null +++ b/spec/models/contentchanges_change_contents_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ContentchangesChangeContentsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ContentchangesChangeContentsResponse do + let(:instance) { Falcon::ContentchangesChangeContentsResponse.new } + + describe 'test an instance of ContentchangesChangeContentsResponse' do + it 'should create an instance of ContentchangesChangeContentsResponse' do + expect(instance).to be_instance_of(Falcon::ContentchangesChangeContentsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/contentchanges_content_diff_spec.rb b/spec/models/contentchanges_content_diff_spec.rb new file mode 100644 index 00000000..7727c18a --- /dev/null +++ b/spec/models/contentchanges_content_diff_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ContentchangesContentDiff +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ContentchangesContentDiff do + let(:instance) { Falcon::ContentchangesContentDiff.new } + + describe 'test an instance of ContentchangesContentDiff' do + it 'should create an instance of ContentchangesContentDiff' do + expect(instance).to be_instance_of(Falcon::ContentchangesContentDiff) + end + end + describe 'test attribute "after"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "before"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/contentchanges_content_spec.rb b/spec/models/contentchanges_content_spec.rb new file mode 100644 index 00000000..b0cb4aea --- /dev/null +++ b/spec/models/contentchanges_content_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ContentchangesContent +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ContentchangesContent do + let(:instance) { Falcon::ContentchangesContent.new } + + describe 'test an instance of ContentchangesContent' do + it 'should create an instance of ContentchangesContent' do + expect(instance).to be_instance_of(Falcon::ContentchangesContent) + end + end + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/custom_storage_object_keys_spec.rb b/spec/models/custom_storage_object_keys_spec.rb new file mode 100644 index 00000000..371eb3a3 --- /dev/null +++ b/spec/models/custom_storage_object_keys_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::CustomStorageObjectKeys +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::CustomStorageObjectKeys do + let(:instance) { Falcon::CustomStorageObjectKeys.new } + + describe 'test an instance of CustomStorageObjectKeys' do + it 'should create an instance of CustomStorageObjectKeys' do + expect(instance).to be_instance_of(Falcon::CustomStorageObjectKeys) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/custom_storage_response_spec.rb b/spec/models/custom_storage_response_spec.rb new file mode 100644 index 00000000..3249666c --- /dev/null +++ b/spec/models/custom_storage_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::CustomStorageResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::CustomStorageResponse do + let(:instance) { Falcon::CustomStorageResponse.new } + + describe 'test an instance of CustomStorageResponse' do + it 'should create an instance of CustomStorageResponse' do + expect(instance).to be_instance_of(Falcon::CustomStorageResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/definitions_definition_ext_spec.rb b/spec/models/definitions_definition_ext_spec.rb index a40856b8..f1de737c 100644 --- a/spec/models/definitions_definition_ext_spec.rb +++ b/spec/models/definitions_definition_ext_spec.rb @@ -42,7 +42,19 @@ expect(instance).to be_instance_of(Falcon::DefinitionsDefinitionExt) end end - describe 'test attribute "definition"' do + describe 'test attribute "actions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -60,12 +72,102 @@ end end + describe 'test attribute "labels"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "last_modified_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "loops"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "multi_instance"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "node_registry"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "output_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parameters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parent"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "provision_on_install"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "summary"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "trigger"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "uniq_node_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "use_cases"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vendors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "version"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/changes_get_changes_response_spec.rb b/spec/models/deployments_entity_response_spec.rb similarity index 84% rename from spec/models/changes_get_changes_response_spec.rb rename to spec/models/deployments_entity_response_spec.rb index 09e7da9e..1e2bcf29 100644 --- a/spec/models/changes_get_changes_response_spec.rb +++ b/spec/models/deployments_entity_response_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::ChangesGetChangesResponse +# Unit tests for Falcon::DeploymentsEntityResponse # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::ChangesGetChangesResponse do - let(:instance) { Falcon::ChangesGetChangesResponse.new } +describe Falcon::DeploymentsEntityResponse do + let(:instance) { Falcon::DeploymentsEntityResponse.new } - describe 'test an instance of ChangesGetChangesResponse' do - it 'should create an instance of ChangesGetChangesResponse' do - expect(instance).to be_instance_of(Falcon::ChangesGetChangesResponse) + describe 'test an instance of DeploymentsEntityResponse' do + it 'should create an instance of DeploymentsEntityResponse' do + expect(instance).to be_instance_of(Falcon::DeploymentsEntityResponse) end end describe 'test attribute "errors"' do diff --git a/spec/models/destination_spec.rb b/spec/models/destination_spec.rb new file mode 100644 index 00000000..c248306d --- /dev/null +++ b/spec/models/destination_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::Destination +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::Destination do + let(:instance) { Falcon::Destination.new } + + describe 'test an instance of Destination' do + it 'should create an instance of Destination' do + expect(instance).to be_instance_of(Falcon::Destination) + end + end + describe 'test attribute "entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "group_membership"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_vulnerability_related_threat_spec.rb b/spec/models/destinations_migration_destination_spec.rb similarity index 79% rename from spec/models/domain_vulnerability_related_threat_spec.rb rename to spec/models/destinations_migration_destination_spec.rb index caa0e8be..14646d8e 100644 --- a/spec/models/domain_vulnerability_related_threat_spec.rb +++ b/spec/models/destinations_migration_destination_spec.rb @@ -31,18 +31,18 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainVulnerabilityRelatedThreat +# Unit tests for Falcon::DestinationsMigrationDestination # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainVulnerabilityRelatedThreat do - let(:instance) { Falcon::DomainVulnerabilityRelatedThreat.new } +describe Falcon::DestinationsMigrationDestination do + let(:instance) { Falcon::DestinationsMigrationDestination.new } - describe 'test an instance of DomainVulnerabilityRelatedThreat' do - it 'should create an instance of DomainVulnerabilityRelatedThreat' do - expect(instance).to be_instance_of(Falcon::DomainVulnerabilityRelatedThreat) + describe 'test an instance of DestinationsMigrationDestination' do + it 'should create an instance of DestinationsMigrationDestination' do + expect(instance).to be_instance_of(Falcon::DestinationsMigrationDestination) end end - describe 'test attribute "capabilities"' do + describe 'test attribute "cid"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/detections_api_assessment_detections_spec.rb b/spec/models/detections_api_assessment_detections_spec.rb index 120b4507..9799d060 100644 --- a/spec/models/detections_api_assessment_detections_spec.rb +++ b/spec/models/detections_api_assessment_detections_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::DetectionsApiAssessmentDetections) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/detections_api_combined_detections_spec.rb b/spec/models/detections_api_combined_detections_spec.rb index a16bc83e..6517bdbc 100644 --- a/spec/models/detections_api_combined_detections_spec.rb +++ b/spec/models/detections_api_combined_detections_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::DetectionsApiCombinedDetections) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/detections_api_detections_count_spec.rb b/spec/models/detections_api_detections_count_spec.rb index 20c1d98f..ae3aa3ae 100644 --- a/spec/models/detections_api_detections_count_spec.rb +++ b/spec/models/detections_api_detections_count_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::DetectionsApiDetectionsCount) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/detects_alert_spec.rb b/spec/models/detects_external_alert_spec.rb similarity index 89% rename from spec/models/detects_alert_spec.rb rename to spec/models/detects_external_alert_spec.rb index 2e8050f5..37493c4c 100644 --- a/spec/models/detects_alert_spec.rb +++ b/spec/models/detects_external_alert_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::DetectsAlert +# Unit tests for Falcon::DetectsExternalAlert # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DetectsAlert do - let(:instance) { Falcon::DetectsAlert.new } +describe Falcon::DetectsExternalAlert do + let(:instance) { Falcon::DetectsExternalAlert.new } - describe 'test an instance of DetectsAlert' do - it 'should create an instance of DetectsAlert' do - expect(instance).to be_instance_of(Falcon::DetectsAlert) + describe 'test an instance of DetectsExternalAlert' do + it 'should create an instance of DetectsExternalAlert' do + expect(instance).to be_instance_of(Falcon::DetectsExternalAlert) end end describe 'test attribute "agent_id"' do @@ -90,18 +90,6 @@ end end - describe 'test attribute "crawl_edge_ids"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "crawl_vertex_ids"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "crawled_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -138,79 +126,73 @@ end end - describe 'test attribute "es_doc_id"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "es_doc_version"' do + describe 'test attribute "external"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "es_routing_id"' do + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "external"' do + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "id"' do + describe 'test attribute "objective"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "name"' do + describe 'test attribute "pattern_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "objective"' do + describe 'test attribute "platform"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "pattern_id"' do + describe 'test attribute "product"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "platform"' do + describe 'test attribute "scenario"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "poly_id"' do + describe 'test attribute "seconds_to_resolved"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "product"' do + describe 'test attribute "seconds_to_triaged"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "scenario"' do + describe 'test attribute "severity"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "severity"' do + describe 'test attribute "severity_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/detectsapi_post_entities_alerts_v1_response_spec.rb b/spec/models/detectsapi_post_entities_alerts_v1_response_swagger_spec.rb similarity index 90% rename from spec/models/detectsapi_post_entities_alerts_v1_response_spec.rb rename to spec/models/detectsapi_post_entities_alerts_v1_response_swagger_spec.rb index 11a7e1f2..82f1fd7d 100644 --- a/spec/models/detectsapi_post_entities_alerts_v1_response_spec.rb +++ b/spec/models/detectsapi_post_entities_alerts_v1_response_swagger_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::DetectsapiPostEntitiesAlertsV1Response +# Unit tests for Falcon::DetectsapiPostEntitiesAlertsV1ResponseSwagger # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DetectsapiPostEntitiesAlertsV1Response do - let(:instance) { Falcon::DetectsapiPostEntitiesAlertsV1Response.new } +describe Falcon::DetectsapiPostEntitiesAlertsV1ResponseSwagger do + let(:instance) { Falcon::DetectsapiPostEntitiesAlertsV1ResponseSwagger.new } - describe 'test an instance of DetectsapiPostEntitiesAlertsV1Response' do - it 'should create an instance of DetectsapiPostEntitiesAlertsV1Response' do - expect(instance).to be_instance_of(Falcon::DetectsapiPostEntitiesAlertsV1Response) + describe 'test an instance of DetectsapiPostEntitiesAlertsV1ResponseSwagger' do + it 'should create an instance of DetectsapiPostEntitiesAlertsV1ResponseSwagger' do + expect(instance).to be_instance_of(Falcon::DetectsapiPostEntitiesAlertsV1ResponseSwagger) end end describe 'test attribute "errors"' do diff --git a/spec/models/detectsapi_post_entities_alerts_v2_response_spec.rb b/spec/models/detectsapi_post_entities_alerts_v2_response_swagger_spec.rb similarity index 90% rename from spec/models/detectsapi_post_entities_alerts_v2_response_spec.rb rename to spec/models/detectsapi_post_entities_alerts_v2_response_swagger_spec.rb index 77ad0f47..e242f08e 100644 --- a/spec/models/detectsapi_post_entities_alerts_v2_response_spec.rb +++ b/spec/models/detectsapi_post_entities_alerts_v2_response_swagger_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::DetectsapiPostEntitiesAlertsV2Response +# Unit tests for Falcon::DetectsapiPostEntitiesAlertsV2ResponseSwagger # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DetectsapiPostEntitiesAlertsV2Response do - let(:instance) { Falcon::DetectsapiPostEntitiesAlertsV2Response.new } +describe Falcon::DetectsapiPostEntitiesAlertsV2ResponseSwagger do + let(:instance) { Falcon::DetectsapiPostEntitiesAlertsV2ResponseSwagger.new } - describe 'test an instance of DetectsapiPostEntitiesAlertsV2Response' do - it 'should create an instance of DetectsapiPostEntitiesAlertsV2Response' do - expect(instance).to be_instance_of(Falcon::DetectsapiPostEntitiesAlertsV2Response) + describe 'test an instance of DetectsapiPostEntitiesAlertsV2ResponseSwagger' do + it 'should create an instance of DetectsapiPostEntitiesAlertsV2ResponseSwagger' do + expect(instance).to be_instance_of(Falcon::DetectsapiPostEntitiesAlertsV2ResponseSwagger) end end describe 'test attribute "errors"' do diff --git a/spec/models/device_control_usb_class_exceptions_req_v1_spec.rb b/spec/models/device_control_usb_class_exceptions_req_v1_spec.rb index fe03b6b8..71beb5c1 100644 --- a/spec/models/device_control_usb_class_exceptions_req_v1_spec.rb +++ b/spec/models/device_control_usb_class_exceptions_req_v1_spec.rb @@ -45,7 +45,7 @@ describe 'test attribute "action"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY"]) + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY", "BLOCK_EXECUTE"]) # validator.allowable_values.each do |value| # expect { instance.action = value }.not_to raise_error # end diff --git a/spec/models/device_control_usb_class_exceptions_response_spec.rb b/spec/models/device_control_usb_class_exceptions_response_spec.rb index 5183cb75..0b6e8e58 100644 --- a/spec/models/device_control_usb_class_exceptions_response_spec.rb +++ b/spec/models/device_control_usb_class_exceptions_response_spec.rb @@ -45,7 +45,7 @@ describe 'test attribute "action"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY"]) + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["FULL_ACCESS", "FULL_BLOCK", "READ_ONLY", "BLOCK_EXECUTE"]) # validator.allowable_values.each do |value| # expect { instance.action = value }.not_to raise_error # end diff --git a/spec/models/device_device_spec.rb b/spec/models/device_device_spec.rb index 93307ffa..f0221b7e 100644 --- a/spec/models/device_device_spec.rb +++ b/spec/models/device_device_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "base_image_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "bios_manufacturer"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -132,6 +138,12 @@ end end + describe 'test attribute "cpu_vendor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "default_gateway_ip"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -174,6 +186,12 @@ end end + describe 'test attribute "filesystem_containment_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "first_login_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -204,6 +222,12 @@ end end + describe 'test attribute "host_deleted_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "host_hidden_status"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -336,6 +360,12 @@ end end + describe 'test attribute "migration_completed_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "minor_version"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -498,6 +528,12 @@ end end + describe 'test attribute "rtr_state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "serial_number"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/device_mapped_device_policies_spec.rb b/spec/models/device_mapped_device_policies_spec.rb index f9955b1d..40d11aa0 100644 --- a/spec/models/device_mapped_device_policies_spec.rb +++ b/spec/models/device_mapped_device_policies_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "customer_entitlements"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "data_protection"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -72,6 +78,12 @@ end end + describe 'test attribute "falcon_for_it"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "fim"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -114,6 +126,12 @@ end end + describe 'test attribute "legacy_os"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "mobile"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -156,6 +174,12 @@ end end + describe 'test attribute "vulnerability_management"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "ztl"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/deviceapi_device_swagger_spec.rb b/spec/models/deviceapi_device_swagger_spec.rb index b4c15577..8b72176f 100644 --- a/spec/models/deviceapi_device_swagger_spec.rb +++ b/spec/models/deviceapi_device_swagger_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "base_image_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "bios_manufacturer"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -180,6 +186,12 @@ end end + describe 'test attribute "filesystem_containment_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "first_login_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -336,6 +348,12 @@ end end + describe 'test attribute "migration_completed_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "minor_version"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -498,6 +516,12 @@ end end + describe 'test attribute "rtr_state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "serial_number"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_aggregate_cluster_assessments_response_spec.rb b/spec/models/domain_aggregate_cluster_assessments_response_spec.rb new file mode 100644 index 00000000..190776c8 --- /dev/null +++ b/spec/models/domain_aggregate_cluster_assessments_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAggregateClusterAssessmentsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAggregateClusterAssessmentsResponse do + let(:instance) { Falcon::DomainAggregateClusterAssessmentsResponse.new } + + describe 'test an instance of DomainAggregateClusterAssessmentsResponse' do + it 'should create an instance of DomainAggregateClusterAssessmentsResponse' do + expect(instance).to be_instance_of(Falcon::DomainAggregateClusterAssessmentsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aggregate_failed_asset_count_by_severity_response_spec.rb b/spec/models/domain_aggregate_failed_asset_count_by_severity_response_spec.rb new file mode 100644 index 00000000..520cc2dc --- /dev/null +++ b/spec/models/domain_aggregate_failed_asset_count_by_severity_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAggregateFailedAssetCountBySeverityResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAggregateFailedAssetCountBySeverityResponse do + let(:instance) { Falcon::DomainAggregateFailedAssetCountBySeverityResponse.new } + + describe 'test an instance of DomainAggregateFailedAssetCountBySeverityResponse' do + it 'should create an instance of DomainAggregateFailedAssetCountBySeverityResponse' do + expect(instance).to be_instance_of(Falcon::DomainAggregateFailedAssetCountBySeverityResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aggregate_failed_assets_by_rules_response_spec.rb b/spec/models/domain_aggregate_failed_assets_by_rules_response_spec.rb new file mode 100644 index 00000000..c6514b8d --- /dev/null +++ b/spec/models/domain_aggregate_failed_assets_by_rules_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAggregateFailedAssetsByRulesResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAggregateFailedAssetsByRulesResponse do + let(:instance) { Falcon::DomainAggregateFailedAssetsByRulesResponse.new } + + describe 'test an instance of DomainAggregateFailedAssetsByRulesResponse' do + it 'should create an instance of DomainAggregateFailedAssetsByRulesResponse' do + expect(instance).to be_instance_of(Falcon::DomainAggregateFailedAssetsByRulesResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aggregate_failed_rules_by_clusters_response_spec.rb b/spec/models/domain_aggregate_failed_rules_by_clusters_response_spec.rb new file mode 100644 index 00000000..f188bcc4 --- /dev/null +++ b/spec/models/domain_aggregate_failed_rules_by_clusters_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAggregateFailedRulesByClustersResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAggregateFailedRulesByClustersResponse do + let(:instance) { Falcon::DomainAggregateFailedRulesByClustersResponse.new } + + describe 'test an instance of DomainAggregateFailedRulesByClustersResponse' do + it 'should create an instance of DomainAggregateFailedRulesByClustersResponse' do + expect(instance).to be_instance_of(Falcon::DomainAggregateFailedRulesByClustersResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aggregate_failed_rules_by_images_response_spec.rb b/spec/models/domain_aggregate_failed_rules_by_images_response_spec.rb new file mode 100644 index 00000000..3223fdb4 --- /dev/null +++ b/spec/models/domain_aggregate_failed_rules_by_images_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAggregateFailedRulesByImagesResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAggregateFailedRulesByImagesResponse do + let(:instance) { Falcon::DomainAggregateFailedRulesByImagesResponse.new } + + describe 'test an instance of DomainAggregateFailedRulesByImagesResponse' do + it 'should create an instance of DomainAggregateFailedRulesByImagesResponse' do + expect(instance).to be_instance_of(Falcon::DomainAggregateFailedRulesByImagesResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aggregate_failed_rules_count_by_severity_response_spec.rb b/spec/models/domain_aggregate_failed_rules_count_by_severity_response_spec.rb new file mode 100644 index 00000000..d3bb851b --- /dev/null +++ b/spec/models/domain_aggregate_failed_rules_count_by_severity_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAggregateFailedRulesCountBySeverityResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAggregateFailedRulesCountBySeverityResponse do + let(:instance) { Falcon::DomainAggregateFailedRulesCountBySeverityResponse.new } + + describe 'test an instance of DomainAggregateFailedRulesCountBySeverityResponse' do + it 'should create an instance of DomainAggregateFailedRulesCountBySeverityResponse' do + expect(instance).to be_instance_of(Falcon::DomainAggregateFailedRulesCountBySeverityResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aggregate_image_assessments_response_spec.rb b/spec/models/domain_aggregate_image_assessments_response_spec.rb new file mode 100644 index 00000000..8587ed6e --- /dev/null +++ b/spec/models/domain_aggregate_image_assessments_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAggregateImageAssessmentsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAggregateImageAssessmentsResponse do + let(:instance) { Falcon::DomainAggregateImageAssessmentsResponse.new } + + describe 'test an instance of DomainAggregateImageAssessmentsResponse' do + it 'should create an instance of DomainAggregateImageAssessmentsResponse' do + expect(instance).to be_instance_of(Falcon::DomainAggregateImageAssessmentsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aggregate_rules_assessments_response_spec.rb b/spec/models/domain_aggregate_rules_assessments_response_spec.rb new file mode 100644 index 00000000..7044056d --- /dev/null +++ b/spec/models/domain_aggregate_rules_assessments_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAggregateRulesAssessmentsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAggregateRulesAssessmentsResponse do + let(:instance) { Falcon::DomainAggregateRulesAssessmentsResponse.new } + + describe 'test an instance of DomainAggregateRulesAssessmentsResponse' do + it 'should create an instance of DomainAggregateRulesAssessmentsResponse' do + expect(instance).to be_instance_of(Falcon::DomainAggregateRulesAssessmentsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aggregate_rules_by_status_response_spec.rb b/spec/models/domain_aggregate_rules_by_status_response_spec.rb new file mode 100644 index 00000000..f129324d --- /dev/null +++ b/spec/models/domain_aggregate_rules_by_status_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAggregateRulesByStatusResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAggregateRulesByStatusResponse do + let(:instance) { Falcon::DomainAggregateRulesByStatusResponse.new } + + describe 'test an instance of DomainAggregateRulesByStatusResponse' do + it 'should create an instance of DomainAggregateRulesByStatusResponse' do + expect(instance).to be_instance_of(Falcon::DomainAggregateRulesByStatusResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_api_compliance_control_v1_spec.rb b/spec/models/domain_api_compliance_control_v1_spec.rb new file mode 100644 index 00000000..8b0f65a5 --- /dev/null +++ b/spec/models/domain_api_compliance_control_v1_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAPIComplianceControlV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAPIComplianceControlV1 do + let(:instance) { Falcon::DomainAPIComplianceControlV1.new } + + describe 'test an instance of DomainAPIComplianceControlV1' do + it 'should create an instance of DomainAPIComplianceControlV1' do + expect(instance).to be_instance_of(Falcon::DomainAPIComplianceControlV1) + end + end + describe 'test attribute "control"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_api_compliance_mapping_v1_spec.rb b/spec/models/domain_api_compliance_mapping_v1_spec.rb new file mode 100644 index 00000000..7ccb1209 --- /dev/null +++ b/spec/models/domain_api_compliance_mapping_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAPIComplianceMappingV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAPIComplianceMappingV1 do + let(:instance) { Falcon::DomainAPIComplianceMappingV1.new } + + describe 'test an instance of DomainAPIComplianceMappingV1' do + it 'should create an instance of DomainAPIComplianceMappingV1' do + expect(instance).to be_instance_of(Falcon::DomainAPIComplianceMappingV1) + end + end + describe 'test attribute "controls"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "framework"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_api_error_spec.rb b/spec/models/domain_api_error_spec.rb index 6c8d1722..3ae8eb73 100644 --- a/spec/models/domain_api_error_spec.rb +++ b/spec/models/domain_api_error_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::DomainAPIError) end end - describe 'test attribute "errors"' do + describe 'test attribute "code"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "message"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "resources"' do + describe 'test attribute "submission"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_api_evaluation_logic_item_v1_spec.rb b/spec/models/domain_api_evaluation_logic_item_v1_spec.rb index 3c4b647a..57a5aeae 100644 --- a/spec/models/domain_api_evaluation_logic_item_v1_spec.rb +++ b/spec/models/domain_api_evaluation_logic_item_v1_spec.rb @@ -54,12 +54,6 @@ end end - describe 'test attribute "description"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "determined_by_comparison"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -90,6 +84,12 @@ end end + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "title"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_api_evaluation_logic_v1_spec.rb b/spec/models/domain_api_evaluation_logic_v1_spec.rb index 8c7998a3..63486c96 100644 --- a/spec/models/domain_api_evaluation_logic_v1_spec.rb +++ b/spec/models/domain_api_evaluation_logic_v1_spec.rb @@ -54,19 +54,13 @@ end end - describe 'test attribute "created_timestamp"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "data_provider"' do + describe 'test attribute "complex_check_operator"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "host_info"' do + describe 'test attribute "created_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -84,12 +78,6 @@ end end - describe 'test attribute "scanner_id"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "updated_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_api_finding_rule_v1_spec.rb b/spec/models/domain_api_finding_rule_v1_spec.rb index af74874f..b8cacd4b 100644 --- a/spec/models/domain_api_finding_rule_v1_spec.rb +++ b/spec/models/domain_api_finding_rule_v1_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "compliance_mappings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "edited"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_api_host_info_facet_v1_spec.rb b/spec/models/domain_api_host_info_facet_v1_spec.rb index 99b36e3c..a24d9289 100644 --- a/spec/models/domain_api_host_info_facet_v1_spec.rb +++ b/spec/models/domain_api_host_info_facet_v1_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::DomainAPIHostInfoFacetV1) end end + describe 'test attribute "agent_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "asset_criticality"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_api_remediation_info_spec.rb b/spec/models/domain_api_remediation_info_spec.rb new file mode 100644 index 00000000..6e3db38d --- /dev/null +++ b/spec/models/domain_api_remediation_info_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAPIRemediationInfo +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAPIRemediationInfo do + let(:instance) { Falcon::DomainAPIRemediationInfo.new } + + describe 'test an instance of DomainAPIRemediationInfo' do + it 'should create an instance of DomainAPIRemediationInfo' do + expect(instance).to be_instance_of(Falcon::DomainAPIRemediationInfo) + end + end + describe 'test attribute "minimum_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "patch_publication_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recommended_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_api_remediation_v2_spec.rb b/spec/models/domain_api_remediation_v2_spec.rb index e53b18c4..82450f0d 100644 --- a/spec/models/domain_api_remediation_v2_spec.rb +++ b/spec/models/domain_api_remediation_v2_spec.rb @@ -60,6 +60,18 @@ end end + describe 'test attribute "patch_publication_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recommendation_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "reference"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_api_rule_details_v1_spec.rb b/spec/models/domain_api_rule_details_v1_spec.rb index f00b8a47..13eb1b4f 100644 --- a/spec/models/domain_api_rule_details_v1_spec.rb +++ b/spec/models/domain_api_rule_details_v1_spec.rb @@ -78,6 +78,12 @@ end end + describe 'test attribute "compliance_mappings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "description"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_api_vulnerability_app_v2_spec.rb b/spec/models/domain_api_vulnerability_app_v2_spec.rb index b9b75ea2..502dd9be 100644 --- a/spec/models/domain_api_vulnerability_app_v2_spec.rb +++ b/spec/models/domain_api_vulnerability_app_v2_spec.rb @@ -54,4 +54,10 @@ end end + describe 'test attribute "vendor_normalized"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/domain_api_vulnerability_cve_details_facet_v2_spec.rb b/spec/models/domain_api_vulnerability_cve_details_facet_v2_spec.rb index cf04607b..7d809d6d 100644 --- a/spec/models/domain_api_vulnerability_cve_details_facet_v2_spec.rb +++ b/spec/models/domain_api_vulnerability_cve_details_facet_v2_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "cwes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "description"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_api_vulnerability_extended_app_v2_spec.rb b/spec/models/domain_api_vulnerability_extended_app_v2_spec.rb index 9bb7c71b..9945a43a 100644 --- a/spec/models/domain_api_vulnerability_extended_app_v2_spec.rb +++ b/spec/models/domain_api_vulnerability_extended_app_v2_spec.rb @@ -48,6 +48,12 @@ end end + describe 'test attribute "patch_publication_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "product_name_normalized"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -66,10 +72,22 @@ end end + describe 'test attribute "remediation_info"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "sub_status"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "vendor_normalized"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/domain_api_vulnerability_host_facet_v2_spec.rb b/spec/models/domain_api_vulnerability_host_facet_v2_spec.rb index df9e20e1..2cb94d69 100644 --- a/spec/models/domain_api_vulnerability_host_facet_v2_spec.rb +++ b/spec/models/domain_api_vulnerability_host_facet_v2_spec.rb @@ -54,12 +54,24 @@ end end + describe 'test attribute "confidence_label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "groups"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "has_run_container"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "host_last_seen_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -150,6 +162,12 @@ end end + describe 'test attribute "subsidiaries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "system_manufacturer"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_api_vulnerability_service_v2_spec.rb b/spec/models/domain_api_vulnerability_service_v2_spec.rb new file mode 100644 index 00000000..61cd078e --- /dev/null +++ b/spec/models/domain_api_vulnerability_service_v2_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAPIVulnerabilityServiceV2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAPIVulnerabilityServiceV2 do + let(:instance) { Falcon::DomainAPIVulnerabilityServiceV2.new } + + describe 'test an instance of DomainAPIVulnerabilityServiceV2' do + it 'should create an instance of DomainAPIVulnerabilityServiceV2' do + expect(instance).to be_instance_of(Falcon::DomainAPIVulnerabilityServiceV2) + end + end + describe 'test attribute "port"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "protocol"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "transport"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_api_vulnerability_v2_spec.rb b/spec/models/domain_api_vulnerability_v2_spec.rb index 65911812..a0cb1968 100644 --- a/spec/models/domain_api_vulnerability_v2_spec.rb +++ b/spec/models/domain_api_vulnerability_v2_spec.rb @@ -72,6 +72,12 @@ end end + describe 'test attribute "confidence"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "created_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -108,6 +114,12 @@ end end + describe 'test attribute "services"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "status"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_assessment_paging_spec.rb b/spec/models/domain_assessment_paging_spec.rb new file mode 100644 index 00000000..7a37bdcf --- /dev/null +++ b/spec/models/domain_assessment_paging_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAssessmentPaging +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAssessmentPaging do + let(:instance) { Falcon::DomainAssessmentPaging.new } + + describe 'test an instance of DomainAssessmentPaging' do + it 'should create an instance of DomainAssessmentPaging' do + expect(instance).to be_instance_of(Falcon::DomainAssessmentPaging) + end + end + describe 'test attribute "expires_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "limit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "offset"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aws_account_resource_metadata_spec.rb b/spec/models/domain_aws_account_resource_metadata_spec.rb new file mode 100644 index 00000000..65961794 --- /dev/null +++ b/spec/models/domain_aws_account_resource_metadata_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAWSAccountResourceMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAWSAccountResourceMetadata do + let(:instance) { Falcon::DomainAWSAccountResourceMetadata.new } + + describe 'test an instance of DomainAWSAccountResourceMetadata' do + it 'should create an instance of DomainAWSAccountResourceMetadata' do + expect(instance).to be_instance_of(Falcon::DomainAWSAccountResourceMetadata) + end + end + describe 'test attribute "aws_cloudtrail_bucket_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "aws_cloudtrail_region"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "aws_eventbus_arn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "eventbus_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "external_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "iam_role_arn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "intermediate_role_arn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_aws_account_v2_spec.rb b/spec/models/domain_aws_account_v2_spec.rb index fc33c67c..8416400c 100644 --- a/spec/models/domain_aws_account_v2_spec.rb +++ b/spec/models/domain_aws_account_v2_spec.rb @@ -162,6 +162,18 @@ end end + describe 'test attribute "dspm_enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dspm_role_arn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "environment"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -192,6 +204,12 @@ end end + describe 'test attribute "inventory_filter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "is_cspm_lite"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -216,6 +234,12 @@ end end + describe 'test attribute "products"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "remediation_cloudformation_url"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -270,6 +294,12 @@ end end + describe 'test attribute "target_ous"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "use_existing_cloudtrail"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_aws_inventory_filter_setting_spec.rb b/spec/models/domain_aws_inventory_filter_setting_spec.rb new file mode 100644 index 00000000..04c29686 --- /dev/null +++ b/spec/models/domain_aws_inventory_filter_setting_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainAWSInventoryFilterSetting +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainAWSInventoryFilterSetting do + let(:instance) { Falcon::DomainAWSInventoryFilterSetting.new } + + describe 'test an instance of DomainAWSInventoryFilterSetting' do + it 'should create an instance of DomainAWSInventoryFilterSetting' do + expect(instance).to be_instance_of(Falcon::DomainAWSInventoryFilterSetting) + end + end + describe 'test attribute "account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "regions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_base_api_vulnerability_v2_spec.rb b/spec/models/domain_base_api_vulnerability_v2_spec.rb index 0470d2cb..ceed21aa 100644 --- a/spec/models/domain_base_api_vulnerability_v2_spec.rb +++ b/spec/models/domain_base_api_vulnerability_v2_spec.rb @@ -72,6 +72,12 @@ end end + describe 'test attribute "confidence"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "created_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -108,6 +114,12 @@ end end + describe 'test attribute "services"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "status"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_behavior_spec.rb b/spec/models/domain_behavior_spec.rb index 4260a568..2c5a90f3 100644 --- a/spec/models/domain_behavior_spec.rb +++ b/spec/models/domain_behavior_spec.rb @@ -108,6 +108,12 @@ end end + describe 'test attribute "grouping_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "incident_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_case_creation_request_v2_spec.rb b/spec/models/domain_case_creation_request_v2_spec.rb index 90555b62..4b07a60e 100644 --- a/spec/models/domain_case_creation_request_v2_spec.rb +++ b/spec/models/domain_case_creation_request_v2_spec.rb @@ -60,6 +60,18 @@ end end + describe 'test attribute "malware_submission_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recon_rule_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "title"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_cipher_spec.rb b/spec/models/domain_cipher_spec.rb new file mode 100644 index 00000000..dcbb77dc --- /dev/null +++ b/spec/models/domain_cipher_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCipher +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCipher do + let(:instance) { Falcon::DomainCipher.new } + + describe 'test an instance of DomainCipher' do + it 'should create an instance of DomainCipher' do + expect(instance).to be_instance_of(Falcon::DomainCipher) + end + end + describe 'test attribute "bits"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cisa_known_exploited_vulnerabilities_info_spec.rb b/spec/models/domain_cisa_known_exploited_vulnerabilities_info_spec.rb new file mode 100644 index 00000000..cafd8b1a --- /dev/null +++ b/spec/models/domain_cisa_known_exploited_vulnerabilities_info_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCISAKnownExploitedVulnerabilitiesInfo +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCISAKnownExploitedVulnerabilitiesInfo do + let(:instance) { Falcon::DomainCISAKnownExploitedVulnerabilitiesInfo.new } + + describe 'test an instance of DomainCISAKnownExploitedVulnerabilitiesInfo' do + it 'should create an instance of DomainCISAKnownExploitedVulnerabilitiesInfo' do + expect(instance).to be_instance_of(Falcon::DomainCISAKnownExploitedVulnerabilitiesInfo) + end + end + describe 'test attribute "due_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_cisa_kev"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cloud_aws_account_v1_spec.rb b/spec/models/domain_cloud_aws_account_v1_spec.rb new file mode 100644 index 00000000..aeac2064 --- /dev/null +++ b/spec/models/domain_cloud_aws_account_v1_spec.rb @@ -0,0 +1,189 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCloudAWSAccountV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCloudAWSAccountV1 do + let(:instance) { Falcon::DomainCloudAWSAccountV1.new } + + describe 'test an instance of DomainCloudAWSAccountV1' do + it 'should create an instance of DomainCloudAWSAccountV1' do + expect(instance).to be_instance_of(Falcon::DomainCloudAWSAccountV1) + end + end + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "account_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "account_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "active_regions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "csp_events"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "environment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "iam_service_permissions_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "inventory_filter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_custom_rolename"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_master"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "organization_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "products"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_metadata"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "root_account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "root_iam_role"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "target_ous"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "use_existing_cloudtrail"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cloud_condition_spec.rb b/spec/models/domain_cloud_condition_spec.rb new file mode 100644 index 00000000..c13b8270 --- /dev/null +++ b/spec/models/domain_cloud_condition_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCloudCondition +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCloudCondition do + let(:instance) { Falcon::DomainCloudCondition.new } + + describe 'test an instance of DomainCloudCondition' do + it 'should create an instance of DomainCloudCondition' do + expect(instance).to be_instance_of(Falcon::DomainCloudCondition) + end + end + describe 'test attribute "feature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_visible"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_transition"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "product"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_compliance_findings_grouped_by_images_with_scroll_spec.rb b/spec/models/domain_compliance_findings_grouped_by_images_with_scroll_spec.rb new file mode 100644 index 00000000..89cd47ec --- /dev/null +++ b/spec/models/domain_compliance_findings_grouped_by_images_with_scroll_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainComplianceFindingsGroupedByImagesWithScroll +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainComplianceFindingsGroupedByImagesWithScroll do + let(:instance) { Falcon::DomainComplianceFindingsGroupedByImagesWithScroll.new } + + describe 'test an instance of DomainComplianceFindingsGroupedByImagesWithScroll' do + it 'should create an instance of DomainComplianceFindingsGroupedByImagesWithScroll' do + expect(instance).to be_instance_of(Falcon::DomainComplianceFindingsGroupedByImagesWithScroll) + end + end + describe 'test attribute "after"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_compliance_spec.rb b/spec/models/domain_compliance_spec.rb new file mode 100644 index 00000000..0c448d1a --- /dev/null +++ b/spec/models/domain_compliance_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCompliance +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCompliance do + let(:instance) { Falcon::DomainCompliance.new } + + describe 'test an instance of DomainCompliance' do + it 'should create an instance of DomainCompliance' do + expect(instance).to be_instance_of(Falcon::DomainCompliance) + end + end + describe 'test attribute "benchmarks"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "frameworks"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "requirements"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sections"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "versions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_condition_spec.rb b/spec/models/domain_condition_spec.rb index cc6e59af..53dcc203 100644 --- a/spec/models/domain_condition_spec.rb +++ b/spec/models/domain_condition_spec.rb @@ -42,6 +42,18 @@ expect(instance).to be_instance_of(Falcon::DomainCondition) end end + describe 'test attribute "feature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_visible"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "last_transition"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_config_v1_spec.rb b/spec/models/domain_config_v1_spec.rb new file mode 100644 index 00000000..0e0ecd77 --- /dev/null +++ b/spec/models/domain_config_v1_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainConfigV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainConfigV1 do + let(:instance) { Falcon::DomainConfigV1.new } + + describe 'test an instance of DomainConfigV1' do + it 'should create an instance of DomainConfigV1' do + expect(instance).to be_instance_of(Falcon::DomainConfigV1) + end + end + describe 'test attribute "app_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "config"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "config_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "definition_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/custom_type1255839303_spec.rb b/spec/models/domain_configs_v1_spec.rb similarity index 85% rename from spec/models/custom_type1255839303_spec.rb rename to spec/models/domain_configs_v1_spec.rb index f2064cf7..760c20d8 100644 --- a/spec/models/custom_type1255839303_spec.rb +++ b/spec/models/domain_configs_v1_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::CustomType1255839303 +# Unit tests for Falcon::DomainConfigsV1 # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::CustomType1255839303 do - let(:instance) { Falcon::CustomType1255839303.new } +describe Falcon::DomainConfigsV1 do + let(:instance) { Falcon::DomainConfigsV1.new } - describe 'test an instance of CustomType1255839303' do - it 'should create an instance of CustomType1255839303' do - expect(instance).to be_instance_of(Falcon::CustomType1255839303) + describe 'test an instance of DomainConfigsV1' do + it 'should create an instance of DomainConfigsV1' do + expect(instance).to be_instance_of(Falcon::DomainConfigsV1) end end describe 'test attribute "errors"' do diff --git a/spec/models/domain_content_package_spec.rb b/spec/models/domain_content_package_spec.rb new file mode 100644 index 00000000..75276ecd --- /dev/null +++ b/spec/models/domain_content_package_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainContentPackage +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainContentPackage do + let(:instance) { Falcon::DomainContentPackage.new } + + describe 'test an instance of DomainContentPackage' do + it 'should create an instance of DomainContentPackage' do + expect(instance).to be_instance_of(Falcon::DomainContentPackage) + end + end + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_control_benchmark_spec.rb b/spec/models/domain_control_benchmark_spec.rb new file mode 100644 index 00000000..a0317443 --- /dev/null +++ b/spec/models/domain_control_benchmark_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainControlBenchmark +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainControlBenchmark do + let(:instance) { Falcon::DomainControlBenchmark.new } + + describe 'test an instance of DomainControlBenchmark' do + it 'should create an instance of DomainControlBenchmark' do + expect(instance).to be_instance_of(Falcon::DomainControlBenchmark) + end + end + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_control_spec.rb b/spec/models/domain_control_spec.rb new file mode 100644 index 00000000..e27ec3ea --- /dev/null +++ b/spec/models/domain_control_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainControl +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainControl do + let(:instance) { Falcon::DomainControl.new } + + describe 'test an instance of DomainControl' do + it 'should create an instance of DomainControl' do + expect(instance).to be_instance_of(Falcon::DomainControl) + end + end + describe 'test attribute "benchmarks"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "framework"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "section"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cps_rating_history_entry_spec.rb b/spec/models/domain_cps_rating_history_entry_spec.rb new file mode 100644 index 00000000..a743f4da --- /dev/null +++ b/spec/models/domain_cps_rating_history_entry_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCPSRatingHistoryEntry +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCPSRatingHistoryEntry do + let(:instance) { Falcon::DomainCPSRatingHistoryEntry.new } + + describe 'test an instance of DomainCPSRatingHistoryEntry' do + it 'should create an instance of DomainCPSRatingHistoryEntry' do + expect(instance).to be_instance_of(Falcon::DomainCPSRatingHistoryEntry) + end + end + describe 'test attribute "date_recorded"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rating"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cps_rating_indicator_spec.rb b/spec/models/domain_cps_rating_indicator_spec.rb new file mode 100644 index 00000000..9a12b78e --- /dev/null +++ b/spec/models/domain_cps_rating_indicator_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCPSRatingIndicator +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCPSRatingIndicator do + let(:instance) { Falcon::DomainCPSRatingIndicator.new } + + describe 'test an instance of DomainCPSRatingIndicator' do + it 'should create an instance of DomainCPSRatingIndicator' do + expect(instance).to be_instance_of(Falcon::DomainCPSRatingIndicator) + end + end + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cps_rating_spec.rb b/spec/models/domain_cps_rating_spec.rb new file mode 100644 index 00000000..0a489814 --- /dev/null +++ b/spec/models/domain_cps_rating_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCPSRating +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCPSRating do + let(:instance) { Falcon::DomainCPSRating.new } + + describe 'test an instance of DomainCPSRating' do + it 'should create an instance of DomainCPSRating' do + expect(instance).to be_instance_of(Falcon::DomainCPSRating) + end + end + describe 'test attribute "current_rating"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "highest_rating"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "negative_indicators"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "positive_indicators"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rating_history"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_create_submission_v1_error_response_spec.rb b/spec/models/domain_create_submission_v1_error_response_spec.rb new file mode 100644 index 00000000..103c2b36 --- /dev/null +++ b/spec/models/domain_create_submission_v1_error_response_spec.rb @@ -0,0 +1,71 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCreateSubmissionV1ErrorResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCreateSubmissionV1ErrorResponse do + let(:instance) { Falcon::DomainCreateSubmissionV1ErrorResponse.new } + + describe 'test an instance of DomainCreateSubmissionV1ErrorResponse' do + it 'should create an instance of DomainCreateSubmissionV1ErrorResponse' do + expect(instance).to be_instance_of(Falcon::DomainCreateSubmissionV1ErrorResponse) + end + end + describe 'test attribute "analyzer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["rapidscan"]) + # validator.allowable_values.each do |value| + # expect { instance.analyzer = value }.not_to raise_error + # end + end + end + + describe 'test attribute "entity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["file"]) + # validator.allowable_values.each do |value| + # expect { instance.type = value }.not_to raise_error + # end + end + end + +end diff --git a/spec/models/domain_credentials_spec.rb b/spec/models/domain_credentials_spec.rb index 8e7fb0f9..989407b9 100644 --- a/spec/models/domain_credentials_spec.rb +++ b/spec/models/domain_credentials_spec.rb @@ -42,19 +42,7 @@ expect(instance).to be_instance_of(Falcon::DomainCredentials) end end - describe 'test attribute "sites_all"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "sites_with_cookie_only"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "sites_with_password"' do + describe 'test attribute "token"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_cve_exploit_reference_spec.rb b/spec/models/domain_cve_exploit_reference_spec.rb new file mode 100644 index 00000000..788e6204 --- /dev/null +++ b/spec/models/domain_cve_exploit_reference_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCVEExploitReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCVEExploitReference do + let(:instance) { Falcon::DomainCVEExploitReference.new } + + describe 'test an instance of DomainCVEExploitReference' do + it 'should create an instance of DomainCVEExploitReference' do + expect(instance).to be_instance_of(Falcon::DomainCVEExploitReference) + end + end + describe 'test attribute "kind"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cve_exploit_source_spec.rb b/spec/models/domain_cve_exploit_source_spec.rb new file mode 100644 index 00000000..5bcdbb14 --- /dev/null +++ b/spec/models/domain_cve_exploit_source_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCVEExploitSource +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCVEExploitSource do + let(:instance) { Falcon::DomainCVEExploitSource.new } + + describe 'test an instance of DomainCVEExploitSource' do + it 'should create an instance of DomainCVEExploitSource' do + expect(instance).to be_instance_of(Falcon::DomainCVEExploitSource) + end + end + describe 'test attribute "is_flat"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "label"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "references"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cve_exploit_spec.rb b/spec/models/domain_cve_exploit_spec.rb new file mode 100644 index 00000000..08965b36 --- /dev/null +++ b/spec/models/domain_cve_exploit_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCVEExploit +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCVEExploit do + let(:instance) { Falcon::DomainCVEExploit.new } + + describe 'test an instance of DomainCVEExploit' do + it 'should create an instance of DomainCVEExploit' do + expect(instance).to be_instance_of(Falcon::DomainCVEExploit) + end + end + describe 'test attribute "date_recorded"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cve_spec.rb b/spec/models/domain_cve_spec.rb new file mode 100644 index 00000000..95ea164a --- /dev/null +++ b/spec/models/domain_cve_spec.rb @@ -0,0 +1,195 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCVE +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCVE do + let(:instance) { Falcon::DomainCVE.new } + + describe 'test an instance of DomainCVE' do + it 'should create an instance of DomainCVE' do + expect(instance).to be_instance_of(Falcon::DomainCVE) + end + end + describe 'test attribute "actors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "additional_info"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "base_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cisa_kev_info"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_packages"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cps_rating"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cvss_v2_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cvss_v3_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cvss_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploitability_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploited"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "impact_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_supported"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "metadata_hash"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "published_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "references"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "severity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "spotlight_published_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vector"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_cvssv2_spec.rb b/spec/models/domain_cvssv2_spec.rb new file mode 100644 index 00000000..63b27557 --- /dev/null +++ b/spec/models/domain_cvssv2_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainCVSSv2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainCVSSv2 do + let(:instance) { Falcon::DomainCVSSv2.new } + + describe 'test an instance of DomainCVSSv2' do + it 'should create an instance of DomainCVSSv2' do + expect(instance).to be_instance_of(Falcon::DomainCVSSv2) + end + end + describe 'test attribute "base_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploitability_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "impact_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "severity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vector"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_ddos_attack_source_spec.rb b/spec/models/domain_cvssv3_spec.rb similarity index 77% rename from spec/models/domain_ddos_attack_source_spec.rb rename to spec/models/domain_cvssv3_spec.rb index 8f2d4ba6..29321ab2 100644 --- a/spec/models/domain_ddos_attack_source_spec.rb +++ b/spec/models/domain_cvssv3_spec.rb @@ -31,90 +31,90 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainDDOSAttackSource +# Unit tests for Falcon::DomainCVSSv3 # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainDDOSAttackSource do - let(:instance) { Falcon::DomainDDOSAttackSource.new } +describe Falcon::DomainCVSSv3 do + let(:instance) { Falcon::DomainCVSSv3.new } - describe 'test an instance of DomainDDOSAttackSource' do - it 'should create an instance of DomainDDOSAttackSource' do - expect(instance).to be_instance_of(Falcon::DomainDDOSAttackSource) + describe 'test an instance of DomainCVSSv3' do + it 'should create an instance of DomainCVSSv3' do + expect(instance).to be_instance_of(Falcon::DomainCVSSv3) end end - describe 'test attribute "attack_type"' do + describe 'test attribute "attack_complexity"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "confidence"' do + describe 'test attribute "attack_vector"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "duration"' do + describe 'test attribute "availability_impact"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "key"' do + describe 'test attribute "base_score"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "network_protocol"' do + describe 'test attribute "confidentiality_impact"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "protocols"' do + describe 'test attribute "exploitability_score"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "requests"' do + describe 'test attribute "impact_score"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "start_time"' do + describe 'test attribute "integrity_impact"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "target"' do + describe 'test attribute "privileges_required"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "target_details"' do + describe 'test attribute "scope"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "target_domain"' do + describe 'test attribute "severity"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "target_ip"' do + describe 'test attribute "user_interaction"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "target_ports"' do + describe 'test attribute "vector"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_denormalized_adversary_reference_spec.rb b/spec/models/domain_denormalized_adversary_reference_spec.rb new file mode 100644 index 00000000..061b8843 --- /dev/null +++ b/spec/models/domain_denormalized_adversary_reference_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDenormalizedAdversaryReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDenormalizedAdversaryReference do + let(:instance) { Falcon::DomainDenormalizedAdversaryReference.new } + + describe 'test an instance of DomainDenormalizedAdversaryReference' do + it 'should create an instance of DomainDenormalizedAdversaryReference' do + expect(instance).to be_instance_of(Falcon::DomainDenormalizedAdversaryReference) + end + end + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_denormalized_country_spec.rb b/spec/models/domain_denormalized_country_spec.rb new file mode 100644 index 00000000..32571b86 --- /dev/null +++ b/spec/models/domain_denormalized_country_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDenormalizedCountry +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDenormalizedCountry do + let(:instance) { Falcon::DomainDenormalizedCountry.new } + + describe 'test an instance of DomainDenormalizedCountry' do + it 'should create an instance of DomainDenormalizedCountry' do + expect(instance).to be_instance_of(Falcon::DomainDenormalizedCountry) + end + end + describe 'test attribute "code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_denormalized_customer_target_spec.rb b/spec/models/domain_denormalized_customer_target_spec.rb new file mode 100644 index 00000000..2d790d57 --- /dev/null +++ b/spec/models/domain_denormalized_customer_target_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDenormalizedCustomerTarget +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDenormalizedCustomerTarget do + let(:instance) { Falcon::DomainDenormalizedCustomerTarget.new } + + describe 'test an instance of DomainDenormalizedCustomerTarget' do + it 'should create an instance of DomainDenormalizedCustomerTarget' do + expect(instance).to be_instance_of(Falcon::DomainDenormalizedCustomerTarget) + end + end + describe 'test attribute "customer_target"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_denormalized_report_reference_spec.rb b/spec/models/domain_denormalized_report_reference_spec.rb new file mode 100644 index 00000000..1bbcfd3a --- /dev/null +++ b/spec/models/domain_denormalized_report_reference_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDenormalizedReportReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDenormalizedReportReference do + let(:instance) { Falcon::DomainDenormalizedReportReference.new } + + describe 'test an instance of DomainDenormalizedReportReference' do + it 'should create an instance of DomainDenormalizedReportReference' do + expect(instance).to be_instance_of(Falcon::DomainDenormalizedReportReference) + end + end + describe 'test attribute "publish_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "report_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_vulnerability_actor_spec.rb b/spec/models/domain_denormalized_sector_spec.rb similarity index 82% rename from spec/models/domain_vulnerability_actor_spec.rb rename to spec/models/domain_denormalized_sector_spec.rb index dd5ed964..89116c8a 100644 --- a/spec/models/domain_vulnerability_actor_spec.rb +++ b/spec/models/domain_denormalized_sector_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainVulnerabilityActor +# Unit tests for Falcon::DomainDenormalizedSector # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainVulnerabilityActor do - let(:instance) { Falcon::DomainVulnerabilityActor.new } +describe Falcon::DomainDenormalizedSector do + let(:instance) { Falcon::DomainDenormalizedSector.new } - describe 'test an instance of DomainVulnerabilityActor' do - it 'should create an instance of DomainVulnerabilityActor' do - expect(instance).to be_instance_of(Falcon::DomainVulnerabilityActor) + describe 'test an instance of DomainDenormalizedSector' do + it 'should create an instance of DomainDenormalizedSector' do + expect(instance).to be_instance_of(Falcon::DomainDenormalizedSector) end end describe 'test attribute "id"' do diff --git a/spec/models/domain_denormalized_threat_reference_spec.rb b/spec/models/domain_denormalized_threat_reference_spec.rb new file mode 100644 index 00000000..cbf7b5a6 --- /dev/null +++ b/spec/models/domain_denormalized_threat_reference_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDenormalizedThreatReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDenormalizedThreatReference do + let(:instance) { Falcon::DomainDenormalizedThreatReference.new } + + describe 'test an instance of DomainDenormalizedThreatReference' do + it 'should create an instance of DomainDenormalizedThreatReference' do + expect(instance).to be_instance_of(Falcon::DomainDenormalizedThreatReference) + end + end + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "slug"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_denormalized_threat_used_mitre_spec.rb b/spec/models/domain_denormalized_threat_used_mitre_spec.rb new file mode 100644 index 00000000..c7389b3a --- /dev/null +++ b/spec/models/domain_denormalized_threat_used_mitre_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDenormalizedThreatUsedMitre +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDenormalizedThreatUsedMitre do + let(:instance) { Falcon::DomainDenormalizedThreatUsedMitre.new } + + describe 'test an instance of DomainDenormalizedThreatUsedMitre' do + it 'should create an instance of DomainDenormalizedThreatUsedMitre' do + expect(instance).to be_instance_of(Falcon::DomainDenormalizedThreatUsedMitre) + end + end + describe 'test attribute "attack_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "observables"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reports"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tactic_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tactic_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "technique_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "technique_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_device_spec.rb b/spec/models/domain_device_spec.rb index 7bdab69c..e5aa39a4 100644 --- a/spec/models/domain_device_spec.rb +++ b/spec/models/domain_device_spec.rb @@ -42,7 +42,7 @@ expect(instance).to be_instance_of(Falcon::DomainDevice) end end - describe 'test attribute "platform_id_numeric"' do + describe 'test attribute "_"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_discover_api_application_browser_extension_installation_spec.rb b/spec/models/domain_discover_api_application_browser_extension_installation_spec.rb new file mode 100644 index 00000000..81613a6e --- /dev/null +++ b/spec/models/domain_discover_api_application_browser_extension_installation_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDiscoverAPIApplicationBrowserExtensionInstallation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDiscoverAPIApplicationBrowserExtensionInstallation do + let(:instance) { Falcon::DomainDiscoverAPIApplicationBrowserExtensionInstallation.new } + + describe 'test an instance of DomainDiscoverAPIApplicationBrowserExtensionInstallation' do + it 'should create an instance of DomainDiscoverAPIApplicationBrowserExtensionInstallation' do + expect(instance).to be_instance_of(Falcon::DomainDiscoverAPIApplicationBrowserExtensionInstallation) + end + end + describe 'test attribute "browser_profile_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "browser_profile_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "browser_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "method"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "role"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_sid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "username"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_discover_api_application_browser_extension_spec.rb b/spec/models/domain_discover_api_application_browser_extension_spec.rb new file mode 100644 index 00000000..7411cf54 --- /dev/null +++ b/spec/models/domain_discover_api_application_browser_extension_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDiscoverAPIApplicationBrowserExtension +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDiscoverAPIApplicationBrowserExtension do + let(:instance) { Falcon::DomainDiscoverAPIApplicationBrowserExtension.new } + + describe 'test an instance of DomainDiscoverAPIApplicationBrowserExtension' do + it 'should create an instance of DomainDiscoverAPIApplicationBrowserExtension' do + expect(instance).to be_instance_of(Falcon::DomainDiscoverAPIApplicationBrowserExtension) + end + end + describe 'test attribute "architecture"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "browser_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "installations"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "permission_severity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "permissions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "store_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_discover_api_application_spec.rb b/spec/models/domain_discover_api_application_spec.rb index b08f5b5d..5c5d8a7e 100644 --- a/spec/models/domain_discover_api_application_spec.rb +++ b/spec/models/domain_discover_api_application_spec.rb @@ -48,6 +48,12 @@ end end + describe 'test attribute "browser_extension"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "category"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -162,6 +168,12 @@ end end + describe 'test attribute "software_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "vendor"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_discover_api_combined_applications_response_spec.rb b/spec/models/domain_discover_api_combined_applications_response_spec.rb new file mode 100644 index 00000000..adca28d6 --- /dev/null +++ b/spec/models/domain_discover_api_combined_applications_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDiscoverAPICombinedApplicationsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDiscoverAPICombinedApplicationsResponse do + let(:instance) { Falcon::DomainDiscoverAPICombinedApplicationsResponse.new } + + describe 'test an instance of DomainDiscoverAPICombinedApplicationsResponse' do + it 'should create an instance of DomainDiscoverAPICombinedApplicationsResponse' do + expect(instance).to be_instance_of(Falcon::DomainDiscoverAPICombinedApplicationsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_discover_api_combined_hosts_response_spec.rb b/spec/models/domain_discover_api_combined_hosts_response_spec.rb new file mode 100644 index 00000000..b494d037 --- /dev/null +++ b/spec/models/domain_discover_api_combined_hosts_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDiscoverAPICombinedHostsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDiscoverAPICombinedHostsResponse do + let(:instance) { Falcon::DomainDiscoverAPICombinedHostsResponse.new } + + describe 'test an instance of DomainDiscoverAPICombinedHostsResponse' do + it 'should create an instance of DomainDiscoverAPICombinedHostsResponse' do + expect(instance).to be_instance_of(Falcon::DomainDiscoverAPICombinedHostsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_discover_api_host_spec.rb b/spec/models/domain_discover_api_host_spec.rb index 505910b2..7eccb729 100644 --- a/spec/models/domain_discover_api_host_spec.rb +++ b/spec/models/domain_discover_api_host_spec.rb @@ -138,6 +138,12 @@ end end + describe 'test attribute "business_criticality"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "cid"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -150,6 +156,12 @@ end end + describe 'test attribute "claroty_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "classification"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -312,6 +324,36 @@ end end + describe 'test attribute "device_class"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "device_family"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "device_mode"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "device_slots"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "device_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "discoverer_aids"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -336,6 +378,12 @@ end end + describe 'test attribute "discoverer_ics_collector_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "discoverer_platform_names"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -366,6 +414,12 @@ end end + describe 'test attribute "dragos_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "email"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -444,6 +498,12 @@ end end + describe 'test attribute "ics_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -492,6 +552,12 @@ end end + describe 'test attribute "last_discoverer_ics_collector_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "last_seen_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -558,18 +624,36 @@ end end + describe 'test attribute "memory_total"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "mount_storage_info"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "network_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "network_interfaces"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "network_scanned_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "number_of_disk_drives"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -612,6 +696,24 @@ end end + describe 'test attribute "ot_information_sources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ot_network_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ot_serial_numbers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "ou"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -672,6 +774,30 @@ end end + describe 'test attribute "protocols"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "purdue_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "qualys_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "qualys_network_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "reduced_functionality_mode"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -696,6 +822,12 @@ end end + describe 'test attribute "subnet"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "system_manufacturer"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -792,4 +924,22 @@ end end + describe 'test attribute "virtual_zone"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vlan"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "xdome_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/msaspec_meta_info_spec.rb b/spec/models/domain_discover_api_meta_info_spec.rb similarity index 86% rename from spec/models/msaspec_meta_info_spec.rb rename to spec/models/domain_discover_api_meta_info_spec.rb index 5fd41bdf..5024c5b3 100644 --- a/spec/models/msaspec_meta_info_spec.rb +++ b/spec/models/domain_discover_api_meta_info_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::MsaspecMetaInfo +# Unit tests for Falcon::DomainDiscoverAPIMetaInfo # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::MsaspecMetaInfo do - let(:instance) { Falcon::MsaspecMetaInfo.new } +describe Falcon::DomainDiscoverAPIMetaInfo do + let(:instance) { Falcon::DomainDiscoverAPIMetaInfo.new } - describe 'test an instance of MsaspecMetaInfo' do - it 'should create an instance of MsaspecMetaInfo' do - expect(instance).to be_instance_of(Falcon::MsaspecMetaInfo) + describe 'test an instance of DomainDiscoverAPIMetaInfo' do + it 'should create an instance of DomainDiscoverAPIMetaInfo' do + expect(instance).to be_instance_of(Falcon::DomainDiscoverAPIMetaInfo) end end describe 'test attribute "pagination"' do diff --git a/spec/models/domain_discover_api_paging_spec.rb b/spec/models/domain_discover_api_paging_spec.rb new file mode 100644 index 00000000..29589542 --- /dev/null +++ b/spec/models/domain_discover_api_paging_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDiscoverAPIPaging +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDiscoverAPIPaging do + let(:instance) { Falcon::DomainDiscoverAPIPaging.new } + + describe 'test an instance of DomainDiscoverAPIPaging' do + it 'should create an instance of DomainDiscoverAPIPaging' do + expect(instance).to be_instance_of(Falcon::DomainDiscoverAPIPaging) + end + end + describe 'test attribute "after"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "limit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_discover_api_response_spec.rb b/spec/models/domain_discover_api_response_spec.rb new file mode 100644 index 00000000..8dac3b47 --- /dev/null +++ b/spec/models/domain_discover_api_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDiscoverAPIResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDiscoverAPIResponse do + let(:instance) { Falcon::DomainDiscoverAPIResponse.new } + + describe 'test an instance of DomainDiscoverAPIResponse' do + it 'should create an instance of DomainDiscoverAPIResponse' do + expect(instance).to be_instance_of(Falcon::DomainDiscoverAPIResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_discover_apiio_t_host_spec.rb b/spec/models/domain_discover_apiio_t_host_spec.rb index 8f523af9..caccc6e0 100644 --- a/spec/models/domain_discover_apiio_t_host_spec.rb +++ b/spec/models/domain_discover_apiio_t_host_spec.rb @@ -42,6 +42,18 @@ expect(instance).to be_instance_of(Falcon::DomainDiscoverAPIIoTHost) end end + describe 'test attribute "account_enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ad_user_account_control"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "agent_version"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -54,24 +66,54 @@ end end + describe 'test attribute "asset_roles"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "assigned_to"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "available_disk_space"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "available_disk_space_pct"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "average_memory_usage"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "average_memory_usage_pct"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "average_processor_usage"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "bios_hashes_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "bios_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -114,6 +156,18 @@ end end + describe 'test attribute "classification"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "computed_asset_roles"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "computed_internet_exposure"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -144,13 +198,49 @@ end end + describe 'test attribute "cpu_manufacturer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "cpu_processor_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "credential_guard_status"' do + describe 'test attribute "creation_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality_description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality_rule_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality_username"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -162,6 +252,12 @@ end end + describe 'test attribute "current_network_prefix"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "data_providers"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -174,6 +270,18 @@ end end + describe 'test attribute "department"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "descriptions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "device_class"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -186,7 +294,7 @@ end end - describe 'test attribute "device_guard_status"' do + describe 'test attribute "device_mode"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -204,24 +312,60 @@ end end + describe 'test attribute "discoverer_aids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "discoverer_count"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "discoverer_criticalities"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "discoverer_hostnames"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "discoverer_ics_collector_ids"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "discoverer_platform_names"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "discoverer_product_type_descs"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "discoverer_tags"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "discovering_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "disk_sizes"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -234,6 +378,12 @@ end end + describe 'test attribute "email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "encrypted_drives"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -270,12 +420,30 @@ end end + describe 'test attribute "first_discoverer_aid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "first_seen_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "form_factor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fqdn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "groups"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -306,13 +474,19 @@ end end - describe 'test attribute "iommu_protection_status"' do + describe 'test attribute "internet_exposure_description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "internet_exposure_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "kernel_dma_protection_status"' do + describe 'test attribute "internet_exposure_username"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -324,6 +498,18 @@ end end + describe 'test attribute "last_discoverer_aid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_discoverer_hostname"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "last_discoverer_ics_collector_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -348,6 +534,12 @@ end end + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "logical_core_count"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -366,12 +558,24 @@ end end + describe 'test attribute "managed_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "max_memory_usage"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "max_memory_usage_pct"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "max_processor_usage"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -408,12 +612,36 @@ end end + describe 'test attribute "object_guid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "object_sid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "os_is_eol"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "os_security"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "os_service_pack"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "os_version"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -426,6 +654,12 @@ end end + describe 'test attribute "ot_network_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "ot_serial_numbers"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -438,67 +672,79 @@ end end - describe 'test attribute "physical_core_count"' do + describe 'test attribute "override_asset_roles"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "platform_name"' do + describe 'test attribute "override_criticality_rules"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "processor_package_count"' do + describe 'test attribute "override_internet_exposure"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "product_type"' do + describe 'test attribute "owned_by"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "product_type_desc"' do + describe 'test attribute "physical_core_count"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "protocols"' do + describe 'test attribute "platform_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "purdue_level"' do + describe 'test attribute "processor_package_count"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "reduced_functionality_mode"' do + describe 'test attribute "product_type"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "secure_boot_enabled_status"' do + describe 'test attribute "product_type_desc"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "secure_boot_requested_status"' do + describe 'test attribute "protocols"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "secure_memory_overwrite_requested_status"' do + describe 'test attribute "purdue_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reduced_functionality_mode"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "servicenow_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -510,13 +756,13 @@ end end - describe 'test attribute "subnet"' do + describe 'test attribute "state"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "system_guard_status"' do + describe 'test attribute "subnet"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -558,7 +804,13 @@ end end - describe 'test attribute "uefi_memory_protection_status"' do + describe 'test attribute "total_memory"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "triage"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -582,13 +834,31 @@ end end - describe 'test attribute "virtual_zone"' do + describe 'test attribute "used_disk_space_pct"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "used_for"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "virtualization_based_security_status"' do + describe 'test attribute "user_asset_roles"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_internet_exposure"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "virtual_zone"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_discover_apiio_t_host_triage_spec.rb b/spec/models/domain_discover_apiio_t_host_triage_spec.rb new file mode 100644 index 00000000..46319bb5 --- /dev/null +++ b/spec/models/domain_discover_apiio_t_host_triage_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainDiscoverAPIIoTHostTriage +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainDiscoverAPIIoTHostTriage do + let(:instance) { Falcon::DomainDiscoverAPIIoTHostTriage.new } + + describe 'test an instance of DomainDiscoverAPIIoTHostTriage' do + it 'should create an instance of DomainDiscoverAPIIoTHostTriage' do + expect(instance).to be_instance_of(Falcon::DomainDiscoverAPIIoTHostTriage) + end + end + describe 'test attribute "action"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "assigned_to"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_discover_params_spec.rb b/spec/models/domain_discover_params_spec.rb index 71d31a88..2a2ecf5f 100644 --- a/spec/models/domain_discover_params_spec.rb +++ b/spec/models/domain_discover_params_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "inline_app_filter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "requirement_criteria"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_api_evaluation_logic_host_info_v1_spec.rb b/spec/models/domain_execute_command_request_v1_spec.rb similarity index 76% rename from spec/models/domain_api_evaluation_logic_host_info_v1_spec.rb rename to spec/models/domain_execute_command_request_v1_spec.rb index 2b52ed91..99b5af28 100644 --- a/spec/models/domain_api_evaluation_logic_host_info_v1_spec.rb +++ b/spec/models/domain_execute_command_request_v1_spec.rb @@ -31,18 +31,18 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainAPIEvaluationLogicHostInfoV1 +# Unit tests for Falcon::DomainExecuteCommandRequestV1 # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainAPIEvaluationLogicHostInfoV1 do - let(:instance) { Falcon::DomainAPIEvaluationLogicHostInfoV1.new } +describe Falcon::DomainExecuteCommandRequestV1 do + let(:instance) { Falcon::DomainExecuteCommandRequestV1.new } - describe 'test an instance of DomainAPIEvaluationLogicHostInfoV1' do - it 'should create an instance of DomainAPIEvaluationLogicHostInfoV1' do - expect(instance).to be_instance_of(Falcon::DomainAPIEvaluationLogicHostInfoV1) + describe 'test an instance of DomainExecuteCommandRequestV1' do + it 'should create an instance of DomainExecuteCommandRequestV1' do + expect(instance).to be_instance_of(Falcon::DomainExecuteCommandRequestV1) end end - describe 'test attribute "entities_matched"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_execute_command_result_v1_spec.rb b/spec/models/domain_execute_command_result_v1_spec.rb new file mode 100644 index 00000000..755ff631 --- /dev/null +++ b/spec/models/domain_execute_command_result_v1_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExecuteCommandResultV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExecuteCommandResultV1 do + let(:instance) { Falcon::DomainExecuteCommandResultV1.new } + + describe 'test an instance of DomainExecuteCommandResultV1' do + it 'should create an instance of DomainExecuteCommandResultV1' do + expect(instance).to be_instance_of(Falcon::DomainExecuteCommandResultV1) + end + end + describe 'test attribute "headers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parsed_headers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "response_body"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_execute_command_results_v1_spec.rb b/spec/models/domain_execute_command_results_v1_spec.rb new file mode 100644 index 00000000..f60d2410 --- /dev/null +++ b/spec/models/domain_execute_command_results_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExecuteCommandResultsV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExecuteCommandResultsV1 do + let(:instance) { Falcon::DomainExecuteCommandResultsV1.new } + + describe 'test an instance of DomainExecuteCommandResultsV1' do + it 'should create an instance of DomainExecuteCommandResultsV1' do + expect(instance).to be_instance_of(Falcon::DomainExecuteCommandResultsV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_execute_command_v1_spec.rb b/spec/models/domain_execute_command_v1_spec.rb new file mode 100644 index 00000000..7cb8b90a --- /dev/null +++ b/spec/models/domain_execute_command_v1_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExecuteCommandV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExecuteCommandV1 do + let(:instance) { Falcon::DomainExecuteCommandV1.new } + + describe 'test an instance of DomainExecuteCommandV1' do + it 'should create an instance of DomainExecuteCommandV1' do + expect(instance).to be_instance_of(Falcon::DomainExecuteCommandV1) + end + end + describe 'test attribute "config_auth_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "config_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "definition_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "operation_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "request"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_execution_metadata_summary_spec.rb b/spec/models/domain_execution_metadata_summary_spec.rb index 47b88066..bf92ee32 100644 --- a/spec/models/domain_execution_metadata_summary_spec.rb +++ b/spec/models/domain_execution_metadata_summary_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::DomainExecutionMetadataSummary) end end + describe 'test attribute "report_params"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "subtype"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_execution_metadata_v1_spec.rb b/spec/models/domain_execution_metadata_v1_spec.rb index 442c0741..7d529b52 100644 --- a/spec/models/domain_execution_metadata_v1_spec.rb +++ b/spec/models/domain_execution_metadata_v1_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::DomainExecutionMetadataV1) end end + describe 'test attribute "report_params"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "retry_allowed"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_external_asset_api_delete_request_v1_spec.rb b/spec/models/domain_external_asset_api_delete_request_v1_spec.rb new file mode 100644 index 00000000..a9c3c306 --- /dev/null +++ b/spec/models/domain_external_asset_api_delete_request_v1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetAPIDeleteRequestV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetAPIDeleteRequestV1 do + let(:instance) { Falcon::DomainExternalAssetAPIDeleteRequestV1.new } + + describe 'test an instance of DomainExternalAssetAPIDeleteRequestV1' do + it 'should create an instance of DomainExternalAssetAPIDeleteRequestV1' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetAPIDeleteRequestV1) + end + end + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_api_patch_request_v1_spec.rb b/spec/models/domain_external_asset_api_patch_request_v1_spec.rb new file mode 100644 index 00000000..adcc9cac --- /dev/null +++ b/spec/models/domain_external_asset_api_patch_request_v1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetAPIPatchRequestV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetAPIPatchRequestV1 do + let(:instance) { Falcon::DomainExternalAssetAPIPatchRequestV1.new } + + describe 'test an instance of DomainExternalAssetAPIPatchRequestV1' do + it 'should create an instance of DomainExternalAssetAPIPatchRequestV1' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetAPIPatchRequestV1) + end + end + describe 'test attribute "assets"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_application_spec.rb b/spec/models/domain_external_asset_application_spec.rb new file mode 100644 index 00000000..13d7f116 --- /dev/null +++ b/spec/models/domain_external_asset_application_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetApplication do + let(:instance) { Falcon::DomainExternalAssetApplication.new } + + describe 'test an instance of DomainExternalAssetApplication' do + it 'should create an instance of DomainExternalAssetApplication' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetApplication) + end + end + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cpe"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vendor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_certificate_entity_identifiers_spec.rb b/spec/models/domain_external_asset_certificate_entity_identifiers_spec.rb new file mode 100644 index 00000000..0766c87a --- /dev/null +++ b/spec/models/domain_external_asset_certificate_entity_identifiers_spec.rb @@ -0,0 +1,141 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetCertificateEntityIdentifiers +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetCertificateEntityIdentifiers do + let(:instance) { Falcon::DomainExternalAssetCertificateEntityIdentifiers.new } + + describe 'test an instance of DomainExternalAssetCertificateEntityIdentifiers' do + it 'should create an instance of DomainExternalAssetCertificateEntityIdentifiers' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetCertificateEntityIdentifiers) + end + end + describe 'test attribute "common_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dn_qualifier"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "domain_component"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "email_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "generation_qualifier"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "given_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "locality_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "organization_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "organizational_unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pseudonym"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "serial_number"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "state_or_province_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "street_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "surname"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "user_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_certificate_spec.rb b/spec/models/domain_external_asset_certificate_spec.rb new file mode 100644 index 00000000..d8200237 --- /dev/null +++ b/spec/models/domain_external_asset_certificate_spec.rb @@ -0,0 +1,105 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetCertificate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetCertificate do + let(:instance) { Falcon::DomainExternalAssetCertificate.new } + + describe 'test an instance of DomainExternalAssetCertificate' do + it 'should create an instance of DomainExternalAssetCertificate' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetCertificate) + end + end + describe 'test attribute "ciphers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fingerprint_sha256"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "issuer"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pubkey_bits"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pubkey_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "serial"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "signature_algorithm"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "subject"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "valid_from"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "valid_to"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_cloud_vm_spec.rb b/spec/models/domain_external_asset_cloud_vm_spec.rb new file mode 100644 index 00000000..1f3c8963 --- /dev/null +++ b/spec/models/domain_external_asset_cloud_vm_spec.rb @@ -0,0 +1,117 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetCloudVM +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetCloudVM do + let(:instance) { Falcon::DomainExternalAssetCloudVM.new } + + describe 'test an instance of DomainExternalAssetCloudVM' do + it 'should create an instance of DomainExternalAssetCloudVM' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetCloudVM) + end + end + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "instance_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lifecycle"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mac_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "owner_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "platform"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "private_ip"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "public_ip"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "region"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "security_groups"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_discovery_attributes_spec.rb b/spec/models/domain_external_asset_discovery_attributes_spec.rb new file mode 100644 index 00000000..42c4d073 --- /dev/null +++ b/spec/models/domain_external_asset_discovery_attributes_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetDiscoveryAttributes +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetDiscoveryAttributes do + let(:instance) { Falcon::DomainExternalAssetDiscoveryAttributes.new } + + describe 'test an instance of DomainExternalAssetDiscoveryAttributes' do + it 'should create an instance of DomainExternalAssetDiscoveryAttributes' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetDiscoveryAttributes) + end + end + describe 'test attribute "alternative_paths"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_discovery_path_attributes_spec.rb b/spec/models/domain_external_asset_discovery_path_attributes_spec.rb new file mode 100644 index 00000000..41e16229 --- /dev/null +++ b/spec/models/domain_external_asset_discovery_path_attributes_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetDiscoveryPathAttributes +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetDiscoveryPathAttributes do + let(:instance) { Falcon::DomainExternalAssetDiscoveryPathAttributes.new } + + describe 'test an instance of DomainExternalAssetDiscoveryPathAttributes' do + it 'should create an instance of DomainExternalAssetDiscoveryPathAttributes' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetDiscoveryPathAttributes) + end + end + describe 'test attribute "steps"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_discovery_step_attributes_spec.rb b/spec/models/domain_external_asset_discovery_step_attributes_spec.rb new file mode 100644 index 00000000..84002cf2 --- /dev/null +++ b/spec/models/domain_external_asset_discovery_step_attributes_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetDiscoveryStepAttributes +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetDiscoveryStepAttributes do + let(:instance) { Falcon::DomainExternalAssetDiscoveryStepAttributes.new } + + describe 'test an instance of DomainExternalAssetDiscoveryStepAttributes' do + it 'should create an instance of DomainExternalAssetDiscoveryStepAttributes' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetDiscoveryStepAttributes) + end + end + describe 'test attribute "clue"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "entity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "entity_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "redirect_path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_geographical_location_spec.rb b/spec/models/domain_external_asset_geographical_location_spec.rb new file mode 100644 index 00000000..67905234 --- /dev/null +++ b/spec/models/domain_external_asset_geographical_location_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetGeographicalLocation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetGeographicalLocation do + let(:instance) { Falcon::DomainExternalAssetGeographicalLocation.new } + + describe 'test an instance of DomainExternalAssetGeographicalLocation' do + it 'should create an instance of DomainExternalAssetGeographicalLocation' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetGeographicalLocation) + end + end + describe 'test attribute "area_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "city"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "country_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "geo_point"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "postal_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "region_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "region_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "timezone"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_pastebin_text_source_spec.rb b/spec/models/domain_external_asset_http_attributes_spec.rb similarity index 78% rename from spec/models/domain_pastebin_text_source_spec.rb rename to spec/models/domain_external_asset_http_attributes_spec.rb index d2835320..f19319fe 100644 --- a/spec/models/domain_pastebin_text_source_spec.rb +++ b/spec/models/domain_external_asset_http_attributes_spec.rb @@ -31,36 +31,36 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainPastebinTextSource +# Unit tests for Falcon::DomainExternalAssetHTTPAttributes # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainPastebinTextSource do - let(:instance) { Falcon::DomainPastebinTextSource.new } +describe Falcon::DomainExternalAssetHTTPAttributes do + let(:instance) { Falcon::DomainExternalAssetHTTPAttributes.new } - describe 'test an instance of DomainPastebinTextSource' do - it 'should create an instance of DomainPastebinTextSource' do - expect(instance).to be_instance_of(Falcon::DomainPastebinTextSource) + describe 'test an instance of DomainExternalAssetHTTPAttributes' do + it 'should create an instance of DomainExternalAssetHTTPAttributes' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetHTTPAttributes) end end - describe 'test attribute "author_name"' do + describe 'test attribute "cookies"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "legacy_source"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "pastebin_id"' do + describe 'test attribute "response_headers"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "source_link"' do + describe 'test attribute "technologies"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_external_asset_redirect_step_attributes_spec.rb b/spec/models/domain_external_asset_redirect_step_attributes_spec.rb new file mode 100644 index 00000000..197b21f5 --- /dev/null +++ b/spec/models/domain_external_asset_redirect_step_attributes_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetRedirectStepAttributes +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetRedirectStepAttributes do + let(:instance) { Falcon::DomainExternalAssetRedirectStepAttributes.new } + + describe 'test an instance of DomainExternalAssetRedirectStepAttributes' do + it 'should create an instance of DomainExternalAssetRedirectStepAttributes' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetRedirectStepAttributes) + end + end + describe 'test attribute "clue"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "entity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "entity_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_service_blobs_links_spec.rb b/spec/models/domain_external_asset_service_blobs_links_spec.rb new file mode 100644 index 00000000..da6e9495 --- /dev/null +++ b/spec/models/domain_external_asset_service_blobs_links_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetServiceBlobsLinks +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetServiceBlobsLinks do + let(:instance) { Falcon::DomainExternalAssetServiceBlobsLinks.new } + + describe 'test an instance of DomainExternalAssetServiceBlobsLinks' do + it 'should create an instance of DomainExternalAssetServiceBlobsLinks' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetServiceBlobsLinks) + end + end + describe 'test attribute "download_attributes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "download_banner"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "preview_attributes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "preview_banner"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_service_spec.rb b/spec/models/domain_external_asset_service_spec.rb new file mode 100644 index 00000000..40cd6d8b --- /dev/null +++ b/spec/models/domain_external_asset_service_spec.rb @@ -0,0 +1,153 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetService +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetService do + let(:instance) { Falcon::DomainExternalAssetService.new } + + describe 'test an instance of DomainExternalAssetService' do + it 'should create an instance of DomainExternalAssetService' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetService) + end + end + describe 'test attribute "applications"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "blob_links"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_provider"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cpes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hosting_provider"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "http_attributes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "os"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "platform_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "port"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "protocol"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status_code"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "subsidiaries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tls"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "transport"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_ssl_record_spec.rb b/spec/models/domain_external_asset_ssl_record_spec.rb new file mode 100644 index 00000000..db5de0e3 --- /dev/null +++ b/spec/models/domain_external_asset_ssl_record_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetSSLRecord +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetSSLRecord do + let(:instance) { Falcon::DomainExternalAssetSSLRecord.new } + + describe 'test an instance of DomainExternalAssetSSLRecord' do + it 'should create an instance of DomainExternalAssetSSLRecord' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetSSLRecord) + end + end + describe 'test attribute "alpn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "alternative_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "certificate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cipher_suites"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ja3s"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "jarm"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "supported_versions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_asset_subsidiary_spec.rb b/spec/models/domain_external_asset_subsidiary_spec.rb new file mode 100644 index 00000000..70047d9a --- /dev/null +++ b/spec/models/domain_external_asset_subsidiary_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetSubsidiary +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetSubsidiary do + let(:instance) { Falcon::DomainExternalAssetSubsidiary.new } + + describe 'test an instance of DomainExternalAssetSubsidiary' do + it 'should create an instance of DomainExternalAssetSubsidiary' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetSubsidiary) + end + end + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_assets_api_patch_spec.rb b/spec/models/domain_external_assets_api_patch_spec.rb new file mode 100644 index 00000000..1a3bb9a1 --- /dev/null +++ b/spec/models/domain_external_assets_api_patch_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetsAPIPatch +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetsAPIPatch do + let(:instance) { Falcon::DomainExternalAssetsAPIPatch.new } + + describe 'test an instance of DomainExternalAssetsAPIPatch' do + it 'should create an instance of DomainExternalAssetsAPIPatch' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetsAPIPatch) + end + end + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality_description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "triage"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_assets_api_triage_patch_spec.rb b/spec/models/domain_external_assets_api_triage_patch_spec.rb new file mode 100644 index 00000000..13e9bc7f --- /dev/null +++ b/spec/models/domain_external_assets_api_triage_patch_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetsAPITriagePatch +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetsAPITriagePatch do + let(:instance) { Falcon::DomainExternalAssetsAPITriagePatch.new } + + describe 'test an instance of DomainExternalAssetsAPITriagePatch' do + it 'should create an instance of DomainExternalAssetsAPITriagePatch' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetsAPITriagePatch) + end + end + describe 'test attribute "action"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "assigned_to"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_assets_api_triage_spec.rb b/spec/models/domain_external_assets_api_triage_spec.rb new file mode 100644 index 00000000..c8ccf4ac --- /dev/null +++ b/spec/models/domain_external_assets_api_triage_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetsAPITriage +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetsAPITriage do + let(:instance) { Falcon::DomainExternalAssetsAPITriage.new } + + describe 'test an instance of DomainExternalAssetsAPITriage' do + it 'should create an instance of DomainExternalAssetsAPITriage' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetsAPITriage) + end + end + describe 'test attribute "action"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "assigned_to"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_assets_api_type_v1_spec.rb b/spec/models/domain_external_assets_api_type_v1_spec.rb new file mode 100644 index 00000000..cb4a53a7 --- /dev/null +++ b/spec/models/domain_external_assets_api_type_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetsAPITypeV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetsAPITypeV1 do + let(:instance) { Falcon::DomainExternalAssetsAPITypeV1.new } + + describe 'test an instance of DomainExternalAssetsAPITypeV1' do + it 'should create an instance of DomainExternalAssetsAPITypeV1' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetsAPITypeV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_assets_blob_api_type_v1_spec.rb b/spec/models/domain_external_assets_blob_api_type_v1_spec.rb new file mode 100644 index 00000000..60d59b90 --- /dev/null +++ b/spec/models/domain_external_assets_blob_api_type_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalAssetsBlobAPITypeV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalAssetsBlobAPITypeV1 do + let(:instance) { Falcon::DomainExternalAssetsBlobAPITypeV1.new } + + describe 'test an instance of DomainExternalAssetsBlobAPITypeV1' do + it 'should create an instance of DomainExternalAssetsBlobAPITypeV1' do + expect(instance).to be_instance_of(Falcon::DomainExternalAssetsBlobAPITypeV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_external_export_job_spec.rb b/spec/models/domain_external_export_job_spec.rb new file mode 100644 index 00000000..8d317666 --- /dev/null +++ b/spec/models/domain_external_export_job_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainExternalExportJob +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainExternalExportJob do + let(:instance) { Falcon::DomainExternalExportJob.new } + + describe 'test an instance of DomainExternalExportJob' do + it 'should create an instance of DomainExternalExportJob' do + expect(instance).to be_instance_of(Falcon::DomainExternalExportJob) + end + end + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "retries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_feature_permission_spec.rb b/spec/models/domain_feature_permission_spec.rb new file mode 100644 index 00000000..e50bff18 --- /dev/null +++ b/spec/models/domain_feature_permission_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainFeaturePermission +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainFeaturePermission do + let(:instance) { Falcon::DomainFeaturePermission.new } + + describe 'test an instance of DomainFeaturePermission' do + it 'should create an instance of DomainFeaturePermission' do + expect(instance).to be_instance_of(Falcon::DomainFeaturePermission) + end + end + describe 'test attribute "feature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "permissions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_feature_status_spec.rb b/spec/models/domain_feature_status_spec.rb new file mode 100644 index 00000000..64f9c093 --- /dev/null +++ b/spec/models/domain_feature_status_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainFeatureStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainFeatureStatus do + let(:instance) { Falcon::DomainFeatureStatus.new } + + describe 'test an instance of DomainFeatureStatus' do + it 'should create an instance of DomainFeatureStatus' do + expect(instance).to be_instance_of(Falcon::DomainFeatureStatus) + end + end + describe 'test attribute "feature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_fem_dns_domain_spec.rb b/spec/models/domain_fem_dns_domain_spec.rb new file mode 100644 index 00000000..33c3c798 --- /dev/null +++ b/spec/models/domain_fem_dns_domain_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainFemDNSDomain +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainFemDNSDomain do + let(:instance) { Falcon::DomainFemDNSDomain.new } + + describe 'test an instance of DomainFemDNSDomain' do + it 'should create an instance of DomainFemDNSDomain' do + expect(instance).to be_instance_of(Falcon::DomainFemDNSDomain) + end + end + describe 'test attribute "fqdn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "isps"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parent_domain"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resolved_ips"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "services"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_fem_ecosystem_subsidiaries_entities_response_spec.rb b/spec/models/domain_fem_ecosystem_subsidiaries_entities_response_spec.rb new file mode 100644 index 00000000..8c82a215 --- /dev/null +++ b/spec/models/domain_fem_ecosystem_subsidiaries_entities_response_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainFemEcosystemSubsidiariesEntitiesResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainFemEcosystemSubsidiariesEntitiesResponse do + let(:instance) { Falcon::DomainFemEcosystemSubsidiariesEntitiesResponse.new } + + describe 'test an instance of DomainFemEcosystemSubsidiariesEntitiesResponse' do + it 'should create an instance of DomainFemEcosystemSubsidiariesEntitiesResponse' do + expect(instance).to be_instance_of(Falcon::DomainFemEcosystemSubsidiariesEntitiesResponse) + end + end + describe 'test attribute "fem_ecosystem_subsidiaries_response_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_fem_ecosystem_subsidiaries_meta_spec.rb b/spec/models/domain_fem_ecosystem_subsidiaries_meta_spec.rb new file mode 100644 index 00000000..d0ec9d23 --- /dev/null +++ b/spec/models/domain_fem_ecosystem_subsidiaries_meta_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainFemEcosystemSubsidiariesMeta +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainFemEcosystemSubsidiariesMeta do + let(:instance) { Falcon::DomainFemEcosystemSubsidiariesMeta.new } + + describe 'test an instance of DomainFemEcosystemSubsidiariesMeta' do + it 'should create an instance of DomainFemEcosystemSubsidiariesMeta' do + expect(instance).to be_instance_of(Falcon::DomainFemEcosystemSubsidiariesMeta) + end + end + describe 'test attribute "meta_info"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_fem_ecosystem_subsidiaries_query_response_spec.rb b/spec/models/domain_fem_ecosystem_subsidiaries_query_response_spec.rb new file mode 100644 index 00000000..70d7f0a1 --- /dev/null +++ b/spec/models/domain_fem_ecosystem_subsidiaries_query_response_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainFemEcosystemSubsidiariesQueryResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainFemEcosystemSubsidiariesQueryResponse do + let(:instance) { Falcon::DomainFemEcosystemSubsidiariesQueryResponse.new } + + describe 'test an instance of DomainFemEcosystemSubsidiariesQueryResponse' do + it 'should create an instance of DomainFemEcosystemSubsidiariesQueryResponse' do + expect(instance).to be_instance_of(Falcon::DomainFemEcosystemSubsidiariesQueryResponse) + end + end + describe 'test attribute "fem_ecosystem_subsidiaries_response_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_fem_ecosystem_subsidiaries_response_fields_spec.rb b/spec/models/domain_fem_ecosystem_subsidiaries_response_fields_spec.rb new file mode 100644 index 00000000..3ab49020 --- /dev/null +++ b/spec/models/domain_fem_ecosystem_subsidiaries_response_fields_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainFemEcosystemSubsidiariesResponseFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainFemEcosystemSubsidiariesResponseFields do + let(:instance) { Falcon::DomainFemEcosystemSubsidiariesResponseFields.new } + + describe 'test an instance of DomainFemEcosystemSubsidiariesResponseFields' do + it 'should create an instance of DomainFemEcosystemSubsidiariesResponseFields' do + expect(instance).to be_instance_of(Falcon::DomainFemEcosystemSubsidiariesResponseFields) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_fem_ecosystem_subsidiary_spec.rb b/spec/models/domain_fem_ecosystem_subsidiary_spec.rb new file mode 100644 index 00000000..e1fad8cf --- /dev/null +++ b/spec/models/domain_fem_ecosystem_subsidiary_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainFemEcosystemSubsidiary +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainFemEcosystemSubsidiary do + let(:instance) { Falcon::DomainFemEcosystemSubsidiary.new } + + describe 'test an instance of DomainFemEcosystemSubsidiary' do + it 'should create an instance of DomainFemEcosystemSubsidiary' do + expect(instance).to be_instance_of(Falcon::DomainFemEcosystemSubsidiary) + end + end + describe 'test attribute "asset_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "children_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "discovery"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parent_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "primary_domain"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "risk_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_fem_external_asset_spec.rb b/spec/models/domain_fem_external_asset_spec.rb new file mode 100644 index 00000000..3ee369ff --- /dev/null +++ b/spec/models/domain_fem_external_asset_spec.rb @@ -0,0 +1,183 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainFemExternalAsset +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainFemExternalAsset do + let(:instance) { Falcon::DomainFemExternalAsset.new } + + describe 'test an instance of DomainFemExternalAsset' do + it 'should create an instance of DomainFemExternalAsset' do + expect(instance).to be_instance_of(Falcon::DomainFemExternalAsset) + end + end + describe 'test attribute "applicable_actions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "asset_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "confidence"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality_description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "criticality_username"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data_providers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "discovered_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "discovery"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dns_domain"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "entity_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "internet_exposure"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ip"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "manual"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "perimeter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "subsidiaries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "triage"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_ddos_target_details_spec.rb b/spec/models/domain_fem_external_ip_spec.rb similarity index 79% rename from spec/models/domain_ddos_target_details_spec.rb rename to spec/models/domain_fem_external_ip_spec.rb index 96ce626b..59804b2e 100644 --- a/spec/models/domain_ddos_target_details_spec.rb +++ b/spec/models/domain_fem_external_ip_spec.rb @@ -31,72 +31,72 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainDDOSTargetDetails +# Unit tests for Falcon::DomainFemExternalIP # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainDDOSTargetDetails do - let(:instance) { Falcon::DomainDDOSTargetDetails.new } +describe Falcon::DomainFemExternalIP do + let(:instance) { Falcon::DomainFemExternalIP.new } - describe 'test an instance of DomainDDOSTargetDetails' do - it 'should create an instance of DomainDDOSTargetDetails' do - expect(instance).to be_instance_of(Falcon::DomainDDOSTargetDetails) + describe 'test an instance of DomainFemExternalIP' do + it 'should create an instance of DomainFemExternalIP' do + expect(instance).to be_instance_of(Falcon::DomainFemExternalIP) end end - describe 'test attribute "asn"' do + describe 'test attribute "aid"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "asn_name"' do + describe 'test attribute "asn"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "cidr"' do + describe 'test attribute "cloud_provider"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "city"' do + describe 'test attribute "cloud_vm"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "company_name"' do + describe 'test attribute "fqdns"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "connection_type"' do + describe 'test attribute "ip_address"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "country"' do + describe 'test attribute "isp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "country_code"' do + describe 'test attribute "location"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "pdns"' do + describe 'test attribute "ptr"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "rdns"' do + describe 'test attribute "services"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_gcp_account_v1_spec.rb b/spec/models/domain_gcp_account_v1_spec.rb index 2bbb766a..a36aa9f6 100644 --- a/spec/models/domain_gcp_account_v1_spec.rb +++ b/spec/models/domain_gcp_account_v1_spec.rb @@ -78,6 +78,12 @@ end end + describe 'test attribute "conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "cspm_enabled"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -156,6 +162,12 @@ end end + describe 'test attribute "service_account_conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "service_account_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_geo_point_spec.rb b/spec/models/domain_geo_point_spec.rb new file mode 100644 index 00000000..ff3ea5cf --- /dev/null +++ b/spec/models/domain_geo_point_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainGeoPoint +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainGeoPoint do + let(:instance) { Falcon::DomainGeoPoint.new } + + describe 'test an instance of DomainGeoPoint' do + it 'should create an instance of DomainGeoPoint' do + expect(instance).to be_instance_of(Falcon::DomainGeoPoint) + end + end + describe 'test attribute "lat"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lon"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_incident_spec.rb b/spec/models/domain_incident_spec.rb index 6fa1667e..dc1961a6 100644 --- a/spec/models/domain_incident_spec.rb +++ b/spec/models/domain_incident_spec.rb @@ -96,6 +96,12 @@ end end + describe 'test attribute "grouping_ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "host_ids"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_init_response_spec.rb b/spec/models/domain_init_response_spec.rb index f6e15a2e..51916dd6 100644 --- a/spec/models/domain_init_response_spec.rb +++ b/spec/models/domain_init_response_spec.rb @@ -48,6 +48,12 @@ end end + describe 'test attribute "device_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "existing_aid_sessions"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -60,6 +66,12 @@ end end + describe 'test attribute "platform"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "previous_commands"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_item_details_v1_spec.rb b/spec/models/domain_item_details_v1_spec.rb index 5c9d3546..cadb347e 100644 --- a/spec/models/domain_item_details_v1_spec.rb +++ b/spec/models/domain_item_details_v1_spec.rb @@ -102,6 +102,12 @@ end end + describe 'test attribute "full_content_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "ioc_types"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_malware_document_spec.rb b/spec/models/domain_malware_document_spec.rb new file mode 100644 index 00000000..716a7ced --- /dev/null +++ b/spec/models/domain_malware_document_spec.rb @@ -0,0 +1,351 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainMalwareDocument +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainMalwareDocument do + let(:instance) { Falcon::DomainMalwareDocument.new } + + describe 'test an instance of DomainMalwareDocument' do + it 'should create an instance of DomainMalwareDocument' do + expect(instance).to be_instance_of(Falcon::DomainMalwareDocument) + end + end + describe 'test attribute "actors_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "all_systems"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "associated_actors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "capabilities"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "community_identifiers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description_text_length"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "developed_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "developed_by_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "files_containing_threat_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "indicator_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "kill_chain"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_updated"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mitre"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mitre_attack_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mitre_tactic_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mitre_technique_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "motivation"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "next_stage_of"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "next_stages"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "plugin_of"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "plugins"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "purchased_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "purchased_by_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "report_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reports"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "seen_in_environment"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "slug"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sold_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sold_by_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sub_botnet_of"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sub_botnets"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "successor_of"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "successors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "systems_targeted_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "target_countries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "target_industries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "targeting_profile"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "targets_systems"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "threat_file_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "threat_properties"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "threat_relations_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "used_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "used_by_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "variant_of"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "variants"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vulnerabilities"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_malware_environment_aggregates_spec.rb b/spec/models/domain_malware_environment_aggregates_spec.rb new file mode 100644 index 00000000..95e0fd98 --- /dev/null +++ b/spec/models/domain_malware_environment_aggregates_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainMalwareEnvironmentAggregates +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainMalwareEnvironmentAggregates do + let(:instance) { Falcon::DomainMalwareEnvironmentAggregates.new } + + describe 'test an instance of DomainMalwareEnvironmentAggregates' do + it 'should create an instance of DomainMalwareEnvironmentAggregates' do + expect(instance).to be_instance_of(Falcon::DomainMalwareEnvironmentAggregates) + end + end + describe 'test attribute "detections"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sandbox"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vulnerabilities"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_malware_response_spec.rb b/spec/models/domain_malware_response_spec.rb new file mode 100644 index 00000000..af067025 --- /dev/null +++ b/spec/models/domain_malware_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainMalwareResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainMalwareResponse do + let(:instance) { Falcon::DomainMalwareResponse.new } + + describe 'test an instance of DomainMalwareResponse' do + it 'should create an instance of DomainMalwareResponse' do + expect(instance).to be_instance_of(Falcon::DomainMalwareResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_marketplace_credentials_spec.rb b/spec/models/domain_marketplace_credentials_spec.rb new file mode 100644 index 00000000..857ee8ce --- /dev/null +++ b/spec/models/domain_marketplace_credentials_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainMarketplaceCredentials +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainMarketplaceCredentials do + let(:instance) { Falcon::DomainMarketplaceCredentials.new } + + describe 'test an instance of DomainMarketplaceCredentials' do + it 'should create an instance of DomainMarketplaceCredentials' do + expect(instance).to be_instance_of(Falcon::DomainMarketplaceCredentials) + end + end + describe 'test attribute "sites_all"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sites_with_cookie_only"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sites_with_password"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_meta_info_spec.rb b/spec/models/domain_meta_info_spec.rb index 6c113bd2..154911c7 100644 --- a/spec/models/domain_meta_info_spec.rb +++ b/spec/models/domain_meta_info_spec.rb @@ -60,22 +60,10 @@ end end - describe 'test attribute "quota"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "trace_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "writes"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - end diff --git a/spec/models/domain_msa_meta_info_spec.rb b/spec/models/domain_msa_meta_info_spec.rb new file mode 100644 index 00000000..efe6da45 --- /dev/null +++ b/spec/models/domain_msa_meta_info_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainMsaMetaInfo +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainMsaMetaInfo do + let(:instance) { Falcon::DomainMsaMetaInfo.new } + + describe 'test an instance of DomainMsaMetaInfo' do + it 'should create an instance of DomainMsaMetaInfo' do + expect(instance).to be_instance_of(Falcon::DomainMsaMetaInfo) + end + end + describe 'test attribute "pagination"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "query_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_news_document_spec.rb b/spec/models/domain_news_document_spec.rb index 611e7c1f..b1130a3f 100644 --- a/spec/models/domain_news_document_spec.rb +++ b/spec/models/domain_news_document_spec.rb @@ -126,6 +126,12 @@ end end + describe 'test attribute "rich_text_short_description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "short_description"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_notification_v1_spec.rb b/spec/models/domain_notification_v1_spec.rb index c0179249..613aab70 100644 --- a/spec/models/domain_notification_v1_spec.rb +++ b/spec/models/domain_notification_v1_spec.rb @@ -150,6 +150,24 @@ end end + describe 'test attribute "rule_creator_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rule_creator_uid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rule_creator_uuid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "rule_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_platform_spec.rb b/spec/models/domain_platform_spec.rb index ab625af5..d20dc7ce 100644 --- a/spec/models/domain_platform_spec.rb +++ b/spec/models/domain_platform_spec.rb @@ -48,7 +48,7 @@ end end - describe 'test attribute "label"' do + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_policy_info_spec.rb b/spec/models/domain_policy_info_spec.rb index 1fdd8d76..5510eb75 100644 --- a/spec/models/domain_policy_info_spec.rb +++ b/spec/models/domain_policy_info_spec.rb @@ -162,6 +162,12 @@ end end + describe 'test attribute "cloud_service_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "cloud_service_subtype"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -174,18 +180,36 @@ end end + describe 'test attribute "compliance"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "confidence"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "controls"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "default_severity"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "deprecated"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "description"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -318,6 +342,18 @@ end end + describe 'test attribute "resource_type_friendly_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_type_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "soc2_benchmark_ids"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_product_features_spec.rb b/spec/models/domain_product_features_spec.rb new file mode 100644 index 00000000..0a77862d --- /dev/null +++ b/spec/models/domain_product_features_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainProductFeatures +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainProductFeatures do + let(:instance) { Falcon::DomainProductFeatures.new } + + describe 'test an instance of DomainProductFeatures' do + it 'should create an instance of DomainProductFeatures' do + expect(instance).to be_instance_of(Falcon::DomainProductFeatures) + end + end + describe 'test attribute "features"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "product"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_vulnerability_affected_product_spec.rb b/spec/models/domain_product_features_status_spec.rb similarity index 78% rename from spec/models/domain_vulnerability_affected_product_spec.rb rename to spec/models/domain_product_features_status_spec.rb index ba43f0c9..3aa38042 100644 --- a/spec/models/domain_vulnerability_affected_product_spec.rb +++ b/spec/models/domain_product_features_status_spec.rb @@ -31,24 +31,24 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainVulnerabilityAffectedProduct +# Unit tests for Falcon::DomainProductFeaturesStatus # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainVulnerabilityAffectedProduct do - let(:instance) { Falcon::DomainVulnerabilityAffectedProduct.new } +describe Falcon::DomainProductFeaturesStatus do + let(:instance) { Falcon::DomainProductFeaturesStatus.new } - describe 'test an instance of DomainVulnerabilityAffectedProduct' do - it 'should create an instance of DomainVulnerabilityAffectedProduct' do - expect(instance).to be_instance_of(Falcon::DomainVulnerabilityAffectedProduct) + describe 'test an instance of DomainProductFeaturesStatus' do + it 'should create an instance of DomainProductFeaturesStatus' do + expect(instance).to be_instance_of(Falcon::DomainProductFeaturesStatus) end end - describe 'test attribute "product"' do + describe 'test attribute "features"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "vendor"' do + describe 'test attribute "product"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_product_permission_spec.rb b/spec/models/domain_product_permission_spec.rb new file mode 100644 index 00000000..6a0e8db1 --- /dev/null +++ b/spec/models/domain_product_permission_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainProductPermission +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainProductPermission do + let(:instance) { Falcon::DomainProductPermission.new } + + describe 'test an instance of DomainProductPermission' do + it 'should create an instance of DomainProductPermission' do + expect(instance).to be_instance_of(Falcon::DomainProductPermission) + end + end + describe 'test attribute "features"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "product"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_reference_spec.rb b/spec/models/domain_reference_spec.rb new file mode 100644 index 00000000..1e4e775e --- /dev/null +++ b/spec/models/domain_reference_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainReference do + let(:instance) { Falcon::DomainReference.new } + + describe 'test an instance of DomainReference' do + it 'should create an instance of DomainReference' do + expect(instance).to be_instance_of(Falcon::DomainReference) + end + end + describe 'test attribute "tags"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_report_execution_summary_v1_spec.rb b/spec/models/domain_report_execution_summary_v1_spec.rb index 4ba66fa0..d4399e7f 100644 --- a/spec/models/domain_report_execution_summary_v1_spec.rb +++ b/spec/models/domain_report_execution_summary_v1_spec.rb @@ -66,6 +66,12 @@ end end + describe 'test attribute "report_params"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "result_metadata"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_report_execution_v1_spec.rb b/spec/models/domain_report_execution_v1_spec.rb index da0fea86..a4b1c371 100644 --- a/spec/models/domain_report_execution_v1_spec.rb +++ b/spec/models/domain_report_execution_v1_spec.rb @@ -96,6 +96,12 @@ end end + describe 'test attribute "report_params"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "result_metadata"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_report_params_spec.rb b/spec/models/domain_report_params_spec.rb index 7c8276c1..e1dbe655 100644 --- a/spec/models/domain_report_params_spec.rb +++ b/spec/models/domain_report_params_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::DomainReportParams) end end + describe 'test attribute "columns"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "dashboard_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -90,4 +96,10 @@ end end + describe 'test attribute "spotlight_params"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/domain_request_spec.rb b/spec/models/domain_request_spec.rb new file mode 100644 index 00000000..d25b284e --- /dev/null +++ b/spec/models/domain_request_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainRequest do + let(:instance) { Falcon::DomainRequest.new } + + describe 'test an instance of DomainRequest' do + it 'should create an instance of DomainRequest' do + expect(instance).to be_instance_of(Falcon::DomainRequest) + end + end + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_scan_metadata_spec.rb b/spec/models/domain_scan_metadata_spec.rb index beec2a15..3f5a25f0 100644 --- a/spec/models/domain_scan_metadata_spec.rb +++ b/spec/models/domain_scan_metadata_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "host_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "host_scan_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_scan_spec.rb b/spec/models/domain_scan_spec.rb index 7797a222..011a5346 100644 --- a/spec/models/domain_scan_spec.rb +++ b/spec/models/domain_scan_spec.rb @@ -156,12 +156,6 @@ end end - describe 'test attribute "max_file_size"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "metadata"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -210,6 +204,12 @@ end end + describe 'test attribute "rollup_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "scan_completed_on"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_scan_v2_spec.rb b/spec/models/domain_scan_v2_spec.rb index 0c0f8c16..58b4ab82 100644 --- a/spec/models/domain_scan_v2_spec.rb +++ b/spec/models/domain_scan_v2_spec.rb @@ -156,12 +156,6 @@ end end - describe 'test attribute "max_file_size"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "metadata"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_schedule_spec.rb b/spec/models/domain_schedule_spec.rb index 4dc71e4e..76afec92 100644 --- a/spec/models/domain_schedule_spec.rb +++ b/spec/models/domain_schedule_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::DomainSchedule) end end - describe 'test attribute "ignored_by_channelfile"' do + describe 'test attribute "can_stagger"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "interval"' do + describe 'test attribute "definition"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "start_timestamp"' do + describe 'test attribute "display"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_scheduled_report_v1_spec.rb b/spec/models/domain_scheduled_report_v1_spec.rb index 1572abd7..77ac2f5c 100644 --- a/spec/models/domain_scheduled_report_v1_spec.rb +++ b/spec/models/domain_scheduled_report_v1_spec.rb @@ -108,6 +108,12 @@ end end + describe 'test attribute "owned_by_cs"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "report_metadata"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_sensor_installer_v2_spec.rb b/spec/models/domain_sensor_installer_v2_spec.rb new file mode 100644 index 00000000..7c5de623 --- /dev/null +++ b/spec/models/domain_sensor_installer_v2_spec.rb @@ -0,0 +1,123 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainSensorInstallerV2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainSensorInstallerV2 do + let(:instance) { Falcon::DomainSensorInstallerV2.new } + + describe 'test an instance of DomainSensorInstallerV2' do + it 'should create an instance of DomainSensorInstallerV2' do + expect(instance).to be_instance_of(Falcon::DomainSensorInstallerV2) + end + end + describe 'test attribute "architectures"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "file_size"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "file_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ltv_expiry_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ltv_promoted_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "os"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "os_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "platform"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "release_date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sha256"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_sensor_installers_v2_spec.rb b/spec/models/domain_sensor_installers_v2_spec.rb new file mode 100644 index 00000000..d0e6b5a8 --- /dev/null +++ b/spec/models/domain_sensor_installers_v2_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainSensorInstallersV2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainSensorInstallersV2 do + let(:instance) { Falcon::DomainSensorInstallersV2.new } + + describe 'test an instance of DomainSensorInstallersV2' do + it 'should create an instance of DomainSensorInstallersV2' do + expect(instance).to be_instance_of(Falcon::DomainSensorInstallersV2) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_spotlight_params_spec.rb b/spec/models/domain_spotlight_params_spec.rb new file mode 100644 index 00000000..d62eef2f --- /dev/null +++ b/spec/models/domain_spotlight_params_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainSpotlightParams +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainSpotlightParams do + let(:instance) { Falcon::DomainSpotlightParams.new } + + describe 'test an instance of DomainSpotlightParams' do + it 'should create an instance of DomainSpotlightParams' do + expect(instance).to be_instance_of(Falcon::DomainSpotlightParams) + end + end + describe 'test attribute "template_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "template_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "top_n_results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_update_rule_request_v1_spec.rb b/spec/models/domain_update_rule_request_v1_spec.rb index a9c65c34..7a34b49d 100644 --- a/spec/models/domain_update_rule_request_v1_spec.rb +++ b/spec/models/domain_update_rule_request_v1_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::DomainUpdateRuleRequestV1) end end + describe 'test attribute "breach_monitor_only"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "breach_monitoring_enabled"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_user_metadata_spec.rb b/spec/models/domain_user_metadata_spec.rb index bf8e0c7b..a7d492df 100644 --- a/spec/models/domain_user_metadata_spec.rb +++ b/spec/models/domain_user_metadata_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "uid"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_user_spec.rb b/spec/models/domain_user_spec.rb index a4d19919..01aad125 100644 --- a/spec/models/domain_user_spec.rb +++ b/spec/models/domain_user_spec.rb @@ -48,7 +48,7 @@ end end - describe 'test attribute "email"' do + describe 'test attribute "created_at"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -60,12 +60,36 @@ end end + describe 'test attribute "last_login_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "last_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "uid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "uuid"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_vuln_spec.rb b/spec/models/domain_vuln_spec.rb new file mode 100644 index 00000000..7d633f8c --- /dev/null +++ b/spec/models/domain_vuln_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::DomainVuln +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::DomainVuln do + let(:instance) { Falcon::DomainVuln.new } + + describe 'test an instance of DomainVuln' do + it 'should create an instance of DomainVuln' do + expect(instance).to be_instance_of(Falcon::DomainVuln) + end + end + describe 'test attribute "cve"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_vulnerability_spec.rb b/spec/models/domain_vulnerability_spec.rb index 9d0893b4..a196d94d 100644 --- a/spec/models/domain_vulnerability_spec.rb +++ b/spec/models/domain_vulnerability_spec.rb @@ -42,37 +42,7 @@ expect(instance).to be_instance_of(Falcon::DomainVulnerability) end end - describe 'test attribute "affected_products"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "community_identifiers"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "cve"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "cvss_v2_base"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "cvss_v3_base"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "description"' do + describe 'test attribute "evaluated_affected_assets_count"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -84,43 +54,13 @@ end end - describe 'test attribute "name"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "publish_date"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "related_actors"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "related_reports"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "related_threats"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "severity"' do + describe 'test attribute "exprt_rating"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "updated_timestamp"' do + describe 'test attribute "total_affected_assets"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/domain_xdr_params_spec.rb b/spec/models/domain_xdr_params_spec.rb index bd3e8341..1c16379b 100644 --- a/spec/models/domain_xdr_params_spec.rb +++ b/spec/models/domain_xdr_params_spec.rb @@ -54,6 +54,12 @@ end end + describe 'test attribute "author"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "comment"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -66,6 +72,12 @@ end end + describe 'test attribute "origin"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "severity"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -96,6 +108,18 @@ end end + describe 'test attribute "template_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "trigger_mode"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "type"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/driftindicators_drift_indicators_count_value_spec.rb b/spec/models/driftindicators_drift_indicators_count_value_spec.rb index af188a3e..e17fd089 100644 --- a/spec/models/driftindicators_drift_indicators_count_value_spec.rb +++ b/spec/models/driftindicators_drift_indicators_count_value_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::DriftindicatorsDriftIndicatorsCountValue) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/driftindicators_drift_indicators_field_value_spec.rb b/spec/models/driftindicators_drift_indicators_field_value_spec.rb index 16e3c418..c47fc4f5 100644 --- a/spec/models/driftindicators_drift_indicators_field_value_spec.rb +++ b/spec/models/driftindicators_drift_indicators_field_value_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::DriftindicatorsDriftIndicatorsFieldValue) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/entities_ods_scan_request_spec.rb b/spec/models/entities_ods_scan_request_spec.rb index c19576c8..be9a622f 100644 --- a/spec/models/entities_ods_scan_request_spec.rb +++ b/spec/models/entities_ods_scan_request_spec.rb @@ -102,12 +102,6 @@ end end - describe 'test attribute "max_file_size"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "pause_duration"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/entities_rolling_average_spec.rb b/spec/models/entities_rolling_average_spec.rb new file mode 100644 index 00000000..ce213923 --- /dev/null +++ b/spec/models/entities_rolling_average_spec.rb @@ -0,0 +1,105 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::EntitiesRollingAverage +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::EntitiesRollingAverage do + let(:instance) { Falcon::EntitiesRollingAverage.new } + + describe 'test an instance of EntitiesRollingAverage' do + it 'should create an instance of EntitiesRollingAverage' do + expect(instance).to be_instance_of(Falcon::EntitiesRollingAverage) + end + end + describe 'test attribute "chrome_os"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "date"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lumos"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mobile"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "public_cloud_with_containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "public_cloud_without_containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "servers_with_containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "servers_without_containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "workstations"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/executions_execution_result_spec.rb b/spec/models/executions_execution_result_spec.rb index 5f73aea9..93602b97 100644 --- a/spec/models/executions_execution_result_spec.rb +++ b/spec/models/executions_execution_result_spec.rb @@ -84,6 +84,12 @@ end end + describe 'test attribute "output_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "retryable"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -102,6 +108,12 @@ end end + describe 'test attribute "summary"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "trigger"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/executions_loop_result_spec.rb b/spec/models/executions_loop_result_spec.rb index c912da66..ed2b796b 100644 --- a/spec/models/executions_loop_result_spec.rb +++ b/spec/models/executions_loop_result_spec.rb @@ -90,6 +90,12 @@ end end + describe 'test attribute "outputs"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "start_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/exports_exports_response_spec.rb b/spec/models/exports_exports_response_spec.rb new file mode 100644 index 00000000..49470863 --- /dev/null +++ b/spec/models/exports_exports_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ExportsExportsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ExportsExportsResponse do + let(:instance) { Falcon::ExportsExportsResponse.new } + + describe 'test an instance of ExportsExportsResponse' do + it 'should create an instance of ExportsExportsResponse' do + expect(instance).to be_instance_of(Falcon::ExportsExportsResponse) + end + end + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/exports_launch_export_request_spec.rb b/spec/models/exports_launch_export_request_spec.rb new file mode 100644 index 00000000..12344767 --- /dev/null +++ b/spec/models/exports_launch_export_request_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ExportsLaunchExportRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ExportsLaunchExportRequest do + let(:instance) { Falcon::ExportsLaunchExportRequest.new } + + describe 'test an instance of ExportsLaunchExportRequest' do + it 'should create an instance of ExportsLaunchExportRequest' do + expect(instance).to be_instance_of(Falcon::ExportsLaunchExportRequest) + end + end + describe 'test attribute "format"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fql"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sort"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/exports_launch_export_response_spec.rb b/spec/models/exports_launch_export_response_spec.rb new file mode 100644 index 00000000..806a98e9 --- /dev/null +++ b/spec/models/exports_launch_export_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ExportsLaunchExportResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ExportsLaunchExportResponse do + let(:instance) { Falcon::ExportsLaunchExportResponse.new } + + describe 'test an instance of ExportsLaunchExportResponse' do + it 'should create an instance of ExportsLaunchExportResponse' do + expect(instance).to be_instance_of(Falcon::ExportsLaunchExportResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/falconx_report_v1_spec.rb b/spec/models/falconx_report_v1_spec.rb index d41051de..89f9002e 100644 --- a/spec/models/falconx_report_v1_spec.rb +++ b/spec/models/falconx_report_v1_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::FalconxReportV1) end end + describe 'test attribute "aid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "cid"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -54,6 +60,12 @@ end end + describe 'test attribute "has_recording"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/falconx_sandbox_parameters_v1_spec.rb b/spec/models/falconx_sandbox_parameters_v1_spec.rb index 2ce8919b..5d832748 100644 --- a/spec/models/falconx_sandbox_parameters_v1_spec.rb +++ b/spec/models/falconx_sandbox_parameters_v1_spec.rb @@ -48,6 +48,12 @@ end end + describe 'test attribute "browser"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "command_line"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/falconx_sandbox_report_v1_spec.rb b/spec/models/falconx_sandbox_report_v1_spec.rb index 93af9bb6..ac96c11c 100644 --- a/spec/models/falconx_sandbox_report_v1_spec.rb +++ b/spec/models/falconx_sandbox_report_v1_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::FalconxSandboxReportV1) end end + describe 'test attribute "all_extracted_strings_artifact_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "architecture"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/falconx_summary_report_v1_spec.rb b/spec/models/falconx_summary_report_v1_spec.rb index 86d14a77..2555662a 100644 --- a/spec/models/falconx_summary_report_v1_spec.rb +++ b/spec/models/falconx_summary_report_v1_spec.rb @@ -54,6 +54,12 @@ end end + describe 'test attribute "has_recording"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/fielddata_field_source_option_spec.rb b/spec/models/fielddata_field_source_option_spec.rb new file mode 100644 index 00000000..7662f5d2 --- /dev/null +++ b/spec/models/fielddata_field_source_option_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::FielddataFieldSourceOption +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::FielddataFieldSourceOption do + let(:instance) { Falcon::FielddataFieldSourceOption.new } + + describe 'test an instance of FielddataFieldSourceOption' do + it 'should create an instance of FielddataFieldSourceOption' do + expect(instance).to be_instance_of(Falcon::FielddataFieldSourceOption) + end + end + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/fielddata_field_source_spec.rb b/spec/models/fielddata_field_source_spec.rb new file mode 100644 index 00000000..54c33843 --- /dev/null +++ b/spec/models/fielddata_field_source_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::FielddataFieldSource +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::FielddataFieldSource do + let(:instance) { Falcon::FielddataFieldSource.new } + + describe 'test an instance of FielddataFieldSource' do + it 'should create an instance of FielddataFieldSource' do + expect(instance).to be_instance_of(Falcon::FielddataFieldSource) + end + end + describe 'test attribute "case_sensitive"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sort"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "strict"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/fwmgr_msa_aggregate_query_request_spec.rb b/spec/models/fwmgr_msa_aggregate_query_request_spec.rb index 661468ec..27f25cb5 100644 --- a/spec/models/fwmgr_msa_aggregate_query_request_spec.rb +++ b/spec/models/fwmgr_msa_aggregate_query_request_spec.rb @@ -54,6 +54,12 @@ end end + describe 'test attribute "extended_bounds"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "field"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/fwmgr_msa_extended_bounds_spec_spec.rb b/spec/models/fwmgr_msa_extended_bounds_spec_spec.rb new file mode 100644 index 00000000..005cdf5d --- /dev/null +++ b/spec/models/fwmgr_msa_extended_bounds_spec_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::FwmgrMsaExtendedBoundsSpec +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::FwmgrMsaExtendedBoundsSpec do + let(:instance) { Falcon::FwmgrMsaExtendedBoundsSpec.new } + + describe 'test an instance of FwmgrMsaExtendedBoundsSpec' do + it 'should create an instance of FwmgrMsaExtendedBoundsSpec' do + expect(instance).to be_instance_of(Falcon::FwmgrMsaExtendedBoundsSpec) + end + end + describe 'test attribute "max"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "min"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/graph_condition_spec.rb b/spec/models/graph_condition_spec.rb index ee8c3450..fd305fa2 100644 --- a/spec/models/graph_condition_spec.rb +++ b/spec/models/graph_condition_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::GraphCondition) end end + describe 'test attribute "cel_expression"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "display"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/graph_configured_activity_spec.rb b/spec/models/graph_configured_activity_spec.rb index c0094a8f..303efb93 100644 --- a/spec/models/graph_configured_activity_spec.rb +++ b/spec/models/graph_configured_activity_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::GraphConfiguredActivity) end end + describe 'test attribute "_class"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "flows"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/graph_end_spec.rb b/spec/models/graph_end_spec.rb index 10d260c0..770576cd 100644 --- a/spec/models/graph_end_spec.rb +++ b/spec/models/graph_end_spec.rb @@ -54,4 +54,16 @@ end end + describe 'test attribute "output_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "summary"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/graph_multi_spec.rb b/spec/models/graph_multi_spec.rb index d3286644..4dd6ae3e 100644 --- a/spec/models/graph_multi_spec.rb +++ b/spec/models/graph_multi_spec.rb @@ -54,16 +54,34 @@ end end + describe 'test attribute "condition"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "continue_on_partial_execution"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "max_execution_seconds"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "max_iteration_count"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "sequential"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/graph_sub_model_spec.rb b/spec/models/graph_sub_model_spec.rb index 220ce57c..5288fdca 100644 --- a/spec/models/graph_sub_model_spec.rb +++ b/spec/models/graph_sub_model_spec.rb @@ -72,10 +72,4 @@ end end - describe 'test attribute "output_field"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - end diff --git a/spec/models/graph_validation_error_spec.rb b/spec/models/graph_validation_error_spec.rb index 138ad6b4..fd0bf53e 100644 --- a/spec/models/graph_validation_error_spec.rb +++ b/spec/models/graph_validation_error_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "message"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -84,4 +90,10 @@ end end + describe 'test attribute "resource_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/internal_sensor_status_spec.rb b/spec/models/internal_sensor_status_spec.rb index a837c50a..0c2d011b 100644 --- a/spec/models/internal_sensor_status_spec.rb +++ b/spec/models/internal_sensor_status_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "heartbeat_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "hostname"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/jsonschema_condition_group_fields_spec.rb b/spec/models/jsonschema_condition_group_fields_spec.rb index 94c040d0..20619667 100644 --- a/spec/models/jsonschema_condition_group_fields_spec.rb +++ b/spec/models/jsonschema_condition_group_fields_spec.rb @@ -66,6 +66,12 @@ end end + describe 'test attribute "requires_meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "reset_fields"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/domain_key_value_pair_spec.rb b/spec/models/jsonschema_duration_option_spec.rb similarity index 82% rename from spec/models/domain_key_value_pair_spec.rb rename to spec/models/jsonschema_duration_option_spec.rb index caf48361..3156f0b2 100644 --- a/spec/models/domain_key_value_pair_spec.rb +++ b/spec/models/jsonschema_duration_option_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainKeyValuePair +# Unit tests for Falcon::JsonschemaDurationOption # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainKeyValuePair do - let(:instance) { Falcon::DomainKeyValuePair.new } +describe Falcon::JsonschemaDurationOption do + let(:instance) { Falcon::JsonschemaDurationOption.new } - describe 'test an instance of DomainKeyValuePair' do - it 'should create an instance of DomainKeyValuePair' do - expect(instance).to be_instance_of(Falcon::DomainKeyValuePair) + describe 'test an instance of JsonschemaDurationOption' do + it 'should create an instance of JsonschemaDurationOption' do + expect(instance).to be_instance_of(Falcon::JsonschemaDurationOption) end end describe 'test attribute "name"' do diff --git a/spec/models/jsonschema_sub_schema_spec.rb b/spec/models/jsonschema_sub_schema_spec.rb index 678153bf..38fa080e 100644 --- a/spec/models/jsonschema_sub_schema_spec.rb +++ b/spec/models/jsonschema_sub_schema_spec.rb @@ -318,6 +318,12 @@ end end + describe 'test attribute "x_cs_immutable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "x_cs_indexable"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -390,6 +396,12 @@ end end + describe 'test attribute "x_cs_ui"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "x_cs_workflow"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/jsonschema_ui_extensions_spec.rb b/spec/models/jsonschema_ui_extensions_spec.rb new file mode 100644 index 00000000..9cc1b976 --- /dev/null +++ b/spec/models/jsonschema_ui_extensions_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::JsonschemaUIExtensions +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::JsonschemaUIExtensions do + let(:instance) { Falcon::JsonschemaUIExtensions.new } + + describe 'test an instance of JsonschemaUIExtensions' do + it 'should create an instance of JsonschemaUIExtensions' do + expect(instance).to be_instance_of(Falcon::JsonschemaUIExtensions) + end + end + describe 'test attribute "accept"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "component"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "custom_group_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "duration_options"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "encoding"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "helper_text"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/jsonschema_workflow_extensions_spec.rb b/spec/models/jsonschema_workflow_extensions_spec.rb index 9733530b..bd7e9658 100644 --- a/spec/models/jsonschema_workflow_extensions_spec.rb +++ b/spec/models/jsonschema_workflow_extensions_spec.rb @@ -48,6 +48,12 @@ end end + describe 'test attribute "max_file_size"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/k8sassets_cluster_enrichment_data_spec.rb b/spec/models/k8sassets_cluster_enrichment_data_spec.rb index a8d94db0..f48a0357 100644 --- a/spec/models/k8sassets_cluster_enrichment_data_spec.rb +++ b/spec/models/k8sassets_cluster_enrichment_data_spec.rb @@ -48,6 +48,12 @@ end end + describe 'test attribute "image_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "node_count"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/k8sioms_kubernetes_iom_count_value_spec.rb b/spec/models/k8sioms_kubernetes_iom_count_value_spec.rb index d976992b..e8cebf5f 100644 --- a/spec/models/k8sioms_kubernetes_iom_count_value_spec.rb +++ b/spec/models/k8sioms_kubernetes_iom_count_value_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::K8siomsKubernetesIOMCountValue) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/k8sioms_kubernetes_iom_field_value_spec.rb b/spec/models/k8sioms_kubernetes_iom_field_value_spec.rb index fe812893..ea689cf4 100644 --- a/spec/models/k8sioms_kubernetes_iom_field_value_spec.rb +++ b/spec/models/k8sioms_kubernetes_iom_field_value_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::K8siomsKubernetesIOMFieldValue) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/messages_case_spec.rb b/spec/models/messages_case_spec.rb index 5c784901..dec5c827 100644 --- a/spec/models/messages_case_spec.rb +++ b/spec/models/messages_case_spec.rb @@ -120,6 +120,24 @@ end end + describe 'test attribute "malware_submission_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "malware_submission_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recon_rule_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "status"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/models_api_customer_and_image_spec.rb b/spec/models/models_api_customer_and_image_spec.rb index c524ac9c..b6e9bb40 100644 --- a/spec/models/models_api_customer_and_image_spec.rb +++ b/spec/models/models_api_customer_and_image_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::ModelsAPICustomerAndImage) end end + describe 'test attribute "base_image_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "base_os"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -114,6 +120,12 @@ end end + describe 'test attribute "is_base_image"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "registry"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -126,6 +138,18 @@ end end + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source_base_image"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "tag"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -144,4 +168,10 @@ end end + describe 'test attribute "warning"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/models_api_image_combined_export_spec.rb b/spec/models/models_api_image_combined_export_spec.rb index 5e70dbe5..4ca53f9d 100644 --- a/spec/models/models_api_image_combined_export_spec.rb +++ b/spec/models/models_api_image_combined_export_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::ModelsAPIImageCombinedExport) end end + describe 'test attribute "architecture"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "base_os"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -102,6 +108,12 @@ end end + describe 'test attribute "is_base_image"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "last_seen"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -126,6 +138,12 @@ end end + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "started_containers"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/models_base_image_request_spec.rb b/spec/models/models_base_image_request_spec.rb new file mode 100644 index 00000000..7e83fd54 --- /dev/null +++ b/spec/models/models_base_image_request_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsBaseImageRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsBaseImageRequest do + let(:instance) { Falcon::ModelsBaseImageRequest.new } + + describe 'test an instance of ModelsBaseImageRequest' do + it 'should create an instance of ModelsBaseImageRequest' do + expect(instance).to be_instance_of(Falcon::ModelsBaseImageRequest) + end + end + describe 'test attribute "image_digest"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "registry"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "repository"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_cluster_info_spec.rb b/spec/models/models_cluster_info_spec.rb new file mode 100644 index 00000000..1b740a9b --- /dev/null +++ b/spec/models/models_cluster_info_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsClusterInfo +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsClusterInfo do + let(:instance) { Falcon::ModelsClusterInfo.new } + + describe 'test an instance of ModelsClusterInfo' do + it 'should create an instance of ModelsClusterInfo' do + expect(instance).to be_instance_of(Falcon::ModelsClusterInfo) + end + end + describe 'test attribute "cloud"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_region"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_service"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cluster_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cluster_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_cluster_spec.rb b/spec/models/models_cluster_spec.rb index 82500447..e819a95d 100644 --- a/spec/models/models_cluster_spec.rb +++ b/spec/models/models_cluster_spec.rb @@ -84,6 +84,12 @@ end end + describe 'test attribute "cloud_service"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "cluster_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -120,6 +126,18 @@ end end + describe 'test attribute "iar_coverage"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "kac_agent_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "kubernetes_version"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/models_cluster_with_failed_rules_spec.rb b/spec/models/models_cluster_with_failed_rules_spec.rb new file mode 100644 index 00000000..2990e0d2 --- /dev/null +++ b/spec/models/models_cluster_with_failed_rules_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsClusterWithFailedRules +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsClusterWithFailedRules do + let(:instance) { Falcon::ModelsClusterWithFailedRules.new } + + describe 'test an instance of ModelsClusterWithFailedRules' do + it 'should create an instance of ModelsClusterWithFailedRules' do + expect(instance).to be_instance_of(Falcon::ModelsClusterWithFailedRules) + end + end + describe 'test attribute "_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_3"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_4"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cluster_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cluster_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_compliance_by_rules_spec.rb b/spec/models/models_compliance_by_rules_spec.rb new file mode 100644 index 00000000..3b92ddc0 --- /dev/null +++ b/spec/models/models_compliance_by_rules_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsComplianceByRules +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsComplianceByRules do + let(:instance) { Falcon::ModelsComplianceByRules.new } + + describe 'test an instance of ModelsComplianceByRules' do + it 'should create an instance of ModelsComplianceByRules' do + expect(instance).to be_instance_of(Falcon::ModelsComplianceByRules) + end + end + describe 'test attribute "not_applicable_filters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "percentage_of_passed_rules"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rule_status_list"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_compliance_export_grouped_by_clusters_report_spec.rb b/spec/models/models_compliance_export_grouped_by_clusters_report_spec.rb new file mode 100644 index 00000000..60b21e3a --- /dev/null +++ b/spec/models/models_compliance_export_grouped_by_clusters_report_spec.rb @@ -0,0 +1,135 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsComplianceExportGroupedByClustersReport +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsComplianceExportGroupedByClustersReport do + let(:instance) { Falcon::ModelsComplianceExportGroupedByClustersReport.new } + + describe 'test an instance of ModelsComplianceExportGroupedByClustersReport' do + it 'should create an instance of ModelsComplianceExportGroupedByClustersReport' do + expect(instance).to be_instance_of(Falcon::ModelsComplianceExportGroupedByClustersReport) + end + end + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_provider"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_region"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cluster_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "failed_critical_rules"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "failed_high_rules"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "failed_rules"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "failed_rules_list"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "non_compliant_containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "non_compliant_images"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "passed_rules"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "percentage_of_compliant_assets"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_images"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_compliance_export_grouped_by_images_report_spec.rb b/spec/models/models_compliance_export_grouped_by_images_report_spec.rb new file mode 100644 index 00000000..cabb1dd5 --- /dev/null +++ b/spec/models/models_compliance_export_grouped_by_images_report_spec.rb @@ -0,0 +1,111 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsComplianceExportGroupedByImagesReport +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsComplianceExportGroupedByImagesReport do + let(:instance) { Falcon::ModelsComplianceExportGroupedByImagesReport.new } + + describe 'test an instance of ModelsComplianceExportGroupedByImagesReport' do + it 'should create an instance of ModelsComplianceExportGroupedByImagesReport' do + expect(instance).to be_instance_of(Falcon::ModelsComplianceExportGroupedByImagesReport) + end + end + describe 'test attribute "authority"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_digest"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_registry"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_repository"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recommendation_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "severity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_compliance_export_grouped_by_rules_report_spec.rb b/spec/models/models_compliance_export_grouped_by_rules_report_spec.rb new file mode 100644 index 00000000..e6afbed7 --- /dev/null +++ b/spec/models/models_compliance_export_grouped_by_rules_report_spec.rb @@ -0,0 +1,123 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsComplianceExportGroupedByRulesReport +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsComplianceExportGroupedByRulesReport do + let(:instance) { Falcon::ModelsComplianceExportGroupedByRulesReport.new } + + describe 'test an instance of ModelsComplianceExportGroupedByRulesReport' do + it 'should create an instance of ModelsComplianceExportGroupedByRulesReport' do + expect(instance).to be_instance_of(Falcon::ModelsComplianceExportGroupedByRulesReport) + end + end + describe 'test attribute "asset_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "authority"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "clusters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "clusters_list"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "failed_containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "failed_images"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "passed_containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "passed_images"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rule_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "severity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_images"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_container_image_spec.rb b/spec/models/models_container_image_spec.rb index 3ff5931f..7c23b1b5 100644 --- a/spec/models/models_container_image_spec.rb +++ b/spec/models/models_container_image_spec.rb @@ -48,6 +48,12 @@ end end + describe 'test attribute "cluster_info"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "container_count"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/models_container_spec.rb b/spec/models/models_container_spec.rb index 44ddd0e8..5e873d38 100644 --- a/spec/models/models_container_spec.rb +++ b/spec/models/models_container_spec.rb @@ -60,13 +60,13 @@ end end - describe 'test attribute "cloud"' do + describe 'test attribute "cloud_account_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "cloud_account_id"' do + describe 'test attribute "cloud_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -78,43 +78,43 @@ end end - describe 'test attribute "cluster_id"' do + describe 'test attribute "cloud_service"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "cluster_name"' do + describe 'test attribute "cluster_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "config_labels"' do + describe 'test attribute "cluster_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "config_user"' do + describe 'test attribute "config_labels"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "container_image_id"' do + describe 'test attribute "container_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "created_at"' do + describe 'test attribute "container_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "cve_ids"' do + describe 'test attribute "created_at"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -126,18 +126,6 @@ end end - describe 'test attribute "host_config_devices"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "id"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "image_application_package_count"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -156,24 +144,6 @@ end end - describe 'test attribute "image_detection_id_list"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "image_detection_name_list"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "image_detection_severity_by_type"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "image_digest"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -210,7 +180,7 @@ end end - describe 'test attribute "image_repo"' do + describe 'test attribute "image_repository"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -228,12 +198,6 @@ end end - describe 'test attribute "image_vulnerability_severity_by_type"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "insecure_mount_source"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -270,7 +234,7 @@ end end - describe 'test attribute "kpa_coverage"' do + describe 'test attribute "kac_agent_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -294,61 +258,19 @@ end end - describe 'test attribute "linux_sensor_aid"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "linux_sensor_config_build"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "linux_sensor_coverage"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "lumos_sensor_aid"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "lumos_sensor_config_build"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "lumos_sensor_coverage"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "name"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "namespace"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "node_id"' do + describe 'test attribute "node_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "node_name"' do + describe 'test attribute "node_uid"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -366,7 +288,7 @@ end end - describe 'test attribute "port_list"' do + describe 'test attribute "ports"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end @@ -384,12 +306,6 @@ end end - describe 'test attribute "rpd"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "run_as_root_group"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -408,18 +324,6 @@ end end - describe 'test attribute "snapshot_coverage"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - - describe 'test attribute "unidentified"' do - it 'should work' do - # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ - end - end - describe 'test attribute "volume_mounts"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/models_create_base_images_request_spec.rb b/spec/models/models_create_base_images_request_spec.rb new file mode 100644 index 00000000..bdaceca7 --- /dev/null +++ b/spec/models/models_create_base_images_request_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsCreateBaseImagesRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsCreateBaseImagesRequest do + let(:instance) { Falcon::ModelsCreateBaseImagesRequest.new } + + describe 'test an instance of ModelsCreateBaseImagesRequest' do + it 'should create an instance of ModelsCreateBaseImagesRequest' do + expect(instance).to be_instance_of(Falcon::ModelsCreateBaseImagesRequest) + end + end + describe 'test attribute "base_images"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_create_deployment_input_spec.rb b/spec/models/models_create_deployment_input_spec.rb new file mode 100644 index 00000000..748132c6 --- /dev/null +++ b/spec/models/models_create_deployment_input_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsCreateDeploymentInput +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsCreateDeploymentInput do + let(:instance) { Falcon::ModelsCreateDeploymentInput.new } + + describe 'test an instance of ModelsCreateDeploymentInput' do + it 'should create an instance of ModelsCreateDeploymentInput' do + expect(instance).to be_instance_of(Falcon::ModelsCreateDeploymentInput) + end + end + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_delivery_settings_entity_response_spec.rb b/spec/models/models_delivery_settings_entity_response_spec.rb new file mode 100644 index 00000000..955afdef --- /dev/null +++ b/spec/models/models_delivery_settings_entity_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsDeliverySettingsEntityResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsDeliverySettingsEntityResponse do + let(:instance) { Falcon::ModelsDeliverySettingsEntityResponse.new } + + describe 'test an instance of ModelsDeliverySettingsEntityResponse' do + it 'should create an instance of ModelsDeliverySettingsEntityResponse' do + expect(instance).to be_instance_of(Falcon::ModelsDeliverySettingsEntityResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_delivery_settings_input_spec.rb b/spec/models/models_delivery_settings_input_spec.rb new file mode 100644 index 00000000..3ffc80a5 --- /dev/null +++ b/spec/models/models_delivery_settings_input_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsDeliverySettingsInput +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsDeliverySettingsInput do + let(:instance) { Falcon::ModelsDeliverySettingsInput.new } + + describe 'test an instance of ModelsDeliverySettingsInput' do + it 'should create an instance of ModelsDeliverySettingsInput' do + expect(instance).to be_instance_of(Falcon::ModelsDeliverySettingsInput) + end + end + describe 'test attribute "delivery_cadence"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "delivery_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_delivery_settings_request_spec.rb b/spec/models/models_delivery_settings_request_spec.rb new file mode 100644 index 00000000..8867e93b --- /dev/null +++ b/spec/models/models_delivery_settings_request_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsDeliverySettingsRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsDeliverySettingsRequest do + let(:instance) { Falcon::ModelsDeliverySettingsRequest.new } + + describe 'test an instance of ModelsDeliverySettingsRequest' do + it 'should create an instance of ModelsDeliverySettingsRequest' do + expect(instance).to be_instance_of(Falcon::ModelsDeliverySettingsRequest) + end + end + describe 'test attribute "delivery_settings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_delivery_settings_spec.rb b/spec/models/models_delivery_settings_spec.rb new file mode 100644 index 00000000..72ebae9a --- /dev/null +++ b/spec/models/models_delivery_settings_spec.rb @@ -0,0 +1,123 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsDeliverySettings +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsDeliverySettings do + let(:instance) { Falcon::ModelsDeliverySettings.new } + + describe 'test an instance of ModelsDeliverySettings' do + it 'should create an instance of ModelsDeliverySettings' do + expect(instance).to be_instance_of(Falcon::ModelsDeliverySettings) + end + end + describe 'test attribute "api_created_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "api_updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "api_updated_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "deleted_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "delivery_cadence"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "delivery_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "uuid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_deployment_resource_spec.rb b/spec/models/models_deployment_resource_spec.rb new file mode 100644 index 00000000..27c4de7a --- /dev/null +++ b/spec/models/models_deployment_resource_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsDeploymentResource +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsDeploymentResource do + let(:instance) { Falcon::ModelsDeploymentResource.new } + + describe 'test an instance of ModelsDeploymentResource' do + it 'should create an instance of ModelsDeploymentResource' do + expect(instance).to be_instance_of(Falcon::ModelsDeploymentResource) + end + end + describe 'test attribute "account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "asset_identifier"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_provider"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "region"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_deployment_spec.rb b/spec/models/models_deployment_spec.rb index 6644f48c..b45eabd8 100644 --- a/spec/models/models_deployment_spec.rb +++ b/spec/models/models_deployment_spec.rb @@ -42,55 +42,175 @@ expect(instance).to be_instance_of(Falcon::ModelsDeployment) end end - describe 'test attribute "account_id"' do + describe 'test attribute "agents"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "asset_identifier"' do + describe 'test attribute "annotations"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "cloud_provider"' do + describe 'test attribute "annotations_list"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "id"' do + describe 'test attribute "cid"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "instance_type"' do + describe 'test attribute "cloud_account_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "last_updated_timestamp"' do + describe 'test attribute "cloud_name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "region"' do + describe 'test attribute "cloud_region"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "status"' do + describe 'test attribute "cloud_service"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cluster_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cluster_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "container_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "created_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "deployment_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "deployment_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "kac_agent_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "labels"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "status_detail"' do + describe 'test attribute "labels_list"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "management_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "namespace"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pod_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "revision"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "selector"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_account_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/models_detection_engine_info_type_spec.rb b/spec/models/models_detection_engine_info_type_spec.rb new file mode 100644 index 00000000..fb31fa0c --- /dev/null +++ b/spec/models/models_detection_engine_info_type_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsDetectionEngineInfoType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsDetectionEngineInfoType do + let(:instance) { Falcon::ModelsDetectionEngineInfoType.new } + + describe 'test an instance of ModelsDetectionEngineInfoType' do + it 'should create an instance of ModelsDetectionEngineInfoType' do + expect(instance).to be_instance_of(Falcon::ModelsDetectionEngineInfoType) + end + end + describe 'test attribute "apk_static_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "engine_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "performed_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_detection_info_type_spec.rb b/spec/models/models_detection_info_type_spec.rb new file mode 100644 index 00000000..70ae6807 --- /dev/null +++ b/spec/models/models_detection_info_type_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsDetectionInfoType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsDetectionInfoType do + let(:instance) { Falcon::ModelsDetectionInfoType.new } + + describe 'test an instance of ModelsDetectionInfoType' do + it 'should create an instance of ModelsDetectionInfoType' do + expect(instance).to be_instance_of(Falcon::ModelsDetectionInfoType) + end + end + describe 'test attribute "detection"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_detection_spec.rb b/spec/models/models_detection_spec.rb new file mode 100644 index 00000000..ecb89705 --- /dev/null +++ b/spec/models/models_detection_spec.rb @@ -0,0 +1,105 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsDetection +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsDetection do + let(:instance) { Falcon::ModelsDetection.new } + + describe 'test an instance of ModelsDetection' do + it 'should create an instance of ModelsDetection' do + expect(instance).to be_instance_of(Falcon::ModelsDetection) + end + end + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "details"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hash"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remediation"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "severity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "title"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_elf_binary_spec.rb b/spec/models/models_elf_binary_spec.rb new file mode 100644 index 00000000..9fb24250 --- /dev/null +++ b/spec/models/models_elf_binary_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsELFBinary +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsELFBinary do + let(:instance) { Falcon::ModelsELFBinary.new } + + describe 'test an instance of ModelsELFBinary' do + it 'should create an instance of ModelsELFBinary' do + expect(instance).to be_instance_of(Falcon::ModelsELFBinary) + end + end + describe 'test attribute "hash"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "permissions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "size"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_ext_api_image_combined_spec.rb b/spec/models/models_ext_api_image_combined_spec.rb index 779d01d7..70a06085 100644 --- a/spec/models/models_ext_api_image_combined_spec.rb +++ b/spec/models/models_ext_api_image_combined_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::ModelsExtAPIImageCombined) end end + describe 'test attribute "architecture"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "base_os"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/models_image_details_spec.rb b/spec/models/models_image_details_spec.rb new file mode 100644 index 00000000..1d8efa43 --- /dev/null +++ b/spec/models/models_image_details_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsImageDetails +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsImageDetails do + let(:instance) { Falcon::ModelsImageDetails.new } + + describe 'test an instance of ModelsImageDetails' do + it 'should create an instance of ModelsImageDetails' do + expect(instance).to be_instance_of(Falcon::ModelsImageDetails) + end + end + describe 'test attribute "digest"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "registry"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "repository"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_image_with_rules_failed_spec.rb b/spec/models/models_image_with_rules_failed_spec.rb new file mode 100644 index 00000000..9386bbe8 --- /dev/null +++ b/spec/models/models_image_with_rules_failed_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsImageWithRulesFailed +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsImageWithRulesFailed do + let(:instance) { Falcon::ModelsImageWithRulesFailed.new } + + describe 'test an instance of ModelsImageWithRulesFailed' do + it 'should create an instance of ModelsImageWithRulesFailed' do + expect(instance).to be_instance_of(Falcon::ModelsImageWithRulesFailed) + end + end + describe 'test attribute "_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_3"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_4"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_digest"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_registry"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_repository"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_images_with_rules_failed_spec.rb b/spec/models/models_images_with_rules_failed_spec.rb new file mode 100644 index 00000000..760020cb --- /dev/null +++ b/spec/models/models_images_with_rules_failed_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsImagesWithRulesFailed +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsImagesWithRulesFailed do + let(:instance) { Falcon::ModelsImagesWithRulesFailed.new } + + describe 'test an instance of ModelsImagesWithRulesFailed' do + it 'should create an instance of ModelsImagesWithRulesFailed' do + expect(instance).to be_instance_of(Falcon::ModelsImagesWithRulesFailed) + end + end + describe 'test attribute "images"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "not_applicable_filters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_job_meta_data_spec.rb b/spec/models/models_job_meta_data_spec.rb new file mode 100644 index 00000000..25183f94 --- /dev/null +++ b/spec/models/models_job_meta_data_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsJobMetaData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsJobMetaData do + let(:instance) { Falcon::ModelsJobMetaData.new } + + describe 'test an instance of ModelsJobMetaData' do + it 'should create an instance of ModelsJobMetaData' do + expect(instance).to be_instance_of(Falcon::ModelsJobMetaData) + end + end + describe 'test attribute "cloud_provider"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "instance_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_end_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_start_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "scanner_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_mock_execution_create_request_v1_spec.rb b/spec/models/models_mock_execution_create_request_v1_spec.rb new file mode 100644 index 00000000..4ebaad01 --- /dev/null +++ b/spec/models/models_mock_execution_create_request_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsMockExecutionCreateRequestV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsMockExecutionCreateRequestV1 do + let(:instance) { Falcon::ModelsMockExecutionCreateRequestV1.new } + + describe 'test an instance of ModelsMockExecutionCreateRequestV1' do + it 'should create an instance of ModelsMockExecutionCreateRequestV1' do + expect(instance).to be_instance_of(Falcon::ModelsMockExecutionCreateRequestV1) + end + end + describe 'test attribute "definition"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mocks"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "on_demand_trigger"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_node_spec.rb b/spec/models/models_node_spec.rb index ad16261c..8f976501 100644 --- a/spec/models/models_node_spec.rb +++ b/spec/models/models_node_spec.rb @@ -102,6 +102,12 @@ end end + describe 'test attribute "cloud_service"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "cluster_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -138,6 +144,12 @@ end end + describe 'test attribute "deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "external_ip"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -162,6 +174,12 @@ end end + describe 'test attribute "kac_agent_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "kernel_version"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -240,6 +258,12 @@ end end + describe 'test attribute "resource_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "storage"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/models_non_compliant_assets_by_severity_spec.rb b/spec/models/models_non_compliant_assets_by_severity_spec.rb new file mode 100644 index 00000000..f3c1b03b --- /dev/null +++ b/spec/models/models_non_compliant_assets_by_severity_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsNonCompliantAssetsBySeverity +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsNonCompliantAssetsBySeverity do + let(:instance) { Falcon::ModelsNonCompliantAssetsBySeverity.new } + + describe 'test an instance of ModelsNonCompliantAssetsBySeverity' do + it 'should create an instance of ModelsNonCompliantAssetsBySeverity' do + expect(instance).to be_instance_of(Falcon::ModelsNonCompliantAssetsBySeverity) + end + end + describe 'test attribute "_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_3"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_4"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "not_applicable_filters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_os_info_type_spec.rb b/spec/models/models_os_info_type_spec.rb new file mode 100644 index 00000000..bec4af7f --- /dev/null +++ b/spec/models/models_os_info_type_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsOSInfoType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsOSInfoType do + let(:instance) { Falcon::ModelsOSInfoType.new } + + describe 'test an instance of ModelsOSInfoType' do + it 'should create an instance of ModelsOSInfoType' do + expect(instance).to be_instance_of(Falcon::ModelsOSInfoType) + end + end + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_package_vulnerability_type_spec.rb b/spec/models/models_package_vulnerability_type_spec.rb new file mode 100644 index 00000000..21ec61db --- /dev/null +++ b/spec/models/models_package_vulnerability_type_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsPackageVulnerabilityType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsPackageVulnerabilityType do + let(:instance) { Falcon::ModelsPackageVulnerabilityType.new } + + describe 'test an instance of ModelsPackageVulnerabilityType' do + it 'should create an instance of ModelsPackageVulnerabilityType' do + expect(instance).to be_instance_of(Falcon::ModelsPackageVulnerabilityType) + end + end + describe 'test attribute "vulnerability"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_pod_spec.rb b/spec/models/models_pod_spec.rb index 4e656585..82d3268d 100644 --- a/spec/models/models_pod_spec.rb +++ b/spec/models/models_pod_spec.rb @@ -90,6 +90,12 @@ end end + describe 'test attribute "cloud_service"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "cluster_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -120,6 +126,12 @@ end end + describe 'test attribute "deleted_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "first_seen"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -162,6 +174,12 @@ end end + describe 'test attribute "kac_agent_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "labels"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -252,6 +270,12 @@ end end + describe 'test attribute "resource_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "root_write_access"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/models_policy_entity_response_spec.rb b/spec/models/models_policy_entity_response_spec.rb index ee114861..b2bed3d2 100644 --- a/spec/models/models_policy_entity_response_spec.rb +++ b/spec/models/models_policy_entity_response_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::ModelsPolicyEntityResponse) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/models_policy_exclusion_entity_response_spec.rb b/spec/models/models_policy_exclusion_entity_response_spec.rb index 186d096a..a513a16a 100644 --- a/spec/models/models_policy_exclusion_entity_response_spec.rb +++ b/spec/models/models_policy_exclusion_entity_response_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::ModelsPolicyExclusionEntityResponse) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/models_policy_group_entity_response_spec.rb b/spec/models/models_policy_group_entity_response_spec.rb index daf8d535..f3c9c436 100644 --- a/spec/models/models_policy_group_entity_response_spec.rb +++ b/spec/models/models_policy_group_entity_response_spec.rb @@ -42,19 +42,19 @@ expect(instance).to be_instance_of(Falcon::ModelsPolicyGroupEntityResponse) end end - describe 'test attribute "resources"' do + describe 'test attribute "errors"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "errors"' do + describe 'test attribute "meta"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "meta"' do + describe 'test attribute "resources"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/models_rule_status_spec.rb b/spec/models/models_rule_status_spec.rb new file mode 100644 index 00000000..34b59bae --- /dev/null +++ b/spec/models/models_rule_status_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsRuleStatus +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsRuleStatus do + let(:instance) { Falcon::ModelsRuleStatus.new } + + describe 'test an instance of ModelsRuleStatus' do + it 'should create an instance of ModelsRuleStatus' do + expect(instance).to be_instance_of(Falcon::ModelsRuleStatus) + end + end + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recommendation_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_rule_with_non_compliant_assets_spec.rb b/spec/models/models_rule_with_non_compliant_assets_spec.rb new file mode 100644 index 00000000..82668fa1 --- /dev/null +++ b/spec/models/models_rule_with_non_compliant_assets_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsRuleWithNonCompliantAssets +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsRuleWithNonCompliantAssets do + let(:instance) { Falcon::ModelsRuleWithNonCompliantAssets.new } + + describe 'test an instance of ModelsRuleWithNonCompliantAssets' do + it 'should create an instance of ModelsRuleWithNonCompliantAssets' do + expect(instance).to be_instance_of(Falcon::ModelsRuleWithNonCompliantAssets) + end + end + describe 'test attribute "asset_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "recommendation_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "severity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_rules_failed_by_severity_spec.rb b/spec/models/models_rules_failed_by_severity_spec.rb new file mode 100644 index 00000000..afb62d30 --- /dev/null +++ b/spec/models/models_rules_failed_by_severity_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsRulesFailedBySeverity +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsRulesFailedBySeverity do + let(:instance) { Falcon::ModelsRulesFailedBySeverity.new } + + describe 'test an instance of ModelsRulesFailedBySeverity' do + it 'should create an instance of ModelsRulesFailedBySeverity' do + expect(instance).to be_instance_of(Falcon::ModelsRulesFailedBySeverity) + end + end + describe 'test attribute "_1"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_3"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "_4"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_rules_with_non_compliant_assets_spec.rb b/spec/models/models_rules_with_non_compliant_assets_spec.rb new file mode 100644 index 00000000..d1f62488 --- /dev/null +++ b/spec/models/models_rules_with_non_compliant_assets_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsRulesWithNonCompliantAssets +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsRulesWithNonCompliantAssets do + let(:instance) { Falcon::ModelsRulesWithNonCompliantAssets.new } + + describe 'test an instance of ModelsRulesWithNonCompliantAssets' do + it 'should create an instance of ModelsRulesWithNonCompliantAssets' do + expect(instance).to be_instance_of(Falcon::ModelsRulesWithNonCompliantAssets) + end + end + describe 'test attribute "not_applicable_filters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rules"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_scan_report_type_spec.rb b/spec/models/models_scan_report_type_spec.rb new file mode 100644 index 00000000..e324af75 --- /dev/null +++ b/spec/models/models_scan_report_type_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsScanReportType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsScanReportType do + let(:instance) { Falcon::ModelsScanReportType.new } + + describe 'test an instance of ModelsScanReportType' do + it 'should create an instance of ModelsScanReportType' do + expect(instance).to be_instance_of(Falcon::ModelsScanReportType) + end + end + describe 'test attribute "application_packages"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "detection_engine_info"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "detections"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vulnerabilities"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vulnerabilities_truncated"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "job_metadata"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "os_info"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "results"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_scan_results_spec.rb b/spec/models/models_scan_results_spec.rb new file mode 100644 index 00000000..e4e7e919 --- /dev/null +++ b/spec/models/models_scan_results_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsScanResults +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsScanResults do + let(:instance) { Falcon::ModelsScanResults.new } + + describe 'test an instance of ModelsScanResults' do + it 'should create an instance of ModelsScanResults' do + expect(instance).to be_instance_of(Falcon::ModelsScanResults) + end + end + describe 'test attribute "applications"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "containers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "elf_binaries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "os_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_snapshot_inventory_application_spec.rb b/spec/models/models_snapshot_inventory_application_spec.rb new file mode 100644 index 00000000..c21ef71b --- /dev/null +++ b/spec/models/models_snapshot_inventory_application_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsSnapshotInventoryApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsSnapshotInventoryApplication do + let(:instance) { Falcon::ModelsSnapshotInventoryApplication.new } + + describe 'test an instance of ModelsSnapshotInventoryApplication' do + it 'should create an instance of ModelsSnapshotInventoryApplication' do + expect(instance).to be_instance_of(Falcon::ModelsSnapshotInventoryApplication) + end + end + describe 'test attribute "major_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "package_hash"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "package_provider"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "package_source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "product"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "software_architecture"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vendor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_vulnerabilities_type_spec.rb b/spec/models/models_vulnerabilities_type_spec.rb new file mode 100644 index 00000000..7a99d9d5 --- /dev/null +++ b/spec/models/models_vulnerabilities_type_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsVulnerabilitiesType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsVulnerabilitiesType do + let(:instance) { Falcon::ModelsVulnerabilitiesType.new } + + describe 'test an instance of ModelsVulnerabilitiesType' do + it 'should create an instance of ModelsVulnerabilitiesType' do + expect(instance).to be_instance_of(Falcon::ModelsVulnerabilitiesType) + end + end + describe 'test attribute "cve_mapping"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_vulnerability_product_spec.rb b/spec/models/models_vulnerability_product_spec.rb new file mode 100644 index 00000000..4899716d --- /dev/null +++ b/spec/models/models_vulnerability_product_spec.rb @@ -0,0 +1,111 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsVulnerabilityProduct +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsVulnerabilityProduct do + let(:instance) { Falcon::ModelsVulnerabilityProduct.new } + + describe 'test an instance of ModelsVulnerabilityProduct' do + it 'should create an instance of ModelsVulnerabilityProduct' do + expect(instance).to be_instance_of(Falcon::ModelsVulnerabilityProduct) + end + end + describe 'test attribute "major_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "package_hash"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "package_provider"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "package_source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "package_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "platform_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "product"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "product_normalized"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "software_architecture"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vendor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/models_vulnerability_type_spec.rb b/spec/models/models_vulnerability_type_spec.rb new file mode 100644 index 00000000..5ac3aaa4 --- /dev/null +++ b/spec/models/models_vulnerability_type_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ModelsVulnerabilityType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ModelsVulnerabilityType do + let(:instance) { Falcon::ModelsVulnerabilityType.new } + + describe 'test an instance of ModelsVulnerabilityType' do + it 'should create an instance of ModelsVulnerabilityType' do + expect(instance).to be_instance_of(Falcon::ModelsVulnerabilityType) + end + end + describe 'test attribute "cveid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "content_data_hash"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "details"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploit_details"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fixed_versions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "product"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remediation"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/msa_aggregate_query_request_spec.rb b/spec/models/msa_aggregate_query_request_spec.rb index f92f359a..09c3a270 100644 --- a/spec/models/msa_aggregate_query_request_spec.rb +++ b/spec/models/msa_aggregate_query_request_spec.rb @@ -54,6 +54,12 @@ end end + describe 'test attribute "extended_bounds"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "field"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/msa_entity_action_request_v3_spec.rb b/spec/models/msa_entity_action_request_v3_spec.rb new file mode 100644 index 00000000..745d5824 --- /dev/null +++ b/spec/models/msa_entity_action_request_v3_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::MsaEntityActionRequestV3 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::MsaEntityActionRequestV3 do + let(:instance) { Falcon::MsaEntityActionRequestV3.new } + + describe 'test an instance of MsaEntityActionRequestV3' do + it 'should create an instance of MsaEntityActionRequestV3' do + expect(instance).to be_instance_of(Falcon::MsaEntityActionRequestV3) + end + end + describe 'test attribute "action_parameters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "filter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/msa_extended_bounds_spec_spec.rb b/spec/models/msa_extended_bounds_spec_spec.rb new file mode 100644 index 00000000..5b7d95b8 --- /dev/null +++ b/spec/models/msa_extended_bounds_spec_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::MsaExtendedBoundsSpec +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::MsaExtendedBoundsSpec do + let(:instance) { Falcon::MsaExtendedBoundsSpec.new } + + describe 'test an instance of MsaExtendedBoundsSpec' do + it 'should create an instance of MsaExtendedBoundsSpec' do + expect(instance).to be_instance_of(Falcon::MsaExtendedBoundsSpec) + end + end + describe 'test attribute "max"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "min"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/parameter_activity_config_parameter_value_spec.rb b/spec/models/parameter_activity_config_parameter_value_spec.rb index 558bb1b1..e62db9f9 100644 --- a/spec/models/parameter_activity_config_parameter_value_spec.rb +++ b/spec/models/parameter_activity_config_parameter_value_spec.rb @@ -54,6 +54,12 @@ end end + describe 'test attribute "helper_text"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "required"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/parameter_condition_field_parameter_spec.rb b/spec/models/parameter_condition_field_parameter_spec.rb index 0834522f..323e5b67 100644 --- a/spec/models/parameter_condition_field_parameter_spec.rb +++ b/spec/models/parameter_condition_field_parameter_spec.rb @@ -54,6 +54,12 @@ end end + describe 'test attribute "helper_text"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "multiple"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/parameter_condition_field_provision_parameter_spec.rb b/spec/models/parameter_condition_field_provision_parameter_spec.rb index 700d5ca9..f28f44f5 100644 --- a/spec/models/parameter_condition_field_provision_parameter_spec.rb +++ b/spec/models/parameter_condition_field_provision_parameter_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::ParameterConditionFieldProvisionParameter) end end + describe 'test attribute "condition_group_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/patterndisposition_pattern_disposition_spec.rb b/spec/models/patterndisposition_pattern_disposition_spec.rb index 5213c0c9..64914647 100644 --- a/spec/models/patterndisposition_pattern_disposition_spec.rb +++ b/spec/models/patterndisposition_pattern_disposition_spec.rb @@ -54,6 +54,12 @@ end end + describe 'test attribute "containment_file_system"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "critical_process_disabled"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -114,6 +120,12 @@ end end + describe 'test attribute "mfa_required"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "operation_blocked"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -126,6 +138,12 @@ end end + describe 'test attribute "prevention_provisioning_enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "process_blocked"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -150,6 +168,24 @@ end end + describe 'test attribute "response_action_already_applied"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "response_action_failed"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "response_action_triggered"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "rooting"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/policies_policy_spec.rb b/spec/models/policies_policy_spec.rb index df395045..d431482e 100644 --- a/spec/models/policies_policy_spec.rb +++ b/spec/models/policies_policy_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::PoliciesPolicy) end end + describe 'test attribute "cid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "created_by"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/public_get_changes_response_spec.rb b/spec/models/public_get_changes_response_spec.rb new file mode 100644 index 00000000..a2c5a358 --- /dev/null +++ b/spec/models/public_get_changes_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::PublicGetChangesResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::PublicGetChangesResponse do + let(:instance) { Falcon::PublicGetChangesResponse.new } + + describe 'test an instance of PublicGetChangesResponse' do + it 'should create an instance of PublicGetChangesResponse' do + expect(instance).to be_instance_of(Falcon::PublicGetChangesResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_delete_file_response_spec.rb b/spec/models/quickscanpro_delete_file_response_spec.rb new file mode 100644 index 00000000..50eb9de9 --- /dev/null +++ b/spec/models/quickscanpro_delete_file_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproDeleteFileResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproDeleteFileResponse do + let(:instance) { Falcon::QuickscanproDeleteFileResponse.new } + + describe 'test an instance of QuickscanproDeleteFileResponse' do + it 'should create an instance of QuickscanproDeleteFileResponse' do + expect(instance).to be_instance_of(Falcon::QuickscanproDeleteFileResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_file_result_spec.rb b/spec/models/quickscanpro_file_result_spec.rb new file mode 100644 index 00000000..3fd4ed6b --- /dev/null +++ b/spec/models/quickscanpro_file_result_spec.rb @@ -0,0 +1,73 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproFileResult +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproFileResult do + let(:instance) { Falcon::QuickscanproFileResult.new } + + describe 'test an instance of QuickscanproFileResult' do + it 'should create an instance of QuickscanproFileResult' do + expect(instance).to be_instance_of(Falcon::QuickscanproFileResult) + end + end + describe 'test attribute "filename"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sha256"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "verdict"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["clean", "suspicious", "malicious", "unknown"]) + # validator.allowable_values.each do |value| + # expect { instance.verdict = value }.not_to raise_error + # end + end + end + + describe 'test attribute "verdict_reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_file_upload_resource_spec.rb b/spec/models/quickscanpro_file_upload_resource_spec.rb new file mode 100644 index 00000000..eebb2805 --- /dev/null +++ b/spec/models/quickscanpro_file_upload_resource_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproFileUploadResource +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproFileUploadResource do + let(:instance) { Falcon::QuickscanproFileUploadResource.new } + + describe 'test an instance of QuickscanproFileUploadResource' do + it 'should create an instance of QuickscanproFileUploadResource' do + expect(instance).to be_instance_of(Falcon::QuickscanproFileUploadResource) + end + end + describe 'test attribute "scan_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sha256"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_file_upload_response_spec.rb b/spec/models/quickscanpro_file_upload_response_spec.rb new file mode 100644 index 00000000..1e9f9a31 --- /dev/null +++ b/spec/models/quickscanpro_file_upload_response_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproFileUploadResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproFileUploadResponse do + let(:instance) { Falcon::QuickscanproFileUploadResponse.new } + + describe 'test an instance of QuickscanproFileUploadResponse' do + it 'should create an instance of QuickscanproFileUploadResponse' do + expect(instance).to be_instance_of(Falcon::QuickscanproFileUploadResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "quota"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_get_scan_result_resource_spec.rb b/spec/models/quickscanpro_get_scan_result_resource_spec.rb new file mode 100644 index 00000000..9d77d964 --- /dev/null +++ b/spec/models/quickscanpro_get_scan_result_resource_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproGetScanResultResource +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproGetScanResultResource do + let(:instance) { Falcon::QuickscanproGetScanResultResource.new } + + describe 'test an instance of QuickscanproGetScanResultResource' do + it 'should create an instance of QuickscanproGetScanResultResource' do + expect(instance).to be_instance_of(Falcon::QuickscanproGetScanResultResource) + end + end + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "result"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "scan"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_get_scan_result_response_spec.rb b/spec/models/quickscanpro_get_scan_result_response_spec.rb new file mode 100644 index 00000000..6572a0c8 --- /dev/null +++ b/spec/models/quickscanpro_get_scan_result_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproGetScanResultResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproGetScanResultResponse do + let(:instance) { Falcon::QuickscanproGetScanResultResponse.new } + + describe 'test an instance of QuickscanproGetScanResultResponse' do + it 'should create an instance of QuickscanproGetScanResultResponse' do + expect(instance).to be_instance_of(Falcon::QuickscanproGetScanResultResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_launch_scan_request_resource_spec.rb b/spec/models/quickscanpro_launch_scan_request_resource_spec.rb new file mode 100644 index 00000000..aec5aedb --- /dev/null +++ b/spec/models/quickscanpro_launch_scan_request_resource_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproLaunchScanRequestResource +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproLaunchScanRequestResource do + let(:instance) { Falcon::QuickscanproLaunchScanRequestResource.new } + + describe 'test an instance of QuickscanproLaunchScanRequestResource' do + it 'should create an instance of QuickscanproLaunchScanRequestResource' do + expect(instance).to be_instance_of(Falcon::QuickscanproLaunchScanRequestResource) + end + end + describe 'test attribute "sha256"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_launch_scan_request_spec.rb b/spec/models/quickscanpro_launch_scan_request_spec.rb new file mode 100644 index 00000000..3414cb79 --- /dev/null +++ b/spec/models/quickscanpro_launch_scan_request_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproLaunchScanRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproLaunchScanRequest do + let(:instance) { Falcon::QuickscanproLaunchScanRequest.new } + + describe 'test an instance of QuickscanproLaunchScanRequest' do + it 'should create an instance of QuickscanproLaunchScanRequest' do + expect(instance).to be_instance_of(Falcon::QuickscanproLaunchScanRequest) + end + end + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_launch_scan_resource_spec.rb b/spec/models/quickscanpro_launch_scan_resource_spec.rb new file mode 100644 index 00000000..85822fab --- /dev/null +++ b/spec/models/quickscanpro_launch_scan_resource_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproLaunchScanResource +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproLaunchScanResource do + let(:instance) { Falcon::QuickscanproLaunchScanResource.new } + + describe 'test an instance of QuickscanproLaunchScanResource' do + it 'should create an instance of QuickscanproLaunchScanResource' do + expect(instance).to be_instance_of(Falcon::QuickscanproLaunchScanResource) + end + end + describe 'test attribute "created_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sha256"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_launch_scan_response_spec.rb b/spec/models/quickscanpro_launch_scan_response_spec.rb new file mode 100644 index 00000000..b07ee6a8 --- /dev/null +++ b/spec/models/quickscanpro_launch_scan_response_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproLaunchScanResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproLaunchScanResponse do + let(:instance) { Falcon::QuickscanproLaunchScanResponse.new } + + describe 'test an instance of QuickscanproLaunchScanResponse' do + it 'should create an instance of QuickscanproLaunchScanResponse' do + expect(instance).to be_instance_of(Falcon::QuickscanproLaunchScanResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "quota"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_mitre_attack_parent_spec.rb b/spec/models/quickscanpro_mitre_attack_parent_spec.rb new file mode 100644 index 00000000..89cd2818 --- /dev/null +++ b/spec/models/quickscanpro_mitre_attack_parent_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproMITREAttackParent +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproMITREAttackParent do + let(:instance) { Falcon::QuickscanproMITREAttackParent.new } + + describe 'test an instance of QuickscanproMITREAttackParent' do + it 'should create an instance of QuickscanproMITREAttackParent' do + expect(instance).to be_instance_of(Falcon::QuickscanproMITREAttackParent) + end + end + describe 'test attribute "attack_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "attack_id_wiki"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "technique"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_mitre_attack_spec.rb b/spec/models/quickscanpro_mitre_attack_spec.rb new file mode 100644 index 00000000..d14da9bf --- /dev/null +++ b/spec/models/quickscanpro_mitre_attack_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproMITREAttack +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproMITREAttack do + let(:instance) { Falcon::QuickscanproMITREAttack.new } + + describe 'test an instance of QuickscanproMITREAttack' do + it 'should create an instance of QuickscanproMITREAttack' do + expect(instance).to be_instance_of(Falcon::QuickscanproMITREAttack) + end + end + describe 'test attribute "attack_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "attack_id_wiki"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "capec_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parent"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tactic"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "technique"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_query_scan_results_response_spec.rb b/spec/models/quickscanpro_query_scan_results_response_spec.rb new file mode 100644 index 00000000..d474b8b9 --- /dev/null +++ b/spec/models/quickscanpro_query_scan_results_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproQueryScanResultsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproQueryScanResultsResponse do + let(:instance) { Falcon::QuickscanproQueryScanResultsResponse.new } + + describe 'test an instance of QuickscanproQueryScanResultsResponse' do + it 'should create an instance of QuickscanproQueryScanResultsResponse' do + expect(instance).to be_instance_of(Falcon::QuickscanproQueryScanResultsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_quota_resource_spec.rb b/spec/models/quickscanpro_quota_resource_spec.rb new file mode 100644 index 00000000..ea4ae6d3 --- /dev/null +++ b/spec/models/quickscanpro_quota_resource_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproQuotaResource +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproQuotaResource do + let(:instance) { Falcon::QuickscanproQuotaResource.new } + + describe 'test an instance of QuickscanproQuotaResource' do + it 'should create an instance of QuickscanproQuotaResource' do + expect(instance).to be_instance_of(Falcon::QuickscanproQuotaResource) + end + end + describe 'test attribute "in_progress"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "used"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_scan_metadata_spec.rb b/spec/models/quickscanpro_scan_metadata_spec.rb new file mode 100644 index 00000000..46eb5e45 --- /dev/null +++ b/spec/models/quickscanpro_scan_metadata_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproScanMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproScanMetadata do + let(:instance) { Falcon::QuickscanproScanMetadata.new } + + describe 'test an instance of QuickscanproScanMetadata' do + it 'should create an instance of QuickscanproScanMetadata' do + expect(instance).to be_instance_of(Falcon::QuickscanproScanMetadata) + end + end + describe 'test attribute "created_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sha256"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_scan_result_spec.rb b/spec/models/quickscanpro_scan_result_spec.rb new file mode 100644 index 00000000..59085d76 --- /dev/null +++ b/spec/models/quickscanpro_scan_result_spec.rb @@ -0,0 +1,91 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproScanResult +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproScanResult do + let(:instance) { Falcon::QuickscanproScanResult.new } + + describe 'test an instance of QuickscanproScanResult' do + it 'should create an instance of QuickscanproScanResult' do + expect(instance).to be_instance_of(Falcon::QuickscanproScanResult) + end + end + describe 'test attribute "beta_intelligence_context"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "file_artifacts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mitre_attacks"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url_artifacts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "verdict"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["clean", "suspicious", "malicious", "unknown"]) + # validator.allowable_values.each do |value| + # expect { instance.verdict = value }.not_to raise_error + # end + end + end + + describe 'test attribute "verdict_reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "verdict_source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/quickscanpro_url_result_spec.rb b/spec/models/quickscanpro_url_result_spec.rb new file mode 100644 index 00000000..bdfe8537 --- /dev/null +++ b/spec/models/quickscanpro_url_result_spec.rb @@ -0,0 +1,67 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::QuickscanproURLResult +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::QuickscanproURLResult do + let(:instance) { Falcon::QuickscanproURLResult.new } + + describe 'test an instance of QuickscanproURLResult' do + it 'should create an instance of QuickscanproURLResult' do + expect(instance).to be_instance_of(Falcon::QuickscanproURLResult) + end + end + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "verdict"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + # validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["clean", "suspicious", "malicious", "unknown"]) + # validator.allowable_values.each do |value| + # expect { instance.verdict = value }.not_to raise_error + # end + end + end + + describe 'test attribute "verdict_reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_aws_account_ext_v2_spec.rb b/spec/models/registration_aws_account_ext_v2_spec.rb index 27a76ab3..196fb003 100644 --- a/spec/models/registration_aws_account_ext_v2_spec.rb +++ b/spec/models/registration_aws_account_ext_v2_spec.rb @@ -66,6 +66,18 @@ end end + describe 'test attribute "dspm_enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dspm_role"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "iam_role_arn"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -90,6 +102,12 @@ end end + describe 'test attribute "target_ous"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "use_existing_cloudtrail"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/registration_aws_account_patch_spec.rb b/spec/models/registration_aws_account_patch_spec.rb index 1161c6ec..76305ad1 100644 --- a/spec/models/registration_aws_account_patch_spec.rb +++ b/spec/models/registration_aws_account_patch_spec.rb @@ -60,6 +60,18 @@ end end + describe 'test attribute "dspm_enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dspm_role"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "environment"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -90,4 +102,10 @@ end end + describe 'test attribute "target_ous"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/registration_aws_console_url_response_v2_spec.rb b/spec/models/registration_aws_console_url_response_v2_spec.rb new file mode 100644 index 00000000..52d4ca44 --- /dev/null +++ b/spec/models/registration_aws_console_url_response_v2_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationAWSConsoleURLResponseV2 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationAWSConsoleURLResponseV2 do + let(:instance) { Falcon::RegistrationAWSConsoleURLResponseV2.new } + + describe 'test an instance of RegistrationAWSConsoleURLResponseV2' do + it 'should create an instance of RegistrationAWSConsoleURLResponseV2' do + expect(instance).to be_instance_of(Falcon::RegistrationAWSConsoleURLResponseV2) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_gcp_account_patch_request_spec.rb b/spec/models/registration_gcp_account_patch_request_v1_spec.rb similarity index 88% rename from spec/models/registration_gcp_account_patch_request_spec.rb rename to spec/models/registration_gcp_account_patch_request_v1_spec.rb index 9556b1bf..54b7b40e 100644 --- a/spec/models/registration_gcp_account_patch_request_spec.rb +++ b/spec/models/registration_gcp_account_patch_request_v1_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::RegistrationGCPAccountPatchRequest +# Unit tests for Falcon::RegistrationGCPAccountPatchRequestV1 # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::RegistrationGCPAccountPatchRequest do - let(:instance) { Falcon::RegistrationGCPAccountPatchRequest.new } +describe Falcon::RegistrationGCPAccountPatchRequestV1 do + let(:instance) { Falcon::RegistrationGCPAccountPatchRequestV1.new } - describe 'test an instance of RegistrationGCPAccountPatchRequest' do - it 'should create an instance of RegistrationGCPAccountPatchRequest' do - expect(instance).to be_instance_of(Falcon::RegistrationGCPAccountPatchRequest) + describe 'test an instance of RegistrationGCPAccountPatchRequestV1' do + it 'should create an instance of RegistrationGCPAccountPatchRequestV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPAccountPatchRequestV1) end end describe 'test attribute "resources"' do diff --git a/spec/models/registration_gcp_account_patch_spec.rb b/spec/models/registration_gcp_account_patch_v1_spec.rb similarity index 80% rename from spec/models/registration_gcp_account_patch_spec.rb rename to spec/models/registration_gcp_account_patch_v1_spec.rb index 8ca2d634..439d93e7 100644 --- a/spec/models/registration_gcp_account_patch_spec.rb +++ b/spec/models/registration_gcp_account_patch_v1_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::RegistrationGCPAccountPatch +# Unit tests for Falcon::RegistrationGCPAccountPatchV1 # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::RegistrationGCPAccountPatch do - let(:instance) { Falcon::RegistrationGCPAccountPatch.new } +describe Falcon::RegistrationGCPAccountPatchV1 do + let(:instance) { Falcon::RegistrationGCPAccountPatchV1.new } - describe 'test an instance of RegistrationGCPAccountPatch' do - it 'should create an instance of RegistrationGCPAccountPatch' do - expect(instance).to be_instance_of(Falcon::RegistrationGCPAccountPatch) + describe 'test an instance of RegistrationGCPAccountPatchV1' do + it 'should create an instance of RegistrationGCPAccountPatchV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPAccountPatchV1) end end describe 'test attribute "environment"' do @@ -54,4 +54,10 @@ end end + describe 'test attribute "service_account"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/registration_gcp_account_req_obj_v2_spec.rb b/spec/models/registration_gcp_account_req_obj_v2_spec.rb index d2ade772..d903edde 100644 --- a/spec/models/registration_gcp_account_req_obj_v2_spec.rb +++ b/spec/models/registration_gcp_account_req_obj_v2_spec.rb @@ -84,6 +84,12 @@ end end + describe 'test attribute "service_account_conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "service_account_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/registration_gcp_account_rsp_obj_v2_spec.rb b/spec/models/registration_gcp_account_rsp_obj_v2_spec.rb index 39afff24..2cf5eb58 100644 --- a/spec/models/registration_gcp_account_rsp_obj_v2_spec.rb +++ b/spec/models/registration_gcp_account_rsp_obj_v2_spec.rb @@ -72,6 +72,12 @@ end end + describe 'test attribute "service_account_conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "service_account_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/registration_gcp_account_validated_v1_spec.rb b/spec/models/registration_gcp_account_validated_v1_spec.rb new file mode 100644 index 00000000..554744a6 --- /dev/null +++ b/spec/models/registration_gcp_account_validated_v1_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationGCPAccountValidatedV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationGCPAccountValidatedV1 do + let(:instance) { Falcon::RegistrationGCPAccountValidatedV1.new } + + describe 'test an instance of RegistrationGCPAccountValidatedV1' do + it 'should create an instance of RegistrationGCPAccountValidatedV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPAccountValidatedV1) + end + end + describe 'test attribute "conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gcp_permissions_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parent_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_account_conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_gcp_account_validation_req_obj_v1_spec.rb b/spec/models/registration_gcp_account_validation_req_obj_v1_spec.rb new file mode 100644 index 00000000..af6a37cf --- /dev/null +++ b/spec/models/registration_gcp_account_validation_req_obj_v1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationGCPAccountValidationReqObjV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationGCPAccountValidationReqObjV1 do + let(:instance) { Falcon::RegistrationGCPAccountValidationReqObjV1.new } + + describe 'test an instance of RegistrationGCPAccountValidationReqObjV1' do + it 'should create an instance of RegistrationGCPAccountValidationReqObjV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPAccountValidationReqObjV1) + end + end + describe 'test attribute "parent_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_gcp_account_validation_request_v1_spec.rb b/spec/models/registration_gcp_account_validation_request_v1_spec.rb new file mode 100644 index 00000000..dbaaa4f5 --- /dev/null +++ b/spec/models/registration_gcp_account_validation_request_v1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationGCPAccountValidationRequestV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationGCPAccountValidationRequestV1 do + let(:instance) { Falcon::RegistrationGCPAccountValidationRequestV1.new } + + describe 'test an instance of RegistrationGCPAccountValidationRequestV1' do + it 'should create an instance of RegistrationGCPAccountValidationRequestV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPAccountValidationRequestV1) + end + end + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_gcp_account_validation_response_v1_spec.rb b/spec/models/registration_gcp_account_validation_response_v1_spec.rb new file mode 100644 index 00000000..409e1de3 --- /dev/null +++ b/spec/models/registration_gcp_account_validation_response_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationGCPAccountValidationResponseV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationGCPAccountValidationResponseV1 do + let(:instance) { Falcon::RegistrationGCPAccountValidationResponseV1.new } + + describe 'test an instance of RegistrationGCPAccountValidationResponseV1' do + it 'should create an instance of RegistrationGCPAccountValidationResponseV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPAccountValidationResponseV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_gcp_service_account_ext_v1_spec.rb b/spec/models/registration_gcp_service_account_ext_v1_spec.rb index 692c4c2f..c1224a3f 100644 --- a/spec/models/registration_gcp_service_account_ext_v1_spec.rb +++ b/spec/models/registration_gcp_service_account_ext_v1_spec.rb @@ -60,6 +60,12 @@ end end + describe 'test attribute "service_account_conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "service_account_id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/registration_gcp_service_account_patch_request_v1_spec.rb b/spec/models/registration_gcp_service_account_patch_request_v1_spec.rb new file mode 100644 index 00000000..cf2cdd87 --- /dev/null +++ b/spec/models/registration_gcp_service_account_patch_request_v1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationGCPServiceAccountPatchRequestV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationGCPServiceAccountPatchRequestV1 do + let(:instance) { Falcon::RegistrationGCPServiceAccountPatchRequestV1.new } + + describe 'test an instance of RegistrationGCPServiceAccountPatchRequestV1' do + it 'should create an instance of RegistrationGCPServiceAccountPatchRequestV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPServiceAccountPatchRequestV1) + end + end + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_gcp_service_account_patch_v1_spec.rb b/spec/models/registration_gcp_service_account_patch_v1_spec.rb new file mode 100644 index 00000000..ea4f0958 --- /dev/null +++ b/spec/models/registration_gcp_service_account_patch_v1_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationGCPServiceAccountPatchV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationGCPServiceAccountPatchV1 do + let(:instance) { Falcon::RegistrationGCPServiceAccountPatchV1.new } + + describe 'test an instance of RegistrationGCPServiceAccountPatchV1' do + it 'should create an instance of RegistrationGCPServiceAccountPatchV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPServiceAccountPatchV1) + end + end + describe 'test attribute "client_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "client_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "private_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "private_key_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "project_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_account_conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_gcp_service_account_validation_request_obj_v1_spec.rb b/spec/models/registration_gcp_service_account_validation_request_obj_v1_spec.rb new file mode 100644 index 00000000..29fbfde5 --- /dev/null +++ b/spec/models/registration_gcp_service_account_validation_request_obj_v1_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationGCPServiceAccountValidationRequestObjV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationGCPServiceAccountValidationRequestObjV1 do + let(:instance) { Falcon::RegistrationGCPServiceAccountValidationRequestObjV1.new } + + describe 'test an instance of RegistrationGCPServiceAccountValidationRequestObjV1' do + it 'should create an instance of RegistrationGCPServiceAccountValidationRequestObjV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPServiceAccountValidationRequestObjV1) + end + end + describe 'test attribute "client_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "client_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "private_key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "private_key_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "project_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_account_conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_gcp_service_account_validation_request_v1_spec.rb b/spec/models/registration_gcp_service_account_validation_request_v1_spec.rb new file mode 100644 index 00000000..1432b3e0 --- /dev/null +++ b/spec/models/registration_gcp_service_account_validation_request_v1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationGCPServiceAccountValidationRequestV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationGCPServiceAccountValidationRequestV1 do + let(:instance) { Falcon::RegistrationGCPServiceAccountValidationRequestV1.new } + + describe 'test an instance of RegistrationGCPServiceAccountValidationRequestV1' do + it 'should create an instance of RegistrationGCPServiceAccountValidationRequestV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPServiceAccountValidationRequestV1) + end + end + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/registration_gcp_service_account_validation_response_v1_spec.rb b/spec/models/registration_gcp_service_account_validation_response_v1_spec.rb new file mode 100644 index 00000000..f9c75039 --- /dev/null +++ b/spec/models/registration_gcp_service_account_validation_response_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RegistrationGCPServiceAccountValidationResponseV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RegistrationGCPServiceAccountValidationResponseV1 do + let(:instance) { Falcon::RegistrationGCPServiceAccountValidationResponseV1.new } + + describe 'test an instance of RegistrationGCPServiceAccountValidationResponseV1' do + it 'should create an instance of RegistrationGCPServiceAccountValidationResponseV1' do + expect(instance).to be_instance_of(Falcon::RegistrationGCPServiceAccountValidationResponseV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/rest_account_product_upsert_request_ext_v1_spec.rb b/spec/models/rest_account_product_upsert_request_ext_v1_spec.rb new file mode 100644 index 00000000..62ccd314 --- /dev/null +++ b/spec/models/rest_account_product_upsert_request_ext_v1_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RestAccountProductUpsertRequestExtV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RestAccountProductUpsertRequestExtV1 do + let(:instance) { Falcon::RestAccountProductUpsertRequestExtV1.new } + + describe 'test an instance of RestAccountProductUpsertRequestExtV1' do + it 'should create an instance of RestAccountProductUpsertRequestExtV1' do + expect(instance).to be_instance_of(Falcon::RestAccountProductUpsertRequestExtV1) + end + end + describe 'test attribute "features"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "product"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/rest_aws_account_create_request_extv1_spec.rb b/spec/models/rest_aws_account_create_request_extv1_spec.rb new file mode 100644 index 00000000..1e2a9df9 --- /dev/null +++ b/spec/models/rest_aws_account_create_request_extv1_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RestAWSAccountCreateRequestExtv1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RestAWSAccountCreateRequestExtv1 do + let(:instance) { Falcon::RestAWSAccountCreateRequestExtv1.new } + + describe 'test an instance of RestAWSAccountCreateRequestExtv1' do + it 'should create an instance of RestAWSAccountCreateRequestExtv1' do + expect(instance).to be_instance_of(Falcon::RestAWSAccountCreateRequestExtv1) + end + end + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/rest_aws_account_create_response_ext_v1_spec.rb b/spec/models/rest_aws_account_create_response_ext_v1_spec.rb new file mode 100644 index 00000000..438a95bc --- /dev/null +++ b/spec/models/rest_aws_account_create_response_ext_v1_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RestAWSAccountCreateResponseExtV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RestAWSAccountCreateResponseExtV1 do + let(:instance) { Falcon::RestAWSAccountCreateResponseExtV1.new } + + describe 'test an instance of RestAWSAccountCreateResponseExtV1' do + it 'should create an instance of RestAWSAccountCreateResponseExtV1' do + expect(instance).to be_instance_of(Falcon::RestAWSAccountCreateResponseExtV1) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/rest_aws_account_validated_spec.rb b/spec/models/rest_aws_account_validated_spec.rb new file mode 100644 index 00000000..e171bd92 --- /dev/null +++ b/spec/models/rest_aws_account_validated_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RestAWSAccountValidated +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RestAWSAccountValidated do + let(:instance) { Falcon::RestAWSAccountValidated.new } + + describe 'test an instance of RestAWSAccountValidated' do + it 'should create an instance of RestAWSAccountValidated' do + expect(instance).to be_instance_of(Falcon::RestAWSAccountValidated) + end + end + describe 'test attribute "account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "iam_service_permissions_status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/rest_aws_account_validation_response_spec.rb b/spec/models/rest_aws_account_validation_response_spec.rb new file mode 100644 index 00000000..e3c85088 --- /dev/null +++ b/spec/models/rest_aws_account_validation_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RestAWSAccountValidationResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RestAWSAccountValidationResponse do + let(:instance) { Falcon::RestAWSAccountValidationResponse.new } + + describe 'test an instance of RestAWSAccountValidationResponse' do + it 'should create an instance of RestAWSAccountValidationResponse' do + expect(instance).to be_instance_of(Falcon::RestAWSAccountValidationResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/rest_cloud_aws_account_create_ext_v1_spec.rb b/spec/models/rest_cloud_aws_account_create_ext_v1_spec.rb new file mode 100644 index 00000000..83d103aa --- /dev/null +++ b/spec/models/rest_cloud_aws_account_create_ext_v1_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::RestCloudAWSAccountCreateExtV1 +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::RestCloudAWSAccountCreateExtV1 do + let(:instance) { Falcon::RestCloudAWSAccountCreateExtV1.new } + + describe 'test an instance of RestCloudAWSAccountCreateExtV1' do + it 'should create an instance of RestCloudAWSAccountCreateExtV1' do + expect(instance).to be_instance_of(Falcon::RestCloudAWSAccountCreateExtV1) + end + end + describe 'test attribute "account_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "account_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "csp_events"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_master"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "organization_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "products"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/rulegroups_rule_spec.rb b/spec/models/rulegroups_rule_spec.rb index 3ced4446..a7d7e430 100644 --- a/spec/models/rulegroups_rule_spec.rb +++ b/spec/models/rulegroups_rule_spec.rb @@ -78,6 +78,12 @@ end end + describe 'test attribute "enable_hash_capture"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "exclude"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -222,6 +228,12 @@ end end + describe 'test attribute "watch_permissions_key_changes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "watch_rename_directory_changes"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/sadomain_create_rule_request_v1_spec.rb b/spec/models/sadomain_create_rule_request_v1_spec.rb index fb6cf72d..73b8c631 100644 --- a/spec/models/sadomain_create_rule_request_v1_spec.rb +++ b/spec/models/sadomain_create_rule_request_v1_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::SadomainCreateRuleRequestV1) end end + describe 'test attribute "breach_monitor_only"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "breach_monitoring_enabled"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -54,12 +60,24 @@ end end + describe 'test attribute "match_on_tsq_result_types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "originating_template_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "permissions"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/sadomain_rule_spec.rb b/spec/models/sadomain_rule_spec.rb index f3b20f3b..7d96eb8c 100644 --- a/spec/models/sadomain_rule_spec.rb +++ b/spec/models/sadomain_rule_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::SadomainRule) end end + describe 'test attribute "breach_monitor_only"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "breach_monitoring_enabled"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -54,6 +60,12 @@ end end + describe 'test attribute "created_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "created_timestamp"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -72,12 +84,24 @@ end end + describe 'test attribute "match_on_tsq_result_types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "originating_template_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "ownership_assets"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -114,6 +138,12 @@ end end + describe 'test attribute "template_priority"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "topic"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/sadomain_typosquatting_component_spec.rb b/spec/models/sadomain_typosquatting_component_spec.rb index e3a9dea0..5840bff5 100644 --- a/spec/models/sadomain_typosquatting_component_spec.rb +++ b/spec/models/sadomain_typosquatting_component_spec.rb @@ -66,6 +66,12 @@ end end + describe 'test attribute "subdomain"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "submit_for_blocking_info"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/sadomain_typosquatting_subdomain_spec.rb b/spec/models/sadomain_typosquatting_subdomain_spec.rb new file mode 100644 index 00000000..48ca89b2 --- /dev/null +++ b/spec/models/sadomain_typosquatting_subdomain_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::SadomainTyposquattingSubdomain +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::SadomainTyposquattingSubdomain do + let(:instance) { Falcon::SadomainTyposquattingSubdomain.new } + + describe 'test an instance of SadomainTyposquattingSubdomain' do + it 'should create an instance of SadomainTyposquattingSubdomain' do + expect(instance).to be_instance_of(Falcon::SadomainTyposquattingSubdomain) + end + end + describe 'test attribute "first_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_registered"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "punycode_format"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unicode_format"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_event_entities_response_spec.rb b/spec/models/scanreports_entities_response_spec.rb similarity index 84% rename from spec/models/domain_event_entities_response_spec.rb rename to spec/models/scanreports_entities_response_spec.rb index 8f5f0c08..52102e26 100644 --- a/spec/models/domain_event_entities_response_spec.rb +++ b/spec/models/scanreports_entities_response_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainEventEntitiesResponse +# Unit tests for Falcon::ScanreportsEntitiesResponse # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainEventEntitiesResponse do - let(:instance) { Falcon::DomainEventEntitiesResponse.new } +describe Falcon::ScanreportsEntitiesResponse do + let(:instance) { Falcon::ScanreportsEntitiesResponse.new } - describe 'test an instance of DomainEventEntitiesResponse' do - it 'should create an instance of DomainEventEntitiesResponse' do - expect(instance).to be_instance_of(Falcon::DomainEventEntitiesResponse) + describe 'test an instance of ScanreportsEntitiesResponse' do + it 'should create an instance of ScanreportsEntitiesResponse' do + expect(instance).to be_instance_of(Falcon::ScanreportsEntitiesResponse) end end describe 'test attribute "errors"' do diff --git a/spec/models/source_endpoint_spec.rb b/spec/models/source_endpoint_spec.rb new file mode 100644 index 00000000..f90f8c30 --- /dev/null +++ b/spec/models/source_endpoint_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::SourceEndpoint +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::SourceEndpoint do + let(:instance) { Falcon::SourceEndpoint.new } + + describe 'test an instance of SourceEndpoint' do + it 'should create an instance of SourceEndpoint' do + expect(instance).to be_instance_of(Falcon::SourceEndpoint) + end + end + describe 'test attribute "entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "group_membership"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/source_user_spec.rb b/spec/models/source_user_spec.rb new file mode 100644 index 00000000..d165ccb5 --- /dev/null +++ b/spec/models/source_user_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::SourceUser +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::SourceUser do + let(:instance) { Falcon::SourceUser.new } + + describe 'test an instance of SourceUser' do + it 'should create an instance of SourceUser' do + expect(instance).to be_instance_of(Falcon::SourceUser) + end + end + describe 'test attribute "entity_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "group_membership"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/threatgraph_meta_spec.rb b/spec/models/threatgraph_meta_spec.rb new file mode 100644 index 00000000..dc300b92 --- /dev/null +++ b/spec/models/threatgraph_meta_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ThreatgraphMeta +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ThreatgraphMeta do + let(:instance) { Falcon::ThreatgraphMeta.new } + + describe 'test an instance of ThreatgraphMeta' do + it 'should create an instance of ThreatgraphMeta' do + expect(instance).to be_instance_of(Falcon::ThreatgraphMeta) + end + end + describe 'test attribute "pagination"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "powered_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "query_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "trace_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/msaspec_paging_spec.rb b/spec/models/threatgraph_paging_spec.rb similarity index 83% rename from spec/models/msaspec_paging_spec.rb rename to spec/models/threatgraph_paging_spec.rb index 6a798ae8..1e50b366 100644 --- a/spec/models/msaspec_paging_spec.rb +++ b/spec/models/threatgraph_paging_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::MsaspecPaging +# Unit tests for Falcon::ThreatgraphPaging # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::MsaspecPaging do - let(:instance) { Falcon::MsaspecPaging.new } +describe Falcon::ThreatgraphPaging do + let(:instance) { Falcon::ThreatgraphPaging.new } - describe 'test an instance of MsaspecPaging' do - it 'should create an instance of MsaspecPaging' do - expect(instance).to be_instance_of(Falcon::MsaspecPaging) + describe 'test an instance of ThreatgraphPaging' do + it 'should create an instance of ThreatgraphPaging' do + expect(instance).to be_instance_of(Falcon::ThreatgraphPaging) end end describe 'test attribute "limit"' do @@ -48,13 +48,13 @@ end end - describe 'test attribute "offset"' do + describe 'test attribute "next_page"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "total"' do + describe 'test attribute "offset"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/threatgraph_vertex_details_response_spec.rb b/spec/models/threatgraph_vertex_details_response_spec.rb new file mode 100644 index 00000000..50d643e7 --- /dev/null +++ b/spec/models/threatgraph_vertex_details_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ThreatgraphVertexDetailsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ThreatgraphVertexDetailsResponse do + let(:instance) { Falcon::ThreatgraphVertexDetailsResponse.new } + + describe 'test an instance of ThreatgraphVertexDetailsResponse' do + it 'should create an instance of ThreatgraphVertexDetailsResponse' do + expect(instance).to be_instance_of(Falcon::ThreatgraphVertexDetailsResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/threatgraph_vertex_details_spec.rb b/spec/models/threatgraph_vertex_details_spec.rb new file mode 100644 index 00000000..4513c986 --- /dev/null +++ b/spec/models/threatgraph_vertex_details_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::ThreatgraphVertexDetails +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::ThreatgraphVertexDetails do + let(:instance) { Falcon::ThreatgraphVertexDetails.new } + + describe 'test an instance of ThreatgraphVertexDetails' do + it 'should create an instance of ThreatgraphVertexDetails' do + expect(instance).to be_instance_of(Falcon::ThreatgraphVertexDetails) + end + end + describe 'test attribute "customer_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "device_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "object_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "properties"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "scope"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vertex_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/triggers_trigger_ext_field_spec.rb b/spec/models/triggers_trigger_ext_field_spec.rb new file mode 100644 index 00000000..b1137dbf --- /dev/null +++ b/spec/models/triggers_trigger_ext_field_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TriggersTriggerExtField +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TriggersTriggerExtField do + let(:instance) { Falcon::TriggersTriggerExtField.new } + + describe 'test an instance of TriggersTriggerExtField' do + it 'should create an instance of TriggersTriggerExtField' do + expect(instance).to be_instance_of(Falcon::TriggersTriggerExtField) + end + end + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "example"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/triggers_trigger_ext_spec.rb b/spec/models/triggers_trigger_ext_spec.rb new file mode 100644 index 00000000..395cabf5 --- /dev/null +++ b/spec/models/triggers_trigger_ext_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TriggersTriggerExt +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TriggersTriggerExt do + let(:instance) { Falcon::TriggersTriggerExt.new } + + describe 'test an instance of TriggersTriggerExt' do + it 'should create an instance of TriggersTriggerExt' do + expect(instance).to be_instance_of(Falcon::TriggersTriggerExt) + end + end + describe 'test attribute "api_scope"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "description"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/triggers_trigger_external_response_spec.rb b/spec/models/triggers_trigger_external_response_spec.rb new file mode 100644 index 00000000..59e3ff5a --- /dev/null +++ b/spec/models/triggers_trigger_external_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TriggersTriggerExternalResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TriggersTriggerExternalResponse do + let(:instance) { Falcon::TriggersTriggerExternalResponse.new } + + describe 'test an instance of TriggersTriggerExternalResponse' do + it 'should create an instance of TriggersTriggerExternalResponse' do + expect(instance).to be_instance_of(Falcon::TriggersTriggerExternalResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resources"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_action_run_event_data_spec.rb b/spec/models/types_action_run_event_data_spec.rb new file mode 100644 index 00000000..24b7ff10 --- /dev/null +++ b/spec/models/types_action_run_event_data_spec.rb @@ -0,0 +1,135 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesActionRunEventData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesActionRunEventData do + let(:instance) { Falcon::TypesActionRunEventData.new } + + describe 'test an instance of TypesActionRunEventData' do + it 'should create an instance of TypesActionRunEventData' do + expect(instance).to be_instance_of(Falcon::TypesActionRunEventData) + end + end + describe 'test attribute "additional_info"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "aws"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "azure_site"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "azure_vm"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_function"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "crowdstrike_cloud_security"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ec2"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ecs"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "gcp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "host"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "k8s"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lambda"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "remedy"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "snyk"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sonatype"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_action_run_event_spec.rb b/spec/models/types_action_run_event_spec.rb new file mode 100644 index 00000000..3c73b4fc --- /dev/null +++ b/spec/models/types_action_run_event_spec.rb @@ -0,0 +1,105 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesActionRunEvent +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesActionRunEvent do + let(:instance) { Falcon::TypesActionRunEvent.new } + + describe 'test an instance of TypesActionRunEvent' do + it 'should create an instance of TypesActionRunEvent' do + expect(instance).to be_instance_of(Falcon::TypesActionRunEvent) + end + end + describe 'test attribute "flat_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "additional_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "flat_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "message"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "object"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "object_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "send_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "status"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_action_run_metadata_spec.rb b/spec/models/types_action_run_metadata_spec.rb new file mode 100644 index 00000000..4ee910cd --- /dev/null +++ b/spec/models/types_action_run_metadata_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesActionRunMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesActionRunMetadata do + let(:instance) { Falcon::TypesActionRunMetadata.new } + + describe 'test an instance of TypesActionRunMetadata' do + it 'should create an instance of TypesActionRunMetadata' do + expect(instance).to be_instance_of(Falcon::TypesActionRunMetadata) + end + end + describe 'test attribute "collected_objects"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "end_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_task_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_task_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_task_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_objects"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_action_run_spec.rb b/spec/models/types_action_run_spec.rb new file mode 100644 index 00000000..c7e83b74 --- /dev/null +++ b/spec/models/types_action_run_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesActionRun +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesActionRun do + let(:instance) { Falcon::TypesActionRun.new } + + describe 'test an instance of TypesActionRun' do + it 'should create an instance of TypesActionRun' do + expect(instance).to be_instance_of(Falcon::TypesActionRun) + end + end + describe 'test attribute "create_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "events"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "latest_event"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "metadata"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "progress"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "scheduled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "trace_uuid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_entity_spec.rb b/spec/models/types_artifact_spec.rb similarity index 84% rename from spec/models/domain_entity_spec.rb rename to spec/models/types_artifact_spec.rb index 8e3ea232..41b6e9be 100644 --- a/spec/models/domain_entity_spec.rb +++ b/spec/models/types_artifact_spec.rb @@ -31,36 +31,36 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainEntity +# Unit tests for Falcon::TypesArtifact # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainEntity do - let(:instance) { Falcon::DomainEntity.new } +describe Falcon::TypesArtifact do + let(:instance) { Falcon::TypesArtifact.new } - describe 'test an instance of DomainEntity' do - it 'should create an instance of DomainEntity' do - expect(instance).to be_instance_of(Falcon::DomainEntity) + describe 'test an instance of TypesArtifact' do + it 'should create an instance of TypesArtifact' do + expect(instance).to be_instance_of(Falcon::TypesArtifact) end end - describe 'test attribute "id"' do + describe 'test attribute "full_path"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "name"' do + describe 'test attribute "hash"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "slug"' do + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "value"' do + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/types_aws_api_gateway_reason_tag_spec.rb b/spec/models/types_aws_api_gateway_reason_tag_spec.rb new file mode 100644 index 00000000..a68630ae --- /dev/null +++ b/spec/models/types_aws_api_gateway_reason_tag_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesAwsApiGatewayReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesAwsApiGatewayReasonTag do + let(:instance) { Falcon::TypesAwsApiGatewayReasonTag.new } + + describe 'test an instance of TypesAwsApiGatewayReasonTag' do + it 'should create an instance of TypesAwsApiGatewayReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesAwsApiGatewayReasonTag) + end + end + describe 'test attribute "api_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "host_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_aws_elastic_ip_reason_tag_spec.rb b/spec/models/types_aws_elastic_ip_reason_tag_spec.rb new file mode 100644 index 00000000..d5610e77 --- /dev/null +++ b/spec/models/types_aws_elastic_ip_reason_tag_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesAwsElasticIpReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesAwsElasticIpReasonTag do + let(:instance) { Falcon::TypesAwsElasticIpReasonTag.new } + + describe 'test an instance of TypesAwsElasticIpReasonTag' do + it 'should create an instance of TypesAwsElasticIpReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesAwsElasticIpReasonTag) + end + end + describe 'test attribute "ec2_instance"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ip"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_aws_lambda_api_gateway_reason_tag_spec.rb b/spec/models/types_aws_lambda_api_gateway_reason_tag_spec.rb new file mode 100644 index 00000000..b681ee41 --- /dev/null +++ b/spec/models/types_aws_lambda_api_gateway_reason_tag_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesAwsLambdaApiGatewayReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesAwsLambdaApiGatewayReasonTag do + let(:instance) { Falcon::TypesAwsLambdaApiGatewayReasonTag.new } + + describe 'test an instance of TypesAwsLambdaApiGatewayReasonTag' do + it 'should create an instance of TypesAwsLambdaApiGatewayReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesAwsLambdaApiGatewayReasonTag) + end + end + describe 'test attribute "api_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lambda_arn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "rest_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_aws_load_balancer_reason_tag_spec.rb b/spec/models/types_aws_load_balancer_reason_tag_spec.rb new file mode 100644 index 00000000..d5626d29 --- /dev/null +++ b/spec/models/types_aws_load_balancer_reason_tag_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesAwsLoadBalancerReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesAwsLoadBalancerReasonTag do + let(:instance) { Falcon::TypesAwsLoadBalancerReasonTag.new } + + describe 'test an instance of TypesAwsLoadBalancerReasonTag' do + it 'should create an instance of TypesAwsLoadBalancerReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesAwsLoadBalancerReasonTag) + end + end + describe 'test attribute "dns_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_aws_metadata_spec.rb b/spec/models/types_aws_metadata_spec.rb new file mode 100644 index 00000000..81d90e97 --- /dev/null +++ b/spec/models/types_aws_metadata_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesAWSMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesAWSMetadata do + let(:instance) { Falcon::TypesAWSMetadata.new } + + describe 'test an instance of TypesAWSMetadata' do + it 'should create an instance of TypesAWSMetadata' do + expect(instance).to be_instance_of(Falcon::TypesAWSMetadata) + end + end + describe 'test attribute "account_arn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "region"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_azure_application_gateway_reason_tag_spec.rb b/spec/models/types_azure_application_gateway_reason_tag_spec.rb new file mode 100644 index 00000000..5ae223d1 --- /dev/null +++ b/spec/models/types_azure_application_gateway_reason_tag_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesAzureApplicationGatewayReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesAzureApplicationGatewayReasonTag do + let(:instance) { Falcon::TypesAzureApplicationGatewayReasonTag.new } + + describe 'test an instance of TypesAzureApplicationGatewayReasonTag' do + it 'should create an instance of TypesAzureApplicationGatewayReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesAzureApplicationGatewayReasonTag) + end + end + describe 'test attribute "app_gw_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "app_gw_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "listener_port"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "paths"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_azure_load_balancer_reason_tag_spec.rb b/spec/models/types_azure_load_balancer_reason_tag_spec.rb new file mode 100644 index 00000000..482d496f --- /dev/null +++ b/spec/models/types_azure_load_balancer_reason_tag_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesAzureLoadBalancerReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesAzureLoadBalancerReasonTag do + let(:instance) { Falcon::TypesAzureLoadBalancerReasonTag.new } + + describe 'test an instance of TypesAzureLoadBalancerReasonTag' do + it 'should create an instance of TypesAzureLoadBalancerReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesAzureLoadBalancerReasonTag) + end + end + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "port"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vm_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_azure_site_metadata_spec.rb b/spec/models/types_azure_site_metadata_spec.rb new file mode 100644 index 00000000..ee2fbfe1 --- /dev/null +++ b/spec/models/types_azure_site_metadata_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesAzureSiteMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesAzureSiteMetadata do + let(:instance) { Falcon::TypesAzureSiteMetadata.new } + + describe 'test an instance of TypesAzureSiteMetadata' do + it 'should create an instance of TypesAzureSiteMetadata' do + expect(instance).to be_instance_of(Falcon::TypesAzureSiteMetadata) + end + end + describe 'test attribute "location"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_group"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "site_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "site_kind"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "site_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "subscription_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_azure_vm_metadata_spec.rb b/spec/models/types_azure_vm_metadata_spec.rb new file mode 100644 index 00000000..0c0fdc64 --- /dev/null +++ b/spec/models/types_azure_vm_metadata_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesAzureVmMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesAzureVmMetadata do + let(:instance) { Falcon::TypesAzureVmMetadata.new } + + describe 'test an instance of TypesAzureVmMetadata' do + it 'should create an instance of TypesAzureVmMetadata' do + expect(instance).to be_instance_of(Falcon::TypesAzureVmMetadata) + end + end + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "region"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_group"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "subscription_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vm_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_business_application_spec.rb b/spec/models/types_business_application_spec.rb new file mode 100644 index 00000000..7cfea11c --- /dev/null +++ b/spec/models/types_business_application_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesBusinessApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesBusinessApplication do + let(:instance) { Falcon::TypesBusinessApplication.new } + + describe 'test an instance of TypesBusinessApplication' do + it 'should create an instance of TypesBusinessApplication' do + expect(instance).to be_instance_of(Falcon::TypesBusinessApplication) + end + end + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_cloud_function_metadata_spec.rb b/spec/models/types_cloud_function_metadata_spec.rb new file mode 100644 index 00000000..18cf2f63 --- /dev/null +++ b/spec/models/types_cloud_function_metadata_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesCloudFunctionMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesCloudFunctionMetadata do + let(:instance) { Falcon::TypesCloudFunctionMetadata.new } + + describe 'test an instance of TypesCloudFunctionMetadata' do + it 'should create an instance of TypesCloudFunctionMetadata' do + expect(instance).to be_instance_of(Falcon::TypesCloudFunctionMetadata) + end + end + describe 'test attribute "function_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_composed_schedule_spec.rb b/spec/models/types_composed_schedule_spec.rb new file mode 100644 index 00000000..4439d406 --- /dev/null +++ b/spec/models/types_composed_schedule_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesComposedSchedule +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesComposedSchedule do + let(:instance) { Falcon::TypesComposedSchedule.new } + + describe 'test an instance of TypesComposedSchedule' do + it 'should create an instance of TypesComposedSchedule' do + expect(instance).to be_instance_of(Falcon::TypesComposedSchedule) + end + end + describe 'test attribute "every"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "every_unit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "hour"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "minute"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_time_timezone_offset_minutes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "start_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "timezone"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "weekdays"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_configuration_spec.rb b/spec/models/types_configuration_spec.rb new file mode 100644 index 00000000..3fa3c854 --- /dev/null +++ b/spec/models/types_configuration_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesConfiguration +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesConfiguration do + let(:instance) { Falcon::TypesConfiguration.new } + + describe 'test an instance of TypesConfiguration' do + it 'should create an instance of TypesConfiguration' do + expect(instance).to be_instance_of(Falcon::TypesConfiguration) + end + end + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "secret_manager"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_create_integration_request_spec.rb b/spec/models/types_create_integration_request_spec.rb new file mode 100644 index 00000000..6134a694 --- /dev/null +++ b/spec/models/types_create_integration_request_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesCreateIntegrationRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesCreateIntegrationRequest do + let(:instance) { Falcon::TypesCreateIntegrationRequest.new } + + describe 'test an instance of TypesCreateIntegrationRequest' do + it 'should create an instance of TypesCreateIntegrationRequest' do + expect(instance).to be_instance_of(Falcon::TypesCreateIntegrationRequest) + end + end + describe 'test attribute "integration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_create_integration_task_request_spec.rb b/spec/models/types_create_integration_task_request_spec.rb new file mode 100644 index 00000000..471ae35d --- /dev/null +++ b/spec/models/types_create_integration_task_request_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesCreateIntegrationTaskRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesCreateIntegrationTaskRequest do + let(:instance) { Falcon::TypesCreateIntegrationTaskRequest.new } + + describe 'test an instance of TypesCreateIntegrationTaskRequest' do + it 'should create an instance of TypesCreateIntegrationTaskRequest' do + expect(instance).to be_instance_of(Falcon::TypesCreateIntegrationTaskRequest) + end + end + describe 'test attribute "integration_task"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_crowd_strike_cloud_security_metadata_spec.rb b/spec/models/types_crowd_strike_cloud_security_metadata_spec.rb new file mode 100644 index 00000000..d6d1d61e --- /dev/null +++ b/spec/models/types_crowd_strike_cloud_security_metadata_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesCrowdStrikeCloudSecurityMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesCrowdStrikeCloudSecurityMetadata do + let(:instance) { Falcon::TypesCrowdStrikeCloudSecurityMetadata.new } + + describe 'test an instance of TypesCrowdStrikeCloudSecurityMetadata' do + it 'should create an instance of TypesCrowdStrikeCloudSecurityMetadata' do + expect(instance).to be_instance_of(Falcon::TypesCrowdStrikeCloudSecurityMetadata) + end + end + describe 'test attribute "base_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "client_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cloud_provider"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "iom_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "policy_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_data_type_db_reason_tag_spec.rb b/spec/models/types_data_type_db_reason_tag_spec.rb new file mode 100644 index 00000000..7fe78577 --- /dev/null +++ b/spec/models/types_data_type_db_reason_tag_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesDataTypeDbReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesDataTypeDbReasonTag do + let(:instance) { Falcon::TypesDataTypeDbReasonTag.new } + + describe 'test an instance of TypesDataTypeDbReasonTag' do + it 'should create an instance of TypesDataTypeDbReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesDataTypeDbReasonTag) + end + end + describe 'test attribute "column_names"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "table_names"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_data_type_mq_reason_tag_spec.rb b/spec/models/types_data_type_mq_reason_tag_spec.rb new file mode 100644 index 00000000..f78d611e --- /dev/null +++ b/spec/models/types_data_type_mq_reason_tag_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesDataTypeMqReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesDataTypeMqReasonTag do + let(:instance) { Falcon::TypesDataTypeMqReasonTag.new } + + describe 'test an instance of TypesDataTypeMqReasonTag' do + it 'should create an instance of TypesDataTypeMqReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesDataTypeMqReasonTag) + end + end + describe 'test attribute "source"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "topic_names"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_dependency_spec.rb b/spec/models/types_dependency_spec.rb new file mode 100644 index 00000000..c2df43b1 --- /dev/null +++ b/spec/models/types_dependency_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesDependency +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesDependency do + let(:instance) { Falcon::TypesDependency.new } + + describe 'test an instance of TypesDependency' do + it 'should create an instance of TypesDependency' do + expect(instance).to be_instance_of(Falcon::TypesDependency) + end + end + describe 'test attribute "connection_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "direction"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "interface_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "network_interface_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "port"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "real_interface_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "technology_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_deployment_unit_descriptor_spec.rb b/spec/models/types_deployment_unit_descriptor_spec.rb new file mode 100644 index 00000000..79379d73 --- /dev/null +++ b/spec/models/types_deployment_unit_descriptor_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesDeploymentUnitDescriptor +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesDeploymentUnitDescriptor do + let(:instance) { Falcon::TypesDeploymentUnitDescriptor.new } + + describe 'test an instance of TypesDeploymentUnitDescriptor' do + it 'should create an instance of TypesDeploymentUnitDescriptor' do + expect(instance).to be_instance_of(Falcon::TypesDeploymentUnitDescriptor) + end + end + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "related_services"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "unique_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_deployment_unit_service_spec.rb b/spec/models/types_deployment_unit_service_spec.rb new file mode 100644 index 00000000..d2dba272 --- /dev/null +++ b/spec/models/types_deployment_unit_service_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesDeploymentUnitService +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesDeploymentUnitService do + let(:instance) { Falcon::TypesDeploymentUnitService.new } + + describe 'test an instance of TypesDeploymentUnitService' do + it 'should create an instance of TypesDeploymentUnitService' do + expect(instance).to be_instance_of(Falcon::TypesDeploymentUnitService) + end + end + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "persistent_signature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_deployment_units_tuple_filters_spec.rb b/spec/models/types_deployment_units_tuple_filters_spec.rb new file mode 100644 index 00000000..80acf3bf --- /dev/null +++ b/spec/models/types_deployment_units_tuple_filters_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesDeploymentUnitsTupleFilters +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesDeploymentUnitsTupleFilters do + let(:instance) { Falcon::TypesDeploymentUnitsTupleFilters.new } + + describe 'test an instance of TypesDeploymentUnitsTupleFilters' do + it 'should create an instance of TypesDeploymentUnitsTupleFilters' do + expect(instance).to be_instance_of(Falcon::TypesDeploymentUnitsTupleFilters) + end + end + describe 'test attribute "excludes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "includes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_ec2_metadata_spec.rb b/spec/models/types_ec2_metadata_spec.rb new file mode 100644 index 00000000..120177a1 --- /dev/null +++ b/spec/models/types_ec2_metadata_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesEC2Metadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesEC2Metadata do + let(:instance) { Falcon::TypesEC2Metadata.new } + + describe 'test an instance of TypesEC2Metadata' do + it 'should create an instance of TypesEC2Metadata' do + expect(instance).to be_instance_of(Falcon::TypesEC2Metadata) + end + end + describe 'test attribute "instance_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "instance_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_ecs_metadata_spec.rb b/spec/models/types_ecs_metadata_spec.rb new file mode 100644 index 00000000..88df7b02 --- /dev/null +++ b/spec/models/types_ecs_metadata_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesECSMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesECSMetadata do + let(:instance) { Falcon::TypesECSMetadata.new } + + describe 'test an instance of TypesECSMetadata' do + it 'should create an instance of TypesECSMetadata' do + expect(instance).to be_instance_of(Falcon::TypesECSMetadata) + end + end + describe 'test attribute "cluster_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "collection_method"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_arn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "resource_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_edit_tag_request_spec.rb b/spec/models/types_edit_tag_request_spec.rb new file mode 100644 index 00000000..d98f0771 --- /dev/null +++ b/spec/models/types_edit_tag_request_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesEditTagRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesEditTagRequest do + let(:instance) { Falcon::TypesEditTagRequest.new } + + describe 'test an instance of TypesEditTagRequest' do + it 'should create an instance of TypesEditTagRequest' do + expect(instance).to be_instance_of(Falcon::TypesEditTagRequest) + end + end + describe 'test attribute "entries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_edit_unique_tag_request_spec.rb b/spec/models/types_edit_unique_tag_request_spec.rb new file mode 100644 index 00000000..b8bd1fa6 --- /dev/null +++ b/spec/models/types_edit_unique_tag_request_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesEditUniqueTagRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesEditUniqueTagRequest do + let(:instance) { Falcon::TypesEditUniqueTagRequest.new } + + describe 'test an instance of TypesEditUniqueTagRequest' do + it 'should create an instance of TypesEditUniqueTagRequest' do + expect(instance).to be_instance_of(Falcon::TypesEditUniqueTagRequest) + end + end + describe 'test attribute "entries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_error_message_spec.rb b/spec/models/types_error_message_spec.rb new file mode 100644 index 00000000..d77f6075 --- /dev/null +++ b/spec/models/types_error_message_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesErrorMessage +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesErrorMessage do + let(:instance) { Falcon::TypesErrorMessage.new } + + describe 'test an instance of TypesErrorMessage' do + it 'should create an instance of TypesErrorMessage' do + expect(instance).to be_instance_of(Falcon::TypesErrorMessage) + end + end + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_executor_node_spec.rb b/spec/models/types_executor_node_spec.rb new file mode 100644 index 00000000..f60675f2 --- /dev/null +++ b/spec/models/types_executor_node_spec.rb @@ -0,0 +1,123 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesExecutorNode +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesExecutorNode do + let(:instance) { Falcon::TypesExecutorNode.new } + + describe 'test an instance of TypesExecutorNode' do + it 'should create an instance of TypesExecutorNode' do + expect(instance).to be_instance_of(Falcon::TypesExecutorNode) + end + end + describe 'test attribute "additional_header"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "current_aws_arn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dashboard_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "last_health_check"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "node_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "password"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pod_settings"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "proxy_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "use_jobs"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "username"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_framework_spec.rb b/spec/models/types_framework_spec.rb new file mode 100644 index 00000000..6eae89b3 --- /dev/null +++ b/spec/models/types_framework_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesFramework +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesFramework do + let(:instance) { Falcon::TypesFramework.new } + + describe 'test an instance of TypesFramework' do + it 'should create an instance of TypesFramework' do + expect(instance).to be_instance_of(Falcon::TypesFramework) + end + end + describe 'test attribute "accessing_elements"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "domain"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_gcp_metadata_spec.rb b/spec/models/types_gcp_metadata_spec.rb new file mode 100644 index 00000000..66305ad3 --- /dev/null +++ b/spec/models/types_gcp_metadata_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesGCPMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesGCPMetadata do + let(:instance) { Falcon::TypesGCPMetadata.new } + + describe 'test an instance of TypesGCPMetadata' do + it 'should create an instance of TypesGCPMetadata' do + expect(instance).to be_instance_of(Falcon::TypesGCPMetadata) + end + end + describe 'test attribute "project"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "region"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_generic_user_facing_request_spec.rb b/spec/models/types_generic_user_facing_request_spec.rb new file mode 100644 index 00000000..a9df5814 --- /dev/null +++ b/spec/models/types_generic_user_facing_request_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesGenericUserFacingRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesGenericUserFacingRequest do + let(:instance) { Falcon::TypesGenericUserFacingRequest.new } + + describe 'test an instance of TypesGenericUserFacingRequest' do + it 'should create an instance of TypesGenericUserFacingRequest' do + expect(instance).to be_instance_of(Falcon::TypesGenericUserFacingRequest) + end + end + describe 'test attribute "filter"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "optional_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "revision_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_get_services_related_entity_filters_spec.rb b/spec/models/types_get_services_related_entity_filters_spec.rb new file mode 100644 index 00000000..368919db --- /dev/null +++ b/spec/models/types_get_services_related_entity_filters_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesGetServicesRelatedEntityFilters +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesGetServicesRelatedEntityFilters do + let(:instance) { Falcon::TypesGetServicesRelatedEntityFilters.new } + + describe 'test an instance of TypesGetServicesRelatedEntityFilters' do + it 'should create an instance of TypesGetServicesRelatedEntityFilters' do + expect(instance).to be_instance_of(Falcon::TypesGetServicesRelatedEntityFilters) + end + end + describe 'test attribute "include_du_services"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "only_du_types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "only_get_brokers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_get_services_related_entity_group_by_fields_spec.rb b/spec/models/types_get_services_related_entity_group_by_fields_spec.rb new file mode 100644 index 00000000..2b30c198 --- /dev/null +++ b/spec/models/types_get_services_related_entity_group_by_fields_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesGetServicesRelatedEntityGroupByFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesGetServicesRelatedEntityGroupByFields do + let(:instance) { Falcon::TypesGetServicesRelatedEntityGroupByFields.new } + + describe 'test an instance of TypesGetServicesRelatedEntityGroupByFields' do + it 'should create an instance of TypesGetServicesRelatedEntityGroupByFields' do + expect(instance).to be_instance_of(Falcon::TypesGetServicesRelatedEntityGroupByFields) + end + end + describe 'test attribute "fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_get_services_related_entity_spec.rb b/spec/models/types_get_services_related_entity_spec.rb new file mode 100644 index 00000000..e1197e9f --- /dev/null +++ b/spec/models/types_get_services_related_entity_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesGetServicesRelatedEntity +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesGetServicesRelatedEntity do + let(:instance) { Falcon::TypesGetServicesRelatedEntity.new } + + describe 'test an instance of TypesGetServicesRelatedEntity' do + it 'should create an instance of TypesGetServicesRelatedEntity' do + expect(instance).to be_instance_of(Falcon::TypesGetServicesRelatedEntity) + end + end + describe 'test attribute "aggregation_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "entity_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "filters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "group_by_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_get_services_request_spec.rb b/spec/models/types_get_services_request_spec.rb new file mode 100644 index 00000000..03b1e088 --- /dev/null +++ b/spec/models/types_get_services_request_spec.rb @@ -0,0 +1,105 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesGetServicesRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesGetServicesRequest do + let(:instance) { Falcon::TypesGetServicesRequest.new } + + describe 'test an instance of TypesGetServicesRequest' do + it 'should create an instance of TypesGetServicesRequest' do + expect(instance).to be_instance_of(Falcon::TypesGetServicesRequest) + end + end + describe 'test attribute "deployment_tuple_filters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "nesting_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "only_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "optional_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pagination"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "persistent_signatures"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ql_filters"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "related_entities"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "revision_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "roles_signature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_get_violation_types_response_spec.rb b/spec/models/types_get_violation_types_response_spec.rb new file mode 100644 index 00000000..6753bce9 --- /dev/null +++ b/spec/models/types_get_violation_types_response_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesGetViolationTypesResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesGetViolationTypesResponse do + let(:instance) { Falcon::TypesGetViolationTypesResponse.new } + + describe 'test an instance of TypesGetViolationTypesResponse' do + it 'should create an instance of TypesGetViolationTypesResponse' do + expect(instance).to be_instance_of(Falcon::TypesGetViolationTypesResponse) + end + end + describe 'test attribute "categories"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "violations"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_host_metadata_spec.rb b/spec/models/types_host_metadata_spec.rb new file mode 100644 index 00000000..543cb587 --- /dev/null +++ b/spec/models/types_host_metadata_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesHostMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesHostMetadata do + let(:instance) { Falcon::TypesHostMetadata.new } + + describe 'test an instance of TypesHostMetadata' do + it 'should create an instance of TypesHostMetadata' do + expect(instance).to be_instance_of(Falcon::TypesHostMetadata) + end + end + describe 'test attribute "address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_integration_response_spec.rb b/spec/models/types_integration_response_spec.rb new file mode 100644 index 00000000..06bb4318 --- /dev/null +++ b/spec/models/types_integration_response_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesIntegrationResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesIntegrationResponse do + let(:instance) { Falcon::TypesIntegrationResponse.new } + + describe 'test an instance of TypesIntegrationResponse' do + it 'should create an instance of TypesIntegrationResponse' do + expect(instance).to be_instance_of(Falcon::TypesIntegrationResponse) + end + end + describe 'test attribute "integration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "new_executor_node"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_integration_spec.rb b/spec/models/types_integration_spec.rb new file mode 100644 index 00000000..709259d1 --- /dev/null +++ b/spec/models/types_integration_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesIntegration +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesIntegration do + let(:instance) { Falcon::TypesIntegration.new } + + describe 'test an instance of TypesIntegration' do + it 'should create an instance of TypesIntegration' do + expect(instance).to be_instance_of(Falcon::TypesIntegration) + end + end + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "node"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "update_time"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_integration_task_response_spec.rb b/spec/models/types_integration_task_response_spec.rb new file mode 100644 index 00000000..aa2c117d --- /dev/null +++ b/spec/models/types_integration_task_response_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesIntegrationTaskResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesIntegrationTaskResponse do + let(:instance) { Falcon::TypesIntegrationTaskResponse.new } + + describe 'test an instance of TypesIntegrationTaskResponse' do + it 'should create an instance of TypesIntegrationTaskResponse' do + expect(instance).to be_instance_of(Falcon::TypesIntegrationTaskResponse) + end + end + describe 'test attribute "integration_task"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "new_executor_node"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_integration_task_spec.rb b/spec/models/types_integration_task_spec.rb new file mode 100644 index 00000000..ec16051e --- /dev/null +++ b/spec/models/types_integration_task_spec.rb @@ -0,0 +1,141 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesIntegrationTask +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesIntegrationTask do + let(:instance) { Falcon::TypesIntegrationTask.new } + + describe 'test an instance of TypesIntegrationTask' do + it 'should create an instance of TypesIntegrationTask' do + expect(instance).to be_instance_of(Falcon::TypesIntegrationTask) + end + end + describe 'test attribute "access_token"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "additional_header"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "business_application"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "integration_task_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "latest_task_run"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "next_run"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "progress"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "schedule"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "schedule_every_unit_display_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "trigger"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_integration_task_test_connection_response_spec.rb b/spec/models/types_integration_task_test_connection_response_spec.rb new file mode 100644 index 00000000..90dfaee0 --- /dev/null +++ b/spec/models/types_integration_task_test_connection_response_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesIntegrationTaskTestConnectionResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesIntegrationTaskTestConnectionResponse do + let(:instance) { Falcon::TypesIntegrationTaskTestConnectionResponse.new } + + describe 'test an instance of TypesIntegrationTaskTestConnectionResponse' do + it 'should create an instance of TypesIntegrationTaskTestConnectionResponse' do + expect(instance).to be_instance_of(Falcon::TypesIntegrationTaskTestConnectionResponse) + end + end + describe 'test attribute "action_run_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_integration_task_type_spec.rb b/spec/models/types_integration_task_type_spec.rb new file mode 100644 index 00000000..9e438b71 --- /dev/null +++ b/spec/models/types_integration_task_type_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesIntegrationTaskType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesIntegrationTaskType do + let(:instance) { Falcon::TypesIntegrationTaskType.new } + + describe 'test an instance of TypesIntegrationTaskType' do + it 'should create an instance of TypesIntegrationTaskType' do + expect(instance).to be_instance_of(Falcon::TypesIntegrationTaskType) + end + end + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "required_integration_types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_integration_type_spec.rb b/spec/models/types_integration_type_spec.rb new file mode 100644 index 00000000..489f75fd --- /dev/null +++ b/spec/models/types_integration_type_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesIntegrationType +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesIntegrationType do + let(:instance) { Falcon::TypesIntegrationType.new } + + describe 'test an instance of TypesIntegrationType' do + it 'should create an instance of TypesIntegrationType' do + expect(instance).to be_instance_of(Falcon::TypesIntegrationType) + end + end + describe 'test attribute "configured"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "display_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_interface_service_spec.rb b/spec/models/types_interface_service_spec.rb new file mode 100644 index 00000000..6a790860 --- /dev/null +++ b/spec/models/types_interface_service_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesInterfaceService +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesInterfaceService do + let(:instance) { Falcon::TypesInterfaceService.new } + + describe 'test an instance of TypesInterfaceService' do + it 'should create an instance of TypesInterfaceService' do + expect(instance).to be_instance_of(Falcon::TypesInterfaceService) + end + end + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "persistent_signature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tags"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_interface_spec.rb b/spec/models/types_interface_spec.rb new file mode 100644 index 00000000..08d1e1e1 --- /dev/null +++ b/spec/models/types_interface_spec.rb @@ -0,0 +1,249 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesInterface +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesInterface do + let(:instance) { Falcon::TypesInterface.new } + + describe 'test an instance of TypesInterface' do + it 'should create an instance of TypesInterface' do + expect(instance).to be_instance_of(Falcon::TypesInterface) + end + end + describe 'test attribute "properties"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "accessing_methods"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bean_class_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "bean_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "broker_host"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "broker_port"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "catalog"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "columns"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "consumes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "database"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "direction"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "driver"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "durable_subscription"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ejb_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "framework"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "has_password"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "interface_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "method"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "port"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "port_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "produces"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "provider"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pu_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "schema"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "services"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "session_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "table"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "technology"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "topic"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "topic_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "username"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_k8_s_load_balancer_reason_tag_spec.rb b/spec/models/types_k8_s_load_balancer_reason_tag_spec.rb new file mode 100644 index 00000000..eab55f24 --- /dev/null +++ b/spec/models/types_k8_s_load_balancer_reason_tag_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesK8SLoadBalancerReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesK8SLoadBalancerReasonTag do + let(:instance) { Falcon::TypesK8SLoadBalancerReasonTag.new } + + describe 'test an instance of TypesK8SLoadBalancerReasonTag' do + it 'should create an instance of TypesK8SLoadBalancerReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesK8SLoadBalancerReasonTag) + end + end + describe 'test attribute "lb_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "path"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ports"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_k8_s_metadata_spec.rb b/spec/models/types_k8_s_metadata_spec.rb new file mode 100644 index 00000000..70863795 --- /dev/null +++ b/spec/models/types_k8_s_metadata_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesK8SMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesK8SMetadata do + let(:instance) { Falcon::TypesK8SMetadata.new } + + describe 'test an instance of TypesK8SMetadata' do + it 'should create an instance of TypesK8SMetadata' do + expect(instance).to be_instance_of(Falcon::TypesK8SMetadata) + end + end + describe 'test attribute "container"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "namespace"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pod_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_k8_s_pod_settings_spec.rb b/spec/models/types_k8_s_pod_settings_spec.rb new file mode 100644 index 00000000..b2babe24 --- /dev/null +++ b/spec/models/types_k8_s_pod_settings_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesK8SPodSettings +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesK8SPodSettings do + let(:instance) { Falcon::TypesK8SPodSettings.new } + + describe 'test an instance of TypesK8SPodSettings' do + it 'should create an instance of TypesK8SPodSettings' do + expect(instance).to be_instance_of(Falcon::TypesK8SPodSettings) + end + end + describe 'test attribute "image_address"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "image_pull_secrets"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "pod_labels"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_key_value_spec.rb b/spec/models/types_key_value_spec.rb new file mode 100644 index 00000000..da5088dd --- /dev/null +++ b/spec/models/types_key_value_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesKeyValue +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesKeyValue do + let(:instance) { Falcon::TypesKeyValue.new } + + describe 'test an instance of TypesKeyValue' do + it 'should create an instance of TypesKeyValue' do + expect(instance).to be_instance_of(Falcon::TypesKeyValue) + end + end + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_lambda_metadata_spec.rb b/spec/models/types_lambda_metadata_spec.rb new file mode 100644 index 00000000..7152af36 --- /dev/null +++ b/spec/models/types_lambda_metadata_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesLambdaMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesLambdaMetadata do + let(:instance) { Falcon::TypesLambdaMetadata.new } + + describe 'test an instance of TypesLambdaMetadata' do + it 'should create an instance of TypesLambdaMetadata' do + expect(instance).to be_instance_of(Falcon::TypesLambdaMetadata) + end + end + describe 'test attribute "lambda_arn"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "lambda_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_library_spec.rb b/spec/models/types_library_spec.rb new file mode 100644 index 00000000..bae45711 --- /dev/null +++ b/spec/models/types_library_spec.rb @@ -0,0 +1,87 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesLibrary +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesLibrary do + let(:instance) { Falcon::TypesLibrary.new } + + describe 'test an instance of TypesLibrary' do + it 'should create an instance of TypesLibrary' do + expect(instance).to be_instance_of(Falcon::TypesLibrary) + end + end + describe 'test attribute "full_paths"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "group"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_reachable"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "usage_level"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_list_executor_nodes_response_spec.rb b/spec/models/types_list_executor_nodes_response_spec.rb new file mode 100644 index 00000000..589a5e5d --- /dev/null +++ b/spec/models/types_list_executor_nodes_response_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesListExecutorNodesResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesListExecutorNodesResponse do + let(:instance) { Falcon::TypesListExecutorNodesResponse.new } + + describe 'test an instance of TypesListExecutorNodesResponse' do + it 'should create an instance of TypesListExecutorNodesResponse' do + expect(instance).to be_instance_of(Falcon::TypesListExecutorNodesResponse) + end + end + describe 'test attribute "executor_nodes"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_list_integration_tasks_response_spec.rb b/spec/models/types_list_integration_tasks_response_spec.rb new file mode 100644 index 00000000..b6416190 --- /dev/null +++ b/spec/models/types_list_integration_tasks_response_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesListIntegrationTasksResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesListIntegrationTasksResponse do + let(:instance) { Falcon::TypesListIntegrationTasksResponse.new } + + describe 'test an instance of TypesListIntegrationTasksResponse' do + it 'should create an instance of TypesListIntegrationTasksResponse' do + expect(instance).to be_instance_of(Falcon::TypesListIntegrationTasksResponse) + end + end + describe 'test attribute "integration_tasks"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_list_integration_types_response_spec.rb b/spec/models/types_list_integration_types_response_spec.rb new file mode 100644 index 00000000..b551432c --- /dev/null +++ b/spec/models/types_list_integration_types_response_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesListIntegrationTypesResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesListIntegrationTypesResponse do + let(:instance) { Falcon::TypesListIntegrationTypesResponse.new } + + describe 'test an instance of TypesListIntegrationTypesResponse' do + it 'should create an instance of TypesListIntegrationTypesResponse' do + expect(instance).to be_instance_of(Falcon::TypesListIntegrationTypesResponse) + end + end + describe 'test attribute "types"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_list_integrations_response_spec.rb b/spec/models/types_list_integrations_response_spec.rb new file mode 100644 index 00000000..a672d8c1 --- /dev/null +++ b/spec/models/types_list_integrations_response_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesListIntegrationsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesListIntegrationsResponse do + let(:instance) { Falcon::TypesListIntegrationsResponse.new } + + describe 'test an instance of TypesListIntegrationsResponse' do + it 'should create an instance of TypesListIntegrationsResponse' do + expect(instance).to be_instance_of(Falcon::TypesListIntegrationsResponse) + end + end + describe 'test attribute "integrations"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_order_by_spec.rb b/spec/models/types_order_by_spec.rb new file mode 100644 index 00000000..709865a5 --- /dev/null +++ b/spec/models/types_order_by_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesOrderBy +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesOrderBy do + let(:instance) { Falcon::TypesOrderBy.new } + + describe 'test an instance of TypesOrderBy' do + it 'should create an instance of TypesOrderBy' do + expect(instance).to be_instance_of(Falcon::TypesOrderBy) + end + end + describe 'test attribute "by_field"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "direction"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_paginate_spec.rb b/spec/models/types_paginate_spec.rb new file mode 100644 index 00000000..d60e494f --- /dev/null +++ b/spec/models/types_paginate_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesPaginate +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesPaginate do + let(:instance) { Falcon::TypesPaginate.new } + + describe 'test an instance of TypesPaginate' do + it 'should create an instance of TypesPaginate' do + expect(instance).to be_instance_of(Falcon::TypesPaginate) + end + end + describe 'test attribute "direction"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "limit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "offset"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "order_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_pagination_spec.rb b/spec/models/types_pagination_spec.rb new file mode 100644 index 00000000..320c8f0b --- /dev/null +++ b/spec/models/types_pagination_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesPagination +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesPagination do + let(:instance) { Falcon::TypesPagination.new } + + describe 'test an instance of TypesPagination' do + it 'should create an instance of TypesPagination' do + expect(instance).to be_instance_of(Falcon::TypesPagination) + end + end + describe 'test attribute "direction"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "limit"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "offset"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "order_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/domain_vulnerability_report_spec.rb b/spec/models/types_policy_rules_condition_spec.rb similarity index 78% rename from spec/models/domain_vulnerability_report_spec.rb rename to spec/models/types_policy_rules_condition_spec.rb index da3b0b9f..77c6ed0a 100644 --- a/spec/models/domain_vulnerability_report_spec.rb +++ b/spec/models/types_policy_rules_condition_spec.rb @@ -31,24 +31,24 @@ require 'json' require 'date' -# Unit tests for Falcon::DomainVulnerabilityReport +# Unit tests for Falcon::TypesPolicyRulesCondition # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::DomainVulnerabilityReport do - let(:instance) { Falcon::DomainVulnerabilityReport.new } +describe Falcon::TypesPolicyRulesCondition do + let(:instance) { Falcon::TypesPolicyRulesCondition.new } - describe 'test an instance of DomainVulnerabilityReport' do - it 'should create an instance of DomainVulnerabilityReport' do - expect(instance).to be_instance_of(Falcon::DomainVulnerabilityReport) + describe 'test an instance of TypesPolicyRulesCondition' do + it 'should create an instance of TypesPolicyRulesCondition' do + expect(instance).to be_instance_of(Falcon::TypesPolicyRulesCondition) end end - describe 'test attribute "serial_id"' do + describe 'test attribute "exclude"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "title"' do + describe 'test attribute "include"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/types_policy_rules_create_body_spec.rb b/spec/models/types_policy_rules_create_body_spec.rb new file mode 100644 index 00000000..820c25d4 --- /dev/null +++ b/spec/models/types_policy_rules_create_body_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesPolicyRulesCreateBody +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesPolicyRulesCreateBody do + let(:instance) { Falcon::TypesPolicyRulesCreateBody.new } + + describe 'test an instance of TypesPolicyRulesCreateBody' do + it 'should create an instance of TypesPolicyRulesCreateBody' do + expect(instance).to be_instance_of(Falcon::TypesPolicyRulesCreateBody) + end + end + describe 'test attribute "action"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "activity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "destination"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "enabled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "simulation_mode"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source_endpoint"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "source_user"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "trigger"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_query_request_select_fields_spec.rb b/spec/models/types_query_request_select_fields_spec.rb new file mode 100644 index 00000000..1463bd0c --- /dev/null +++ b/spec/models/types_query_request_select_fields_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesQueryRequestSelectFields +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesQueryRequestSelectFields do + let(:instance) { Falcon::TypesQueryRequestSelectFields.new } + + describe 'test an instance of TypesQueryRequestSelectFields' do + it 'should create an instance of TypesQueryRequestSelectFields' do + expect(instance).to be_instance_of(Falcon::TypesQueryRequestSelectFields) + end + end + describe 'test attribute "fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "without_services"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_query_request_spec.rb b/spec/models/types_query_request_spec.rb new file mode 100644 index 00000000..df7bbd42 --- /dev/null +++ b/spec/models/types_query_request_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesQueryRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesQueryRequest do + let(:instance) { Falcon::TypesQueryRequest.new } + + describe 'test an instance of TypesQueryRequest' do + it 'should create an instance of TypesQueryRequest' do + expect(instance).to be_instance_of(Falcon::TypesQueryRequest) + end + end + describe 'test attribute "paginate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "query"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "select_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "timestamp"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_query_result_spec.rb b/spec/models/types_query_result_spec.rb new file mode 100644 index 00000000..606522f6 --- /dev/null +++ b/spec/models/types_query_result_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesQueryResult +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesQueryResult do + let(:instance) { Falcon::TypesQueryResult.new } + + describe 'test an instance of TypesQueryResult' do + it 'should create an instance of TypesQueryResult' do + expect(instance).to be_instance_of(Falcon::TypesQueryResult) + end + end + describe 'test attribute "result_json"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "result_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_reason_tag_spec.rb b/spec/models/types_reason_tag_spec.rb new file mode 100644 index 00000000..bfef0261 --- /dev/null +++ b/spec/models/types_reason_tag_spec.rb @@ -0,0 +1,105 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesReasonTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesReasonTag do + let(:instance) { Falcon::TypesReasonTag.new } + + describe 'test an instance of TypesReasonTag' do + it 'should create an instance of TypesReasonTag' do + expect(instance).to be_instance_of(Falcon::TypesReasonTag) + end + end + describe 'test attribute "aws_api_gateway_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "aws_elastic_ip_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "aws_lambda_api_gateway_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "aws_load_balancer_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "azure_application_gateway_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "azure_load_balancer_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "db_reason_tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "k8s_load_balancer_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mq_reason_tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_remediation_spec.rb b/spec/models/types_remediation_spec.rb new file mode 100644 index 00000000..7041f9b9 --- /dev/null +++ b/spec/models/types_remediation_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesRemediation +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesRemediation do + let(:instance) { Falcon::TypesRemediation.new } + + describe 'test an instance of TypesRemediation' do + it 'should create an instance of TypesRemediation' do + expect(instance).to be_instance_of(Falcon::TypesRemediation) + end + end + describe 'test attribute "content"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_results_filter_spec.rb b/spec/models/types_results_filter_spec.rb new file mode 100644 index 00000000..0c3de21a --- /dev/null +++ b/spec/models/types_results_filter_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesResultsFilter +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesResultsFilter do + let(:instance) { Falcon::TypesResultsFilter.new } + + describe 'test an instance of TypesResultsFilter' do + it 'should create an instance of TypesResultsFilter' do + expect(instance).to be_instance_of(Falcon::TypesResultsFilter) + end + end + describe 'test attribute "order_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "paginate"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_run_integration_task_request_spec.rb b/spec/models/types_run_integration_task_request_spec.rb new file mode 100644 index 00000000..f9470f44 --- /dev/null +++ b/spec/models/types_run_integration_task_request_spec.rb @@ -0,0 +1,81 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesRunIntegrationTaskRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesRunIntegrationTaskRequest do + let(:instance) { Falcon::TypesRunIntegrationTaskRequest.new } + + describe 'test an instance of TypesRunIntegrationTaskRequest' do + it 'should create an instance of TypesRunIntegrationTaskRequest' do + expect(instance).to be_instance_of(Falcon::TypesRunIntegrationTaskRequest) + end + end + describe 'test attribute "access_token"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "category"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "override"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "scheduled"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "task_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_now_deployment_spec.rb b/spec/models/types_service_now_deployment_spec.rb new file mode 100644 index 00000000..e450f494 --- /dev/null +++ b/spec/models/types_service_now_deployment_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceNowDeployment +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceNowDeployment do + let(:instance) { Falcon::TypesServiceNowDeployment.new } + + describe 'test an instance of TypesServiceNowDeployment' do + it 'should create an instance of TypesServiceNowDeployment' do + expect(instance).to be_instance_of(Falcon::TypesServiceNowDeployment) + end + end + describe 'test attribute "deployment_unit_descriptor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_now_deployments_response_spec.rb b/spec/models/types_service_now_deployments_response_spec.rb new file mode 100644 index 00000000..3fc7ce33 --- /dev/null +++ b/spec/models/types_service_now_deployments_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceNowDeploymentsResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceNowDeploymentsResponse do + let(:instance) { Falcon::TypesServiceNowDeploymentsResponse.new } + + describe 'test an instance of TypesServiceNowDeploymentsResponse' do + it 'should create an instance of TypesServiceNowDeploymentsResponse' do + expect(instance).to be_instance_of(Falcon::TypesServiceNowDeploymentsResponse) + end + end + describe 'test attribute "deployment_units"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_deployments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_now_service_data_spec.rb b/spec/models/types_service_now_service_data_spec.rb new file mode 100644 index 00000000..84f94786 --- /dev/null +++ b/spec/models/types_service_now_service_data_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceNowServiceData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceNowServiceData do + let(:instance) { Falcon::TypesServiceNowServiceData.new } + + describe 'test an instance of TypesServiceNowServiceData' do + it 'should create an instance of TypesServiceNowServiceData' do + expect(instance).to be_instance_of(Falcon::TypesServiceNowServiceData) + end + end + describe 'test attribute "service_now_service"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "apis"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "artifacts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "configurations"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dependencies"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "deployment_units"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "frameworks"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "libraries"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "topics_queues"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_now_service_deployments_spec.rb b/spec/models/types_service_now_service_deployments_spec.rb new file mode 100644 index 00000000..80213fa0 --- /dev/null +++ b/spec/models/types_service_now_service_deployments_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceNowServiceDeployments +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceNowServiceDeployments do + let(:instance) { Falcon::TypesServiceNowServiceDeployments.new } + + describe 'test an instance of TypesServiceNowServiceDeployments' do + it 'should create an instance of TypesServiceNowServiceDeployments' do + expect(instance).to be_instance_of(Falcon::TypesServiceNowServiceDeployments) + end + end + describe 'test attribute "deployments"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_now_service_spec.rb b/spec/models/types_service_now_service_spec.rb new file mode 100644 index 00000000..ae5e0da8 --- /dev/null +++ b/spec/models/types_service_now_service_spec.rb @@ -0,0 +1,183 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceNowService +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceNowService do + let(:instance) { Falcon::TypesServiceNowService.new } + + describe 'test an instance of TypesServiceNowService' do + it 'should create an instance of TypesServiceNowService' do + expect(instance).to be_instance_of(Falcon::TypesServiceNowService) + end + end + describe 'test attribute "application_server"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "business_applications"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "consumers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "datasource_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "dependencies"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "downstream_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "group_by"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "language_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "language_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mom_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "owner_department"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "owner_email"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "owner_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "persistent_signature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "properties"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tags"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "technology_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "updated_at"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "upstream_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_now_services_response_spec.rb b/spec/models/types_service_now_services_response_spec.rb new file mode 100644 index 00000000..61416613 --- /dev/null +++ b/spec/models/types_service_now_services_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceNowServicesResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceNowServicesResponse do + let(:instance) { Falcon::TypesServiceNowServicesResponse.new } + + describe 'test an instance of TypesServiceNowServicesResponse' do + it 'should create an instance of TypesServiceNowServicesResponse' do + expect(instance).to be_instance_of(Falcon::TypesServiceNowServicesResponse) + end + end + describe 'test attribute "error"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "services"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_services"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_service_artifact_spec.rb b/spec/models/types_service_service_artifact_spec.rb new file mode 100644 index 00000000..e57bd4a8 --- /dev/null +++ b/spec/models/types_service_service_artifact_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceServiceArtifact +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceServiceArtifact do + let(:instance) { Falcon::TypesServiceServiceArtifact.new } + + describe 'test an instance of TypesServiceServiceArtifact' do + it 'should create an instance of TypesServiceServiceArtifact' do + expect(instance).to be_instance_of(Falcon::TypesServiceServiceArtifact) + end + end + describe 'test attribute "count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_service_business_application_spec.rb b/spec/models/types_service_service_business_application_spec.rb new file mode 100644 index 00000000..0d0b8e78 --- /dev/null +++ b/spec/models/types_service_service_business_application_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceServiceBusinessApplication +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceServiceBusinessApplication do + let(:instance) { Falcon::TypesServiceServiceBusinessApplication.new } + + describe 'test an instance of TypesServiceServiceBusinessApplication' do + it 'should create an instance of TypesServiceServiceBusinessApplication' do + expect(instance).to be_instance_of(Falcon::TypesServiceServiceBusinessApplication) + end + end + describe 'test attribute "count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_service_configuration_spec.rb b/spec/models/types_service_service_configuration_spec.rb new file mode 100644 index 00000000..381bb08b --- /dev/null +++ b/spec/models/types_service_service_configuration_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceServiceConfiguration +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceServiceConfiguration do + let(:instance) { Falcon::TypesServiceServiceConfiguration.new } + + describe 'test an instance of TypesServiceServiceConfiguration' do + it 'should create an instance of TypesServiceServiceConfiguration' do + expect(instance).to be_instance_of(Falcon::TypesServiceServiceConfiguration) + end + end + describe 'test attribute "count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_service_dependency_spec.rb b/spec/models/types_service_service_dependency_spec.rb new file mode 100644 index 00000000..ec8104a6 --- /dev/null +++ b/spec/models/types_service_service_dependency_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceServiceDependency +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceServiceDependency do + let(:instance) { Falcon::TypesServiceServiceDependency.new } + + describe 'test an instance of TypesServiceServiceDependency' do + it 'should create an instance of TypesServiceServiceDependency' do + expect(instance).to be_instance_of(Falcon::TypesServiceServiceDependency) + end + end + describe 'test attribute "count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_service_framework_spec.rb b/spec/models/types_service_service_framework_spec.rb new file mode 100644 index 00000000..7b07d3d1 --- /dev/null +++ b/spec/models/types_service_service_framework_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceServiceFramework +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceServiceFramework do + let(:instance) { Falcon::TypesServiceServiceFramework.new } + + describe 'test an instance of TypesServiceServiceFramework' do + it 'should create an instance of TypesServiceServiceFramework' do + expect(instance).to be_instance_of(Falcon::TypesServiceServiceFramework) + end + end + describe 'test attribute "count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_service_interface_spec.rb b/spec/models/types_service_service_interface_spec.rb new file mode 100644 index 00000000..c551abb3 --- /dev/null +++ b/spec/models/types_service_service_interface_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceServiceInterface +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceServiceInterface do + let(:instance) { Falcon::TypesServiceServiceInterface.new } + + describe 'test an instance of TypesServiceServiceInterface' do + it 'should create an instance of TypesServiceServiceInterface' do + expect(instance).to be_instance_of(Falcon::TypesServiceServiceInterface) + end + end + describe 'test attribute "count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_service_library_spec.rb b/spec/models/types_service_service_library_spec.rb new file mode 100644 index 00000000..56d4d85e --- /dev/null +++ b/spec/models/types_service_service_library_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceServiceLibrary +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceServiceLibrary do + let(:instance) { Falcon::TypesServiceServiceLibrary.new } + + describe 'test an instance of TypesServiceServiceLibrary' do + it 'should create an instance of TypesServiceServiceLibrary' do + expect(instance).to be_instance_of(Falcon::TypesServiceServiceLibrary) + end + end + describe 'test attribute "count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_service_tag_spec.rb b/spec/models/types_service_service_tag_spec.rb new file mode 100644 index 00000000..d36790eb --- /dev/null +++ b/spec/models/types_service_service_tag_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceServiceTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceServiceTag do + let(:instance) { Falcon::TypesServiceServiceTag.new } + + describe 'test an instance of TypesServiceServiceTag' do + it 'should create an instance of TypesServiceServiceTag' do + expect(instance).to be_instance_of(Falcon::TypesServiceServiceTag) + end + end + describe 'test attribute "count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_service_service_traits_spec.rb b/spec/models/types_service_service_traits_spec.rb new file mode 100644 index 00000000..d589f52c --- /dev/null +++ b/spec/models/types_service_service_traits_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesServiceServiceTraits +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesServiceServiceTraits do + let(:instance) { Falcon::TypesServiceServiceTraits.new } + + describe 'test an instance of TypesServiceServiceTraits' do + it 'should create an instance of TypesServiceServiceTraits' do + expect(instance).to be_instance_of(Falcon::TypesServiceServiceTraits) + end + end + describe 'test attribute "count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "items"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_snyk_metadata_spec.rb b/spec/models/types_snyk_metadata_spec.rb new file mode 100644 index 00000000..4ea2c6e3 --- /dev/null +++ b/spec/models/types_snyk_metadata_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesSnykMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesSnykMetadata do + let(:instance) { Falcon::TypesSnykMetadata.new } + + describe 'test an instance of TypesSnykMetadata' do + it 'should create an instance of TypesSnykMetadata' do + expect(instance).to be_instance_of(Falcon::TypesSnykMetadata) + end + end + describe 'test attribute "api_endpoint_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "app_endpoint_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "group_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_sonatype_metadata_spec.rb b/spec/models/types_sonatype_metadata_spec.rb new file mode 100644 index 00000000..295d8f0d --- /dev/null +++ b/spec/models/types_sonatype_metadata_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesSonatypeMetadata +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesSonatypeMetadata do + let(:instance) { Falcon::TypesSonatypeMetadata.new } + + describe 'test an instance of TypesSonatypeMetadata' do + it 'should create an instance of TypesSonatypeMetadata' do + expect(instance).to be_instance_of(Falcon::TypesSonatypeMetadata) + end + end + describe 'test attribute "cveid"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "application_public_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "component_name_version"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "iq_server_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/v2_condition_parameters_spec.rb b/spec/models/types_struct_spec.rb similarity index 82% rename from spec/models/v2_condition_parameters_spec.rb rename to spec/models/types_struct_spec.rb index 93893753..a5772769 100644 --- a/spec/models/v2_condition_parameters_spec.rb +++ b/spec/models/types_struct_spec.rb @@ -31,15 +31,15 @@ require 'json' require 'date' -# Unit tests for Falcon::V2ConditionParameters +# Unit tests for Falcon::TypesStruct # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::V2ConditionParameters do - let(:instance) { Falcon::V2ConditionParameters.new } +describe Falcon::TypesStruct do + let(:instance) { Falcon::TypesStruct.new } - describe 'test an instance of V2ConditionParameters' do - it 'should create an instance of V2ConditionParameters' do - expect(instance).to be_instance_of(Falcon::V2ConditionParameters) + describe 'test an instance of TypesStruct' do + it 'should create an instance of TypesStruct' do + expect(instance).to be_instance_of(Falcon::TypesStruct) end end describe 'test attribute "fields"' do diff --git a/spec/models/types_tag_data_spec.rb b/spec/models/types_tag_data_spec.rb new file mode 100644 index 00000000..9410744e --- /dev/null +++ b/spec/models/types_tag_data_spec.rb @@ -0,0 +1,75 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesTagData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesTagData do + let(:instance) { Falcon::TypesTagData.new } + + describe 'test an instance of TypesTagData' do + it 'should create an instance of TypesTagData' do + expect(instance).to be_instance_of(Falcon::TypesTagData) + end + end + describe 'test attribute "automations"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "classifiers"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_default"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "service_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_tag_entry_spec.rb b/spec/models/types_tag_entry_spec.rb new file mode 100644 index 00000000..2117d584 --- /dev/null +++ b/spec/models/types_tag_entry_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesTagEntry +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesTagEntry do + let(:instance) { Falcon::TypesTagEntry.new } + + describe 'test an instance of TypesTagEntry' do + it 'should create an instance of TypesTagEntry' do + expect(instance).to be_instance_of(Falcon::TypesTagEntry) + end + end + describe 'test attribute "is_sensitive"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "persistent_signature"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_tag_spec.rb b/spec/models/types_tag_spec.rb new file mode 100644 index 00000000..fd72ee0e --- /dev/null +++ b/spec/models/types_tag_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesTag +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesTag do + let(:instance) { Falcon::TypesTag.new } + + describe 'test an instance of TypesTag' do + it 'should create an instance of TypesTag' do + expect(instance).to be_instance_of(Falcon::TypesTag) + end + end + describe 'test attribute "automated"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_default"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "is_sensitive"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "persistent_signatures"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reason_tag"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_tags_data_response_spec.rb b/spec/models/types_tags_data_response_spec.rb new file mode 100644 index 00000000..2e119ef3 --- /dev/null +++ b/spec/models/types_tags_data_response_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesTagsDataResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesTagsDataResponse do + let(:instance) { Falcon::TypesTagsDataResponse.new } + + describe 'test an instance of TypesTagsDataResponse' do + it 'should create an instance of TypesTagsDataResponse' do + expect(instance).to be_instance_of(Falcon::TypesTagsDataResponse) + end + end + describe 'test attribute "tags"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "total_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_timestamp_spec.rb b/spec/models/types_timestamp_spec.rb new file mode 100644 index 00000000..e078f5f0 --- /dev/null +++ b/spec/models/types_timestamp_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesTimestamp +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesTimestamp do + let(:instance) { Falcon::TypesTimestamp.new } + + describe 'test an instance of TypesTimestamp' do + it 'should create an instance of TypesTimestamp' do + expect(instance).to be_instance_of(Falcon::TypesTimestamp) + end + end + describe 'test attribute "nanos"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "seconds"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/msaspec_error_spec.rb b/spec/models/types_trait_spec.rb similarity index 83% rename from spec/models/msaspec_error_spec.rb rename to spec/models/types_trait_spec.rb index 2c545949..124e34c1 100644 --- a/spec/models/msaspec_error_spec.rb +++ b/spec/models/types_trait_spec.rb @@ -31,30 +31,30 @@ require 'json' require 'date' -# Unit tests for Falcon::MsaspecError +# Unit tests for Falcon::TypesTrait # Automatically generated by openapi-generator (https://openapi-generator.tech) # Please update as you see appropriate -describe Falcon::MsaspecError do - let(:instance) { Falcon::MsaspecError.new } +describe Falcon::TypesTrait do + let(:instance) { Falcon::TypesTrait.new } - describe 'test an instance of MsaspecError' do - it 'should create an instance of MsaspecError' do - expect(instance).to be_instance_of(Falcon::MsaspecError) + describe 'test an instance of TypesTrait' do + it 'should create an instance of TypesTrait' do + expect(instance).to be_instance_of(Falcon::TypesTrait) end end - describe 'test attribute "code"' do + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "id"' do + describe 'test attribute "name"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end - describe 'test attribute "message"' do + describe 'test attribute "value"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end diff --git a/spec/models/types_tuple_to_string_spec.rb b/spec/models/types_tuple_to_string_spec.rb new file mode 100644 index 00000000..abb4d035 --- /dev/null +++ b/spec/models/types_tuple_to_string_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesTupleToString +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesTupleToString do + let(:instance) { Falcon::TypesTupleToString.new } + + describe 'test an instance of TypesTupleToString' do + it 'should create an instance of TypesTupleToString' do + expect(instance).to be_instance_of(Falcon::TypesTupleToString) + end + end + describe 'test attribute "key"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_unique_tag_entry_spec.rb b/spec/models/types_unique_tag_entry_spec.rb new file mode 100644 index 00000000..c563b47f --- /dev/null +++ b/spec/models/types_unique_tag_entry_spec.rb @@ -0,0 +1,69 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesUniqueTagEntry +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesUniqueTagEntry do + let(:instance) { Falcon::TypesUniqueTagEntry.new } + + describe 'test an instance of TypesUniqueTagEntry' do + it 'should create an instance of TypesUniqueTagEntry' do + expect(instance).to be_instance_of(Falcon::TypesUniqueTagEntry) + end + end + describe 'test attribute "is_sensitive"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "tag_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "value"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_update_integration_request_spec.rb b/spec/models/types_update_integration_request_spec.rb new file mode 100644 index 00000000..97e7b288 --- /dev/null +++ b/spec/models/types_update_integration_request_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesUpdateIntegrationRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesUpdateIntegrationRequest do + let(:instance) { Falcon::TypesUpdateIntegrationRequest.new } + + describe 'test an instance of TypesUpdateIntegrationRequest' do + it 'should create an instance of TypesUpdateIntegrationRequest' do + expect(instance).to be_instance_of(Falcon::TypesUpdateIntegrationRequest) + end + end + describe 'test attribute "integration"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "overwrite_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_update_integration_task_request_spec.rb b/spec/models/types_update_integration_task_request_spec.rb new file mode 100644 index 00000000..5031bc1b --- /dev/null +++ b/spec/models/types_update_integration_task_request_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesUpdateIntegrationTaskRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesUpdateIntegrationTaskRequest do + let(:instance) { Falcon::TypesUpdateIntegrationTaskRequest.new } + + describe 'test an instance of TypesUpdateIntegrationTaskRequest' do + it 'should create an instance of TypesUpdateIntegrationTaskRequest' do + expect(instance).to be_instance_of(Falcon::TypesUpdateIntegrationTaskRequest) + end + end + describe 'test attribute "integration_task"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/types_upsert_business_application_request_spec.rb b/spec/models/types_upsert_business_application_request_spec.rb new file mode 100644 index 00000000..66061129 --- /dev/null +++ b/spec/models/types_upsert_business_application_request_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::TypesUpsertBusinessApplicationRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::TypesUpsertBusinessApplicationRequest do + let(:instance) { Falcon::TypesUpsertBusinessApplicationRequest.new } + + describe 'test an instance of TypesUpsertBusinessApplicationRequest' do + it 'should create an instance of TypesUpsertBusinessApplicationRequest' do + expect(instance).to be_instance_of(Falcon::TypesUpsertBusinessApplicationRequest) + end + end + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "persistent_signatures"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/v2_activity_spec.rb b/spec/models/v2_activity_spec.rb index b8edb859..816f6092 100644 --- a/spec/models/v2_activity_spec.rb +++ b/spec/models/v2_activity_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::V2Activity) end end + describe 'test attribute "_class"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "id"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/v2_condition_groups_spec.rb b/spec/models/v2_condition_groups_spec.rb new file mode 100644 index 00000000..508fcfb3 --- /dev/null +++ b/spec/models/v2_condition_groups_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::V2ConditionGroups +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::V2ConditionGroups do + let(:instance) { Falcon::V2ConditionGroups.new } + + describe 'test an instance of V2ConditionGroups' do + it 'should create an instance of V2ConditionGroups' do + expect(instance).to be_instance_of(Falcon::V2ConditionGroups) + end + end + describe 'test attribute "fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parameter_order"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/v2_condition_spec.rb b/spec/models/v2_condition_spec.rb index dd5e422a..99218869 100644 --- a/spec/models/v2_condition_spec.rb +++ b/spec/models/v2_condition_spec.rb @@ -42,6 +42,12 @@ expect(instance).to be_instance_of(Falcon::V2Condition) end end + describe 'test attribute "cel_expression"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "display"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/v2_definition_spec.rb b/spec/models/v2_definition_spec.rb index be70f791..933ba3b8 100644 --- a/spec/models/v2_definition_spec.rb +++ b/spec/models/v2_definition_spec.rb @@ -90,18 +90,36 @@ end end + describe 'test attribute "output_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "parameters"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "parent"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "provision_on_install"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ end end + describe 'test attribute "summary"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "trigger"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -120,4 +138,16 @@ end end + describe 'test attribute "use_cases"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vendors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/v2_for_loop_spec.rb b/spec/models/v2_for_loop_spec.rb index 6873399b..02309218 100644 --- a/spec/models/v2_for_loop_spec.rb +++ b/spec/models/v2_for_loop_spec.rb @@ -42,6 +42,18 @@ expect(instance).to be_instance_of(Falcon::V2ForLoop) end end + describe 'test attribute "condition"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "condition_display"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "continue_on_partial_execution"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ @@ -54,4 +66,22 @@ end end + describe 'test attribute "max_execution_seconds"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_iteration_count"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "sequential"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + end diff --git a/spec/models/v2_loop_spec.rb b/spec/models/v2_loop_spec.rb index 70561516..447fbb5e 100644 --- a/spec/models/v2_loop_spec.rb +++ b/spec/models/v2_loop_spec.rb @@ -54,6 +54,12 @@ end end + describe 'test attribute "display"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + describe 'test attribute "_for"' do it 'should work' do # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ diff --git a/spec/models/v2_model_spec.rb b/spec/models/v2_model_spec.rb new file mode 100644 index 00000000..b5a85e4c --- /dev/null +++ b/spec/models/v2_model_spec.rb @@ -0,0 +1,99 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::V2Model +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::V2Model do + let(:instance) { Falcon::V2Model.new } + + describe 'test an instance of V2Model' do + it 'should create an instance of V2Model' do + expect(instance).to be_instance_of(Falcon::V2Model) + end + end + describe 'test attribute "actions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "conditions"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "loops"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "node_registry"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "output_fields"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "parent"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "summary"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "trigger"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "uniq_node_seen"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_epss_spec.rb b/spec/models/vulncheck_epss_spec.rb new file mode 100644 index 00000000..4aa6dfba --- /dev/null +++ b/spec/models/vulncheck_epss_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckEPSS +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckEPSS do + let(:instance) { Falcon::VulncheckEPSS.new } + + describe 'test an instance of VulncheckEPSS' do + it 'should create an instance of VulncheckEPSS' do + expect(instance).to be_instance_of(Falcon::VulncheckEPSS) + end + end + describe 'test attribute "epss_percentile"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "epss_score"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_botnets_spec.rb b/spec/models/vulncheck_exploit_botnets_spec.rb new file mode 100644 index 00000000..98184a60 --- /dev/null +++ b/spec/models/vulncheck_exploit_botnets_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitBotnets +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitBotnets do + let(:instance) { Falcon::VulncheckExploitBotnets.new } + + describe 'test an instance of VulncheckExploitBotnets' do + it 'should create an instance of VulncheckExploitBotnets' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitBotnets) + end + end + describe 'test attribute "botnet_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cve_references"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "malpedia_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_counts_spec.rb b/spec/models/vulncheck_exploit_counts_spec.rb new file mode 100644 index 00000000..06f2bc68 --- /dev/null +++ b/spec/models/vulncheck_exploit_counts_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitCounts +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitCounts do + let(:instance) { Falcon::VulncheckExploitCounts.new } + + describe 'test an instance of VulncheckExploitCounts' do + it 'should create an instance of VulncheckExploitCounts' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitCounts) + end + end + describe 'test attribute "botnets"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploits"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "threat_actors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_cve_reference_spec.rb b/spec/models/vulncheck_exploit_cve_reference_spec.rb new file mode 100644 index 00000000..baf88cac --- /dev/null +++ b/spec/models/vulncheck_exploit_cve_reference_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitCVEReference +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitCVEReference do + let(:instance) { Falcon::VulncheckExploitCVEReference.new } + + describe 'test an instance of VulncheckExploitCVEReference' do + it 'should create an instance of VulncheckExploitCVEReference' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitCVEReference) + end + end + describe 'test attribute "cve"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "date_added"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_details_spec.rb b/spec/models/vulncheck_exploit_details_spec.rb new file mode 100644 index 00000000..28e44da2 --- /dev/null +++ b/spec/models/vulncheck_exploit_details_spec.rb @@ -0,0 +1,129 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitDetails +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitDetails do + let(:instance) { Falcon::VulncheckExploitDetails.new } + + describe 'test an instance of VulncheckExploitDetails' do + it 'should create an instance of VulncheckExploitDetails' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitDetails) + end + end + describe 'test attribute "botnets"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "counts"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "epss"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploit_found"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploits"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "max_exploit_maturity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ransomware"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reported_exploited_by_botnets"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reported_exploited_by_named_threat_actors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reported_exploited_by_ransomware"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reported_exploited_in_the_wild"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "threat_actors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "timeline"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "trending"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_ransomware_data_spec.rb b/spec/models/vulncheck_exploit_ransomware_data_spec.rb new file mode 100644 index 00000000..7e32e67b --- /dev/null +++ b/spec/models/vulncheck_exploit_ransomware_data_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitRansomwareData +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitRansomwareData do + let(:instance) { Falcon::VulncheckExploitRansomwareData.new } + + describe 'test an instance of VulncheckExploitRansomwareData' do + it 'should create an instance of VulncheckExploitRansomwareData' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitRansomwareData) + end + end + describe 'test attribute "date_added"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_ransomware_spec.rb b/spec/models/vulncheck_exploit_ransomware_spec.rb new file mode 100644 index 00000000..7a4f31d7 --- /dev/null +++ b/spec/models/vulncheck_exploit_ransomware_spec.rb @@ -0,0 +1,57 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitRansomware +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitRansomware do + let(:instance) { Falcon::VulncheckExploitRansomware.new } + + describe 'test an instance of VulncheckExploitRansomware' do + it 'should create an instance of VulncheckExploitRansomware' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitRansomware) + end + end + describe 'test attribute "ransomware_families"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "reference_data"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_record_spec.rb b/spec/models/vulncheck_exploit_record_spec.rb new file mode 100644 index 00000000..5acd08c1 --- /dev/null +++ b/spec/models/vulncheck_exploit_record_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitRecord +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitRecord do + let(:instance) { Falcon::VulncheckExploitRecord.new } + + describe 'test an instance of VulncheckExploitRecord' do + it 'should create an instance of VulncheckExploitRecord' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitRecord) + end + end + describe 'test attribute "cve"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "date_added"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploit_availability"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploit_maturity"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "exploit_type"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "refsource"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_threat_actor_spec.rb b/spec/models/vulncheck_exploit_threat_actor_spec.rb new file mode 100644 index 00000000..abc5980e --- /dev/null +++ b/spec/models/vulncheck_exploit_threat_actor_spec.rb @@ -0,0 +1,93 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitThreatActor +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitThreatActor do + let(:instance) { Falcon::VulncheckExploitThreatActor.new } + + describe 'test an instance of VulncheckExploitThreatActor' do + it 'should create an instance of VulncheckExploitThreatActor' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitThreatActor) + end + end + describe 'test attribute "cve_references"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "malpedia_url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "misp_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "misp_threat_actor_names"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mitre_id"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "mitre_threat_actor_names"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "threat_actor_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vendor_names_for_threat_actors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_timeline_spec.rb b/spec/models/vulncheck_exploit_timeline_spec.rb new file mode 100644 index 00000000..3a59dca8 --- /dev/null +++ b/spec/models/vulncheck_exploit_timeline_spec.rb @@ -0,0 +1,123 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitTimeline +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitTimeline do + let(:instance) { Falcon::VulncheckExploitTimeline.new } + + describe 'test an instance of VulncheckExploitTimeline' do + it 'should create an instance of VulncheckExploitTimeline' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitTimeline) + end + end + describe 'test attribute "cisa_kev_date_added"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "cisa_kev_date_due"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_exploit_poc_or_higher"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_exploit_published"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_exploit_weaponized_or_higher"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_reported_botnet"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_reported_ransomware"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "first_reported_threat_actor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "most_recent_exploit_published"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "most_recent_reported_botnet"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "most_recent_reported_ransomware"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "most_recent_reported_threat_actor"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "nvd_published"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_exploit_trending_spec.rb b/spec/models/vulncheck_exploit_trending_spec.rb new file mode 100644 index 00000000..5b1e1e7b --- /dev/null +++ b/spec/models/vulncheck_exploit_trending_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckExploitTrending +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckExploitTrending do + let(:instance) { Falcon::VulncheckExploitTrending.new } + + describe 'test an instance of VulncheckExploitTrending' do + it 'should create an instance of VulncheckExploitTrending' do + expect(instance).to be_instance_of(Falcon::VulncheckExploitTrending) + end + end + describe 'test attribute "github"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/vulncheck_threat_actor_vendor_name_spec.rb b/spec/models/vulncheck_threat_actor_vendor_name_spec.rb new file mode 100644 index 00000000..64f1a8a4 --- /dev/null +++ b/spec/models/vulncheck_threat_actor_vendor_name_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::VulncheckThreatActorVendorName +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::VulncheckThreatActorVendorName do + let(:instance) { Falcon::VulncheckThreatActorVendorName.new } + + describe 'test an instance of VulncheckThreatActorVendorName' do + it 'should create an instance of VulncheckThreatActorVendorName' do + expect(instance).to be_instance_of(Falcon::VulncheckThreatActorVendorName) + end + end + describe 'test attribute "threat_actor_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "url"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "vendor_name"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/workflow_request_spec.rb b/spec/models/workflow_request_spec.rb new file mode 100644 index 00000000..e5004333 --- /dev/null +++ b/spec/models/workflow_request_spec.rb @@ -0,0 +1,51 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::WorkflowRequest +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::WorkflowRequest do + let(:instance) { Falcon::WorkflowRequest.new } + + describe 'test an instance of WorkflowRequest' do + it 'should create an instance of WorkflowRequest' do + expect(instance).to be_instance_of(Falcon::WorkflowRequest) + end + end + describe 'test attribute "ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end diff --git a/spec/models/workflow_response_spec.rb b/spec/models/workflow_response_spec.rb new file mode 100644 index 00000000..882db07b --- /dev/null +++ b/spec/models/workflow_response_spec.rb @@ -0,0 +1,63 @@ +=begin +Crimson Falcon - Ruby Client SDK + +Code auto-generated by OpenAPI Generator; DO NOT EDIT. + +MIT License + +Copyright (c) 2023 Crowdstrike + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +=end + +require 'spec_helper' +require 'json' +require 'date' + +# Unit tests for Falcon::WorkflowResponse +# Automatically generated by openapi-generator (https://openapi-generator.tech) +# Please update as you see appropriate +describe Falcon::WorkflowResponse do + let(:instance) { Falcon::WorkflowResponse.new } + + describe 'test an instance of WorkflowResponse' do + it 'should create an instance of WorkflowResponse' do + expect(instance).to be_instance_of(Falcon::WorkflowResponse) + end + end + describe 'test attribute "errors"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "ids"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + + describe 'test attribute "meta"' do + it 'should work' do + # assertion here. ref: https://rspec.info/features/3-12/rspec-expectations/built-in-matchers/ + end + end + +end